SlideShare a Scribd company logo
1 of 42
Download to read offline
lout 1
A Practical Introduction to the
Lout
Document Formatting System
Jeffrey H. Kingston
Basser Dept. of Computer Science
The University of Sydney
lout 2
A simple input file
@SysInclude { doc }
@Doc @Text @Begin
Hello, world
@End @Text
How to format it
lout filename > out.ps
ghostview out.ps
mpr out.ps
lout 3
Hello, world
lout 4
Headings and paragraphs
@SysInclude { doc }
@Doc @Text @Begin
@Heading { Introduction }
@PP
The design of the Lout formatting
system was undertaken with the
needs of the @I { ordinary user }
very much in mind.
@End @Text
lout 5
Introduction
The design of the Lout
formatting system was undertaken
with the needs of the ordinary user
very much in mind.
lout 6
Displays
You certainly don’t want to return to
his office and report:
@IndentedDisplay @I {
‘I can’t find an efficient algorithm, I
guess I’m just too dumb.’
}
To avoid serious damage to your
position in the company, it would
be better if ...
lout 7
You certainly don’t want to return to
his office and report:
‘I can’t find an efficient
algorithm,I guess I’m just too
dumb.’
To avoid serious damage to your
position in the company, it would be
better if …
lout 8
Paragraph breaking styles
You certainly don’t want to return to
his office and report:
@ID { ragged nohyphen } @Break @I {
‘I can’t find an efficient algorithm, I
guess I’m just too dumb.’
}
To avoid serious damage to your
position in the company, it would
be better if ...
lout 9
You certainly don’t want to return to
his office and report:
‘I can’t find an efficient
algorithm,I guess I’m just too
dumb.’
To avoid serious damage to your
position in the company, it would be
better if …
lout 10
Lists
@Heading { Operating Instructions }
@NumberedList
@ListItem { Press small green lever. }
@ListItem { Wait approximately 10 seconds
until red light flashes. }
@ListItem { If smoke emerges from rear of unit,
call Service Department. }
@EndList
lout 11
Operating Instructions
1. Press small green lever.
2. Wait approximately 10 seconds
until red light flashes.
3. If smoke emerges from rear of
unit, call Service Department.
lout 12
Technical reports
@SysInclude { report }
@Report
@Title { ... }
@Author { ... }
@Institution { ... }
@DateLine { ... }
//
@Abstract { ... }
@Section { ... }
@Section { ... }
@Section { ... }
@Appendix { ... }
@Appendix { ... }
lout 13
Sections
@Section
@Tag { dfs }
@Title { Depth-first search }
@Begin
@PP
We turn now to our first algorithm
on general graphs ...
@End @Section
lout 14
10.6. Depth-first search
We turn now to our first
algorithm on general graphs …
lout 15
Cross references
For further information, consult
Section @NumberOf dfs on page
@PageOf { dfs }.
lout 16
For further information, consult
Section 10.6 on page 245.
lout 17
References
@Database @Reference { myrefs }
...
For the details, consult the User’s
Guide @Cite { $kingston1995lout.user }.
lout 18
For the details, consult the User’s
Guide [1].
…
References
1. Jeffrey H. Kingston. A User’s
Guide to the Lout Document
Formatting System (Version
3). Basser Department of
Computer Science, University
of Sydney, 1995.
2. …
lout 19
Database file myrefs.ld
{ @Reference
@Tag { kingston1995lout.user }
@Type { Book }
@Author { Jeffrey H. Kingston }
@Title { A User’s Guide to the Lout
Document Formatting System (Version 3) }
@Institution { Basser Department of
Computer Science }
@Address { University of Sydney
2006, Australia }
@Year { 1994 }
}
lout 20
Books (and theses)
• Title page, preface, introduction
• Automatic table of contents
• Prefatory pages numbered in Roman numerals
• Chapters, sections, subsections, appendices
• References at end of chapters or book
• Running page headers
• Odd-even page formats
• Sorted index
lout 21
Making a sorted index
@PP
There are several possible ways to implement the
@I Partition procedure,
partition @Index { @I Partition (in {@I Quicksort}) }
but the following seems to be the best. Starting ...
lout 22
Index
…
partial order, 227
Partition (in Quicksort), 189
postorder traversal
of binary tree, 19
topological ordering, 229
…
lout 23
Equation formatting
@SysInclude { eq }
...
Since @Eq { T(n-i) = T(0) = 0 } we have
@IndentedDisplay @Eq {
T(n) = big sum from i=0 to n-1 2 sup i = 2 sup n - 1
}
for the number of disk moves made by the Towers
of Hanoi algorithm, given @Eq { n } disks.
lout 24
Since T(n − i) = T(0) = 0 we have
T(n) =
n−1
∑
i=0
i
2 =
n
2 − 1
for the number of disk moves made
by the Towers of Hanoi algorithm,
given n disks.
lout 25
Another equation
@CenteredDisplay @Eq {
big int supp 1 on 0 ‘
dx over sqrt { 1 - x sup 2 }
= pi over 2
}
lout 26
∫
1
0
dx
√1 − 2x
= π
2
lout 27
Tables
@SysInclude { tab }
...
@Tab
@Fmta { @Col @I A ! @Col B }
{
@Rowa
A { Fortran }
B { The first ... language }
@Rowa
A { Algol-60 }
B { Said to be ... successors }
@Rowa
A { Pascal }
B { The famous ... successors }
}
lout 28
Fortran The first high-level
programming language
Algol-60 Said to be a better
language than most of its
successors
Pascal The most famous of
Algol-60’s successors
lout 29
Another table
@Tab
hmargin { 0.4c }
vmargin { 0.3v }
side { single }
@Fmta { @Col @B @CC X @Over A,B,C }
@Fmtb { @Col @I A ! @Col B !! @Col C }
{
@Rowa above { single }
X { Value of mathematical ... dollars) }
@Rowb above { double }
A { Quadratic formula }
B { @Eq { x ^= { ... } over 2a } }
C { 3^.5 }
@Rowb below { single }
A { Binomial theorem }
B { @Eq { ( a + b ) sup n ^= ... b sup n-k } }
C { 12^ }
}
lout 30
Value of mathematical formulae (millions of dollars)
Quadratic formula x =
−b ± √ 2
b − 4ac
2a
3.5
Binomial theorem (a + b n
) =
∞
∑
k =0
(n
k ) k
a n−k
b 12
lout 31
Pascal programs
@SysInclude { pas }
...
@ID @Pas {
procedure DoPriAbstract(root: PriEntry);
begin
if root^.leftchild <> nil then begin
DoPriAbstract(root^.leftchild);
write(’, ’);
end;
PriKeyAbstract(root^.key);
write(’:’);
PriValueAbstract(root^.value);
if root^.rightchild <> nil then begin
write(’, ’);
DoPriAbstract(root^.rightchild);
end;
end;
}
lout 32
procedure DoPriAbstract(root: PriEntry);
begin
if root↑.leftchild ≠ nil then begin
DoPriAbstract(root↑.leftchild);
write(’, ’);
end;
PriKeyAbstract(root↑.key);
write(’:’);
PriValueAbstract(root↑.value);
if root↑.rightchild ≠ nil then begin
write(’, ’);
DoPriAbstract(root↑.rightchild);
end;
end;
lout 33
Basic graphics
45d @Rotate 1.5 @Scale @Box {
Hello, world
}
lout 34
H
ello,w
orld
lout 35
Advanced graphics
@SysInclude { fig }
...
@Fig {
@Box
margin { 0c }
paint { black }
@Ellipse
linestyle { noline }
paint { white }
{ Hello, world }
}
lout 36
Hello, world
lout 37
Point labelling
@Fig {
A::
{
1:: @Ellipse { 3c @Wide 2c @High }
//3c
2:: @Box { 3c @Wide 2c @High }
}
@ShowLabels
}
lout 38
A@2@CTRA@2@W
A@1@NE
A@2@SW
A@1@NW
A@2@SE
A@1@W
A@2@NW A@2@N
A@1@N
A@1@E
A@1@SW
A@1@S
A@2@S
A@1@SE
A@2@E
A@1@CTR
A@2@NE
lout 39
Graphs
@Graph
abovecaption { New South Wales road deaths
(per 100 million vehicle km) }
{
@Data points { plus } pairs { dashed }
{ 1963 5.6 1971 4.3 1976 3.7 1979 3.4
1982 2.9 1985 2.3 1988 2.0 }
}
lout 40
New South Wales road deaths
(per 100 million vehicle km)
1960 1970 1980 1990
2
3
4
5
6
lout 41
-2p @Font @Graph
style { axes }
xorigin { 0 } yorigin { 0 }
xticks { 10@ 50@ 100@ 200@ 500@ }
objects { @NE at { 300 2 } @I { Exponential }
@SE at { ... } @I { Uniform } }
belowcaption { @I n }
{
@Data points { filledcircle } { ... }
@Data points { filledcircle } { ... }
@Data pairs { dashed }
{ 10 2 500 2 }
@Data pairs { dashed }
{
xloop from { 10 } to { 500 } by { 20 } do
{
x sqrt { pi*x / 4 } + 1
}
}
}
lout 42
10 50 100 200 500
0
10
20
30
Exponential
Uniform
n

More Related Content

What's hot

Tree and binary tree
Tree and binary treeTree and binary tree
Tree and binary treeZaid Shabbir
 
Stacks and queues
Stacks and queuesStacks and queues
Stacks and queuesAbbott
 
Fundamentals of data structures
Fundamentals of data structuresFundamentals of data structures
Fundamentals of data structuresNiraj Agarwal
 
ADT STACK and Queues
ADT STACK and QueuesADT STACK and Queues
ADT STACK and QueuesBHARATH KUMAR
 
Data structure , stack , queue
Data structure , stack , queueData structure , stack , queue
Data structure , stack , queueRajkiran Nadar
 
Introduction to Data Mining with R and Data Import/Export in R
Introduction to Data Mining with R and Data Import/Export in RIntroduction to Data Mining with R and Data Import/Export in R
Introduction to Data Mining with R and Data Import/Export in RYanchang Zhao
 
Big picture of category theory in scala with deep dive into contravariant and...
Big picture of category theory in scala with deep dive into contravariant and...Big picture of category theory in scala with deep dive into contravariant and...
Big picture of category theory in scala with deep dive into contravariant and...Piotr Paradziński
 
358 33 powerpoint-slides_8-linked-lists_chapter-8
358 33 powerpoint-slides_8-linked-lists_chapter-8358 33 powerpoint-slides_8-linked-lists_chapter-8
358 33 powerpoint-slides_8-linked-lists_chapter-8sumitbardhan
 
Stacks & Queues By Ms. Niti Arora
Stacks & Queues By Ms. Niti AroraStacks & Queues By Ms. Niti Arora
Stacks & Queues By Ms. Niti Arorakulachihansraj
 

What's hot (18)

Tree and binary tree
Tree and binary treeTree and binary tree
Tree and binary tree
 
Chapter 6 ds
Chapter 6 dsChapter 6 ds
Chapter 6 ds
 
Basic data-structures-v.1.1
Basic data-structures-v.1.1Basic data-structures-v.1.1
Basic data-structures-v.1.1
 
stack & queue
stack & queuestack & queue
stack & queue
 
Stacks and queues
Stacks and queuesStacks and queues
Stacks and queues
 
Fundamentals of data structures
Fundamentals of data structuresFundamentals of data structures
Fundamentals of data structures
 
ADT STACK and Queues
ADT STACK and QueuesADT STACK and Queues
ADT STACK and Queues
 
Data structure , stack , queue
Data structure , stack , queueData structure , stack , queue
Data structure , stack , queue
 
Introduction to Data Mining with R and Data Import/Export in R
Introduction to Data Mining with R and Data Import/Export in RIntroduction to Data Mining with R and Data Import/Export in R
Introduction to Data Mining with R and Data Import/Export in R
 
C programming
C programmingC programming
C programming
 
Big picture of category theory in scala with deep dive into contravariant and...
Big picture of category theory in scala with deep dive into contravariant and...Big picture of category theory in scala with deep dive into contravariant and...
Big picture of category theory in scala with deep dive into contravariant and...
 
Tree
TreeTree
Tree
 
358 33 powerpoint-slides_8-linked-lists_chapter-8
358 33 powerpoint-slides_8-linked-lists_chapter-8358 33 powerpoint-slides_8-linked-lists_chapter-8
358 33 powerpoint-slides_8-linked-lists_chapter-8
 
Chapter 11 ds
Chapter 11 dsChapter 11 ds
Chapter 11 ds
 
Data structure stack&queue basics
Data structure stack&queue   basicsData structure stack&queue   basics
Data structure stack&queue basics
 
Stacks & Queues By Ms. Niti Arora
Stacks & Queues By Ms. Niti AroraStacks & Queues By Ms. Niti Arora
Stacks & Queues By Ms. Niti Arora
 
Lecture7 data structure(tree)
Lecture7 data structure(tree)Lecture7 data structure(tree)
Lecture7 data structure(tree)
 
Stack project
Stack projectStack project
Stack project
 

Similar to Lout example

Apache pig presentation_siddharth_mathur
Apache pig presentation_siddharth_mathurApache pig presentation_siddharth_mathur
Apache pig presentation_siddharth_mathurSiddharth Mathur
 
Apache pig presentation_siddharth_mathur
Apache pig presentation_siddharth_mathurApache pig presentation_siddharth_mathur
Apache pig presentation_siddharth_mathurSiddharth Mathur
 
lect- 3&4.ppt
lect- 3&4.pptlect- 3&4.ppt
lect- 3&4.pptmrizwan38
 
01 stack 20160908_jintaek_seo
01 stack 20160908_jintaek_seo01 stack 20160908_jintaek_seo
01 stack 20160908_jintaek_seoJinTaek Seo
 
Combinators, DSLs, HTML and F#
Combinators, DSLs, HTML and F#Combinators, DSLs, HTML and F#
Combinators, DSLs, HTML and F#Robert Pickering
 
Mixing functional and object oriented approaches to programming in C#
Mixing functional and object oriented approaches to programming in C#Mixing functional and object oriented approaches to programming in C#
Mixing functional and object oriented approaches to programming in C#Mark Needham
 
Gráficas en python
Gráficas en python Gráficas en python
Gráficas en python Jhon Valle
 
2 Years of Real World FP at REA
2 Years of Real World FP at REA2 Years of Real World FP at REA
2 Years of Real World FP at REAkenbot
 
C++ STL (quickest way to learn, even for absolute beginners).pptx
C++ STL (quickest way to learn, even for absolute beginners).pptxC++ STL (quickest way to learn, even for absolute beginners).pptx
C++ STL (quickest way to learn, even for absolute beginners).pptxAbhishek Tirkey
 
C++ STL (quickest way to learn, even for absolute beginners).pptx
C++ STL (quickest way to learn, even for absolute beginners).pptxC++ STL (quickest way to learn, even for absolute beginners).pptx
C++ STL (quickest way to learn, even for absolute beginners).pptxGauravPandey43518
 
Tuga IT 2018 Summer Edition - The Future of C#
Tuga IT 2018 Summer Edition - The Future of C#Tuga IT 2018 Summer Edition - The Future of C#
Tuga IT 2018 Summer Edition - The Future of C#Paulo Morgado
 
MuleSoft Meetup Warsaw Group DataWeave 2.0
MuleSoft Meetup Warsaw Group DataWeave 2.0MuleSoft Meetup Warsaw Group DataWeave 2.0
MuleSoft Meetup Warsaw Group DataWeave 2.0Patryk Bandurski
 
Scala 3camp 2011
Scala   3camp 2011Scala   3camp 2011
Scala 3camp 2011Scalac
 
Introduction to latex by Rouhollah Nabati
Introduction to latex by Rouhollah NabatiIntroduction to latex by Rouhollah Nabati
Introduction to latex by Rouhollah Nabatinabati
 
NetPonto - The Future Of C# - NetConf Edition
NetPonto - The Future Of C# - NetConf EditionNetPonto - The Future Of C# - NetConf Edition
NetPonto - The Future Of C# - NetConf EditionPaulo Morgado
 

Similar to Lout example (20)

Design Patterns in Ruby
Design Patterns in RubyDesign Patterns in Ruby
Design Patterns in Ruby
 
Apache pig presentation_siddharth_mathur
Apache pig presentation_siddharth_mathurApache pig presentation_siddharth_mathur
Apache pig presentation_siddharth_mathur
 
Apache pig presentation_siddharth_mathur
Apache pig presentation_siddharth_mathurApache pig presentation_siddharth_mathur
Apache pig presentation_siddharth_mathur
 
lect- 3&4.ppt
lect- 3&4.pptlect- 3&4.ppt
lect- 3&4.ppt
 
01 stack 20160908_jintaek_seo
01 stack 20160908_jintaek_seo01 stack 20160908_jintaek_seo
01 stack 20160908_jintaek_seo
 
Combinators, DSLs, HTML and F#
Combinators, DSLs, HTML and F#Combinators, DSLs, HTML and F#
Combinators, DSLs, HTML and F#
 
Mixing functional and object oriented approaches to programming in C#
Mixing functional and object oriented approaches to programming in C#Mixing functional and object oriented approaches to programming in C#
Mixing functional and object oriented approaches to programming in C#
 
Object-Oriented Programming Using C++
Object-Oriented Programming Using C++Object-Oriented Programming Using C++
Object-Oriented Programming Using C++
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Gráficas en python
Gráficas en python Gráficas en python
Gráficas en python
 
2 Years of Real World FP at REA
2 Years of Real World FP at REA2 Years of Real World FP at REA
2 Years of Real World FP at REA
 
C++ STL (quickest way to learn, even for absolute beginners).pptx
C++ STL (quickest way to learn, even for absolute beginners).pptxC++ STL (quickest way to learn, even for absolute beginners).pptx
C++ STL (quickest way to learn, even for absolute beginners).pptx
 
C++ STL (quickest way to learn, even for absolute beginners).pptx
C++ STL (quickest way to learn, even for absolute beginners).pptxC++ STL (quickest way to learn, even for absolute beginners).pptx
C++ STL (quickest way to learn, even for absolute beginners).pptx
 
Tuga IT 2018 Summer Edition - The Future of C#
Tuga IT 2018 Summer Edition - The Future of C#Tuga IT 2018 Summer Edition - The Future of C#
Tuga IT 2018 Summer Edition - The Future of C#
 
MuleSoft Meetup Warsaw Group DataWeave 2.0
MuleSoft Meetup Warsaw Group DataWeave 2.0MuleSoft Meetup Warsaw Group DataWeave 2.0
MuleSoft Meetup Warsaw Group DataWeave 2.0
 
What the f is a monad?
What the f is a monad?What the f is a monad?
What the f is a monad?
 
Scala 3camp 2011
Scala   3camp 2011Scala   3camp 2011
Scala 3camp 2011
 
Introduction to latex by Rouhollah Nabati
Introduction to latex by Rouhollah NabatiIntroduction to latex by Rouhollah Nabati
Introduction to latex by Rouhollah Nabati
 
NetPonto - The Future Of C# - NetConf Edition
NetPonto - The Future Of C# - NetConf EditionNetPonto - The Future Of C# - NetConf Edition
NetPonto - The Future Of C# - NetConf Edition
 
Lecture1_R.ppt
Lecture1_R.pptLecture1_R.ppt
Lecture1_R.ppt
 

Recently uploaded

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 

Recently uploaded (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 

Lout example

  • 1. lout 1 A Practical Introduction to the Lout Document Formatting System Jeffrey H. Kingston Basser Dept. of Computer Science The University of Sydney
  • 2. lout 2 A simple input file @SysInclude { doc } @Doc @Text @Begin Hello, world @End @Text How to format it lout filename > out.ps ghostview out.ps mpr out.ps
  • 4. lout 4 Headings and paragraphs @SysInclude { doc } @Doc @Text @Begin @Heading { Introduction } @PP The design of the Lout formatting system was undertaken with the needs of the @I { ordinary user } very much in mind. @End @Text
  • 5. lout 5 Introduction The design of the Lout formatting system was undertaken with the needs of the ordinary user very much in mind.
  • 6. lout 6 Displays You certainly don’t want to return to his office and report: @IndentedDisplay @I { ‘I can’t find an efficient algorithm, I guess I’m just too dumb.’ } To avoid serious damage to your position in the company, it would be better if ...
  • 7. lout 7 You certainly don’t want to return to his office and report: ‘I can’t find an efficient algorithm,I guess I’m just too dumb.’ To avoid serious damage to your position in the company, it would be better if …
  • 8. lout 8 Paragraph breaking styles You certainly don’t want to return to his office and report: @ID { ragged nohyphen } @Break @I { ‘I can’t find an efficient algorithm, I guess I’m just too dumb.’ } To avoid serious damage to your position in the company, it would be better if ...
  • 9. lout 9 You certainly don’t want to return to his office and report: ‘I can’t find an efficient algorithm,I guess I’m just too dumb.’ To avoid serious damage to your position in the company, it would be better if …
  • 10. lout 10 Lists @Heading { Operating Instructions } @NumberedList @ListItem { Press small green lever. } @ListItem { Wait approximately 10 seconds until red light flashes. } @ListItem { If smoke emerges from rear of unit, call Service Department. } @EndList
  • 11. lout 11 Operating Instructions 1. Press small green lever. 2. Wait approximately 10 seconds until red light flashes. 3. If smoke emerges from rear of unit, call Service Department.
  • 12. lout 12 Technical reports @SysInclude { report } @Report @Title { ... } @Author { ... } @Institution { ... } @DateLine { ... } // @Abstract { ... } @Section { ... } @Section { ... } @Section { ... } @Appendix { ... } @Appendix { ... }
  • 13. lout 13 Sections @Section @Tag { dfs } @Title { Depth-first search } @Begin @PP We turn now to our first algorithm on general graphs ... @End @Section
  • 14. lout 14 10.6. Depth-first search We turn now to our first algorithm on general graphs …
  • 15. lout 15 Cross references For further information, consult Section @NumberOf dfs on page @PageOf { dfs }.
  • 16. lout 16 For further information, consult Section 10.6 on page 245.
  • 17. lout 17 References @Database @Reference { myrefs } ... For the details, consult the User’s Guide @Cite { $kingston1995lout.user }.
  • 18. lout 18 For the details, consult the User’s Guide [1]. … References 1. Jeffrey H. Kingston. A User’s Guide to the Lout Document Formatting System (Version 3). Basser Department of Computer Science, University of Sydney, 1995. 2. …
  • 19. lout 19 Database file myrefs.ld { @Reference @Tag { kingston1995lout.user } @Type { Book } @Author { Jeffrey H. Kingston } @Title { A User’s Guide to the Lout Document Formatting System (Version 3) } @Institution { Basser Department of Computer Science } @Address { University of Sydney 2006, Australia } @Year { 1994 } }
  • 20. lout 20 Books (and theses) • Title page, preface, introduction • Automatic table of contents • Prefatory pages numbered in Roman numerals • Chapters, sections, subsections, appendices • References at end of chapters or book • Running page headers • Odd-even page formats • Sorted index
  • 21. lout 21 Making a sorted index @PP There are several possible ways to implement the @I Partition procedure, partition @Index { @I Partition (in {@I Quicksort}) } but the following seems to be the best. Starting ...
  • 22. lout 22 Index … partial order, 227 Partition (in Quicksort), 189 postorder traversal of binary tree, 19 topological ordering, 229 …
  • 23. lout 23 Equation formatting @SysInclude { eq } ... Since @Eq { T(n-i) = T(0) = 0 } we have @IndentedDisplay @Eq { T(n) = big sum from i=0 to n-1 2 sup i = 2 sup n - 1 } for the number of disk moves made by the Towers of Hanoi algorithm, given @Eq { n } disks.
  • 24. lout 24 Since T(n − i) = T(0) = 0 we have T(n) = n−1 ∑ i=0 i 2 = n 2 − 1 for the number of disk moves made by the Towers of Hanoi algorithm, given n disks.
  • 25. lout 25 Another equation @CenteredDisplay @Eq { big int supp 1 on 0 ‘ dx over sqrt { 1 - x sup 2 } = pi over 2 }
  • 27. lout 27 Tables @SysInclude { tab } ... @Tab @Fmta { @Col @I A ! @Col B } { @Rowa A { Fortran } B { The first ... language } @Rowa A { Algol-60 } B { Said to be ... successors } @Rowa A { Pascal } B { The famous ... successors } }
  • 28. lout 28 Fortran The first high-level programming language Algol-60 Said to be a better language than most of its successors Pascal The most famous of Algol-60’s successors
  • 29. lout 29 Another table @Tab hmargin { 0.4c } vmargin { 0.3v } side { single } @Fmta { @Col @B @CC X @Over A,B,C } @Fmtb { @Col @I A ! @Col B !! @Col C } { @Rowa above { single } X { Value of mathematical ... dollars) } @Rowb above { double } A { Quadratic formula } B { @Eq { x ^= { ... } over 2a } } C { 3^.5 } @Rowb below { single } A { Binomial theorem } B { @Eq { ( a + b ) sup n ^= ... b sup n-k } } C { 12^ } }
  • 30. lout 30 Value of mathematical formulae (millions of dollars) Quadratic formula x = −b ± √ 2 b − 4ac 2a 3.5 Binomial theorem (a + b n ) = ∞ ∑ k =0 (n k ) k a n−k b 12
  • 31. lout 31 Pascal programs @SysInclude { pas } ... @ID @Pas { procedure DoPriAbstract(root: PriEntry); begin if root^.leftchild <> nil then begin DoPriAbstract(root^.leftchild); write(’, ’); end; PriKeyAbstract(root^.key); write(’:’); PriValueAbstract(root^.value); if root^.rightchild <> nil then begin write(’, ’); DoPriAbstract(root^.rightchild); end; end; }
  • 32. lout 32 procedure DoPriAbstract(root: PriEntry); begin if root↑.leftchild ≠ nil then begin DoPriAbstract(root↑.leftchild); write(’, ’); end; PriKeyAbstract(root↑.key); write(’:’); PriValueAbstract(root↑.value); if root↑.rightchild ≠ nil then begin write(’, ’); DoPriAbstract(root↑.rightchild); end; end;
  • 33. lout 33 Basic graphics 45d @Rotate 1.5 @Scale @Box { Hello, world }
  • 35. lout 35 Advanced graphics @SysInclude { fig } ... @Fig { @Box margin { 0c } paint { black } @Ellipse linestyle { noline } paint { white } { Hello, world } }
  • 37. lout 37 Point labelling @Fig { A:: { 1:: @Ellipse { 3c @Wide 2c @High } //3c 2:: @Box { 3c @Wide 2c @High } } @ShowLabels }
  • 39. lout 39 Graphs @Graph abovecaption { New South Wales road deaths (per 100 million vehicle km) } { @Data points { plus } pairs { dashed } { 1963 5.6 1971 4.3 1976 3.7 1979 3.4 1982 2.9 1985 2.3 1988 2.0 } }
  • 40. lout 40 New South Wales road deaths (per 100 million vehicle km) 1960 1970 1980 1990 2 3 4 5 6
  • 41. lout 41 -2p @Font @Graph style { axes } xorigin { 0 } yorigin { 0 } xticks { 10@ 50@ 100@ 200@ 500@ } objects { @NE at { 300 2 } @I { Exponential } @SE at { ... } @I { Uniform } } belowcaption { @I n } { @Data points { filledcircle } { ... } @Data points { filledcircle } { ... } @Data pairs { dashed } { 10 2 500 2 } @Data pairs { dashed } { xloop from { 10 } to { 500 } by { 20 } do { x sqrt { pi*x / 4 } + 1 } } }
  • 42. lout 42 10 50 100 200 500 0 10 20 30 Exponential Uniform n