SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAShane Coughlan
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)Roberto Bettazzoni
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Chirag Panchal
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jNeo4j
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...drm1699
 
Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmuxevmux96
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit MilanNeo4j
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Eraconfluent
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksJinanKordab
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024SimonedeGijt
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdfSelfMade bd
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanNeo4j
 
Rapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and InsightsRapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and Insightsrapidoform
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypseTomasz Kowalczewski
 
Software Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringSoftware Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringPrakhyath Rai
 

Kürzlich hochgeladen (20)

OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
 
Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmux
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
 
Rapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and InsightsRapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and Insights
 
Abortion Pill Prices Jozini ](+27832195400*)[ 🏥 Women's Abortion Clinic in Jo...
Abortion Pill Prices Jozini ](+27832195400*)[ 🏥 Women's Abortion Clinic in Jo...Abortion Pill Prices Jozini ](+27832195400*)[ 🏥 Women's Abortion Clinic in Jo...
Abortion Pill Prices Jozini ](+27832195400*)[ 🏥 Women's Abortion Clinic in Jo...
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
Software Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringSoftware Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements Engineering
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 

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