aboutsummaryrefslogtreecommitdiffstats
path: root/doc/slides/all
diff options
context:
space:
mode:
Diffstat (limited to 'doc/slides/all')
-rw-r--r--doc/slides/all680
1 files changed, 680 insertions, 0 deletions
diff --git a/doc/slides/all b/doc/slides/all
new file mode 100644
index 0000000..98c7d6c
--- /dev/null
+++ b/doc/slides/all
@@ -0,0 +1,680 @@
+@SysInclude { eq }
+@SysInclude { tab }
+@SysInclude { fig }
+@SysInclude { pas }
+@SysInclude { graph }
+@SysInclude { cprint }
+@SysInclude { slides }
+@SysDatabase @Reference { loutrefs }
+@OverheadTransparencies
+ @Title { A Practical Introduction to the
+
+Lout
+
+Document Formatting System
+}
+ @RunningTitle { lout }
+ @Author { Jeffrey H. Kingston }
+ @Institution {
+Basser Dept. of Computer Science
+The University of Sydney
+}
+ @InitialLanguage { English }
+//
+
+@Overhead
+ @Title { A simple input file }
+@Begin
+@ID @Code {
+"@SysInclude { doc }"
+"@Doc @Text @Begin"
+"Hello, world"
+"@End @Text"
+}
+@LP
+@LP
+@Heading { How to format it }
+@ID @Code {
+"lout filename > out.ps"
+"ghostview out.ps"
+"mpr out.ps"
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+Hello, world
+}
+@End @Overhead
+
+@Overhead
+ @Title { Headings and paragraphs }
+@Begin
+@ID @Code {
+"@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"
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+@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 @Overhead
+
+@Overhead
+ @Title { Displays }
+@Begin
+@ID @Code {
+"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 ..."
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+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 ...
+}
+@End @Overhead
+
+@Overhead
+ @Title { Paragraph breaking styles }
+@Begin
+@ID @Code {
+"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 ..."
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+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 ...
+}
+@End @Overhead
+
+@Overhead
+ @Title { Lists }
+@Begin
+@ID @Code {
+"@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"
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+@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
+}
+@End @Overhead
+
+@Overhead
+ @Title { Technical reports }
+@Begin
+@ID @Code {
+"@SysInclude { report }"
+"@Report"
+" @Title { ... }"
+" @Author { ... }"
+" @Institution { ... }"
+" @DateLine { ... }"
+"//"
+"@Abstract { ... }"
+"@Section { ... }"
+"@Section { ... }"
+"@Section { ... }"
+"@Appendix { ... }"
+"@Appendix { ... }"
+}
+@End @Overhead
+
+@Overhead
+ @Title { Sections }
+@Begin
+@ID @Code {
+"@Section"
+" @Tag { dfs }"
+" @Title { Depth-first search }"
+"@Begin"
+"@PP"
+"We turn now to our first algorithm"
+"on general graphs ..."
+"@End @Section"
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+@Heading { 10.6. Depth-first search }
+@PP
+We turn now to our first algorithm
+on general graphs ...
+}
+@End @Overhead
+
+@Overhead
+ @Title { Cross references }
+@Begin
+@ID @Code {
+"For further information, consult"
+"Section @NumberOf dfs on page"
+"@PageOf { dfs }."
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+For further information, consult
+Section 10.6 on page 245.
+}
+@End @Overhead
+
+@Overhead
+ @Title { References }
+@Begin
+@ID @Code {
+"@Database @Reference { myrefs }"
+"..."
+"For the details, consult the User's"
+"Guide @Cite { $kingston1995lout.user }."
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+For the details, consult the User's
+Guide [1].
+@LP
+...
+@LP
+@Heading { References }
+@NumberedList
+@LI @RefPrint kingston1995lout.user
+@LI ...
+@EndList
+}
+@End @Overhead
+
+@Overhead
+ @Title { Database file myrefs.ld }
+@Begin
+@ID @Code {
+"{ @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 }"
+"}"
+}
+@End @Overhead
+
+@Overhead
+ @Title { Books (and theses) }
+@Begin
+@BulletList
+@LI { Title page, preface, introduction }
+@LI { Automatic table of contents }
+@LI { Prefatory pages numbered in Roman numerals }
+@LI { Chapters, sections, subsections, appendices }
+@LI { References at end of chapters or book }
+@LI { Running page headers }
+@LI { Odd-even page formats }
+@LI { Sorted index }
+@EndList
+@End @Overhead
+
+@Overhead
+ @Title { Making a sorted index }
+@Begin
+@ID @Code {
+"@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 ..."
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+@Heading { Index }
+@LD lines @Break {
+...
+partial order, 227
+@I Partition (in {@I Quicksort}), 189
+postorder traversal
+ of binary tree, 19
+ topological ordering, 229
+...
+}
+}
+@End @Overhead
+
+@Overhead
+ @Title { Equation formatting }
+@Begin
+@ID @Code {
+"@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."
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+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.
+}
+@End @Overhead
+
+@Overhead
+ @Title { Another equation }
+@Begin
+@ID @Code {
+"@CenteredDisplay @Eq {"
+"big int supp 1 on 0 `"
+"dx over sqrt { 1 - x sup 2 }"
+"= pi over 2"
+"}"
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+@CenteredDisplay @Eq {
+big int supp 1 on 0 `
+dx over sqrt { 1 - x sup 2 }
+= pi over 2
+}
+}
+@End @Overhead
+
+@Overhead
+ @Title { Tables }
+@Begin
+@ID @Code {
+"@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 }"
+"}"
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+@Tab
+ vmargin { 0.4v }
+ @Fmta { @Col @I A ! @Col B }
+{
+@Rowa
+ A { Fortran }
+ B { The first high-level
+programming language }
+@Rowa
+ A { Algol-60 }
+ B { Said to be a better
+language than most of its successors }
+@Rowa
+ A { Pascal }
+ B { The most famous of
+Algol-60's successors }
+}
+}
+@End @Overhead
+
+@Overhead
+ @Title { Another table }
+@Begin
+@RID @Code {
+"@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^ }"
+"}"
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+0.6 @Scale @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 formulae (millions of dollars) }
+@Rowb
+ above { double }
+ A { Quadratic formula }
+ B { @Eq { x ^= { minus b +- sqrt { b sup 2 - 4ac } } over 2a } }
+ C { 3^.5 }
+@Rowb
+ below { single }
+ A { Binomial theorem }
+ B { @Eq { ( a + b ) sup n ^= big sum from k=0 to infty
+matrix atleft { ( } atright { ) } { n above k } a sup k b sup n-k
+} }
+ C { 12^ }
+}
+}
+@End @Overhead
+
+@Overhead
+ @Title { Pascal programs }
+@Begin
+@ID @Code {
+"@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;"
+"}"
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+@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;
+} &0io
+}
+@End @Overhead
+
+@Overhead
+ @Title { Basic graphics }
+@Begin
+@ID @Code {
+"45d @Rotate 1.5 @Scale @Box {"
+" Hello, world"
+"}"
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+@ID @Code {
+45d @Rotate 1.5 @Scale @Box {
+ Hello, world
+}
+}
+}
+@End @Overhead
+
+@Overhead
+ @Title { Advanced graphics }
+@Begin
+@ID @Code {
+"@SysInclude { fig }"
+"..."
+"@Fig {"
+"@Box"
+" margin { 0c }"
+" paint { black }"
+"@Ellipse"
+" linestyle { noline }"
+" paint { white }"
+"{ Hello, world }"
+"}"
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+@Fig {
+@Box
+ margin { 0c }
+ paint { black }
+@Ellipse
+ linestyle { noline }
+ paint { white }
+{ Hello, world }
+}
+}
+@End @Overhead
+
+@Overhead
+ @Title { Point labelling }
+@Begin
+@ID @Code {
+"@Fig {"
+"A::"
+"{"
+" 1:: @Ellipse { 3c @Wide 2c @High }"
+" //3c"
+" 2:: @Box { 3c @Wide 2c @High }"
+"}"
+"@ShowLabels"
+"}"
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage {
+@Fig {
+A::
+{
+ 1:: @Ellipse { 3c @Wide 2c @High }
+ //3c
+ 2:: @Box { 3c @Wide 2c @High }
+}
+@ShowLabels
+}
+}
+@End @Overhead
+
+@Overhead
+ @Title { Graphs }
+@Begin
+@LP
+@ID -1p @Font @Code {
+"@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 }"
+"}"
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage @Graph
+ width { 9 cm }
+ height { 6 cm }
+ 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
+ }
+}
+@End @Overhead
+
+@Overhead @Begin
+@RID @Code {
+"-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"
+" }"
+" }"
+"}"
+}
+@End @Overhead
+
+@Overhead @Begin
+@ShowPage -2p @Font @Graph
+ style { axes }
+ xorigin { 0 }
+ yorigin { 0 }
+ width { 10 cm }
+ height { 7 cm }
+ xticks { 10@ 50@ 100@ 200@ 500@ }
+ objects {
+ @NE at { 300 2 } @I { Exponential }
+ @SE at { 300 sqrt { pi*300/4 } + 1 } @I { Uniform }
+ }
+ belowcaption { @I n }
+ belowgap { 0 cm }
+{
+ @Data points { filledcircle }
+ { 10 1.97 50 2.01 100 2.00 200 2.0 500 2.00 }
+
+ @Data points { filledcircle }
+ { 10 3.53 50 7.45 100 9.32 200 13.41 500 21.63 }
+
+ @Data pairs { dashed }
+ { 10 2 500 2 }
+
+ @Data pairs { dashed }
+ {
+ xloop from { 10 } to { 500 } by { 20 } do
+ {
+ x sqrt { pi*x / 4 } + 1
+ }
+ }
+}
+@End @Overhead