- Lout
Infobox_Software
name = Lout
caption =
developer = Jeffrey H. Kingston
latest_release_version = 3.36
latest_release_date =August 3 ,2007
operating_system =Linux , MS-Windows,POSIX compliant systems
genre =Text formatting
license = GPL
website = http://lout.sourceforge.netLout is a batch document formatter invented by Jeffrey H. Kingston. It reads a high-level description of a document similar in style to
LaTeX and produces aPostScript file which can be printed on most printers.Plain text andPDF output are also available. The term Lout primarily designates a document formatting programming language, while the (only) implementation of the language (by Jeffrey H. Kingston) is sometimes referred to as Basser Lout. Basser Lout isfree software , distributed under the terms of theGNU General Public License .Lout copies some of its formatting algorithms from
TeX but is intended to be much easier to program due to the use of high-levelfunctional programming language, instead of a macro language.While a usable set of
LaTeX modules together withTeX binaries takes from 50 to 300 MB, Lout is about 1 MB.Lout comes with an easy-to-read user guide, and the basics can be learnt in a couple of hours.It includes packages for creating tables, charts, equations, and diagrams, so you have pretty well everything in one package "out of the box". Lout is useful for creatingreports and books and gives very precise control over typesetting. Its main disadvantages are that it canonly produce
PostScript and there is no easy way to get XML or any other output format (apart from plain text).A lout is also a noun defined by the Cambridge dictionary as 'a young man who behaves in a very rude, offensive and sometimes violent way'.
Document formatting with Lout
While the core of the Lout programming language provides only low-level operations, similar to that of
TeX , the packages that come with Basser Lout provide a complete high-levelmarkup language that users may use directly to produce documents, in a way that is similar toLaTeX .A very simple Lout document may look like this:
# This is a comment. # Use the `doc' document class and its default style. @SysInclude { doc } @Document @InitialFont { Times Base 10p } // # Beginning of document contents. @Text @Begin @PP This is a paragraph. One can easily embed @B { bold } or @I { italic } text. One can also easily change the style of text, such as { Helvetica Base } @Font { changing the font being used }. @BeginSections @Section @Title { The First Section } @Begin @PP This is the content of a section. @End @Section @EndSections @End @Text # End of the document.
Different document types are available: doc, report, book, but also slides (for overhead transparencies) and illustration (for stand-alone illustrations). Customizing a document style is usually relatively easy, even to the non-programmer.
Programming language features
The Lout programming language is similar to other functional languages. The core programming language consists of less than 30 primitive operators [cite web|url=http://citeseer.ist.psu.edu/kingston93design.html|title=The Design and Implementation of the Lout Document Formatting Language|year=1993|month=September|journal=Software---Practice & Experience|author=Jeffrey H. Kingston|volume=23|issue=9|pages=1001-1041] . Some features make it particularly close to Haskell, notably the fact that Lout expressions are lazily evaluated. Lout also provides constructs needed for the implementation of document formatting that are not commonly found in other programming languages, such as galleys [cite web|url=http://citeseer.ist.psu.edu/kahl99beyond.html|title=Beyond Pretty-Printing: Galley Concepts in Document Formatting Combinators|year=1999|month=January|book=Practical Aspects of Declarative Languages: First International Workshop|author=Wolfram Kahl] . Unlike most other functional programming languages, Lout does not provide, for instance,
first-class function s.References
External links
* [http://lout.wiki.sourceforge.net/ Home page]
Wikimedia Foundation. 2010.