aboutsummaryrefslogtreecommitdiffstats
path: root/include/ts
blob: 5ac1bd7526e79decbbf136f07af35cebb47e712c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106

###############################################################################
#                                                                             #
#  Lout @ToySetup package (Jeff Kingston, July 1993, updated October 1994)    #
#                                                                             #
#  In response to a user request I have put together this tiny package for    #
#  people to play with who want to start learning how to do page layout and   #
#  galleys with Lout.  It produces a very simple sequence of pages.  To       #
#  invoke the package, run "lout myfile > op" where myfile looks like this:   #
#                                                                             #
#     @SysInclude { ts }                                                      #
#     @Use { @ToySetup }                                                      #
#     @Document                                                               #
#     //                                                                      #
#     @Text {                                                                 #
#     Any text you like here, using @I, @B, @Heading, @PP, @LP, @DP,          #
#     @LeftDisplay, @IndentedDisplay, and @CenteredDisplay just as in         #
#     DocumentSetup.                                                          #
#     }                                                                       #
#                                                                             #
###############################################################################

@SysInclude { langdefs }

export @I @B @Heading @PP @LP @DP @NP
       @LeftDisplay @IndentedDisplay @CenteredDisplay
       @Text @Document

def @ToySetup
    named @PageWidth  { 21.0c }
    named @PageHeight { 29.7c }
@Begin

    ###########################################################################
    #                                                                         #
    #  Font changes, headings, and paragraphs.                                #
    #                                                                         #
    ###########################################################################

    def @I       right x { Slope @Font x      }
    def @B       right x { Bold @Font x       }
    def @Heading right x { ragged @Break @B x }

    macro @PP        { //1.3vx 1.0f @Wide &0i }
    macro @LP        { //1.3vx                }
    macro @DP        { //0.5v                 }
    macro @NP        { //1.1b                 }


    ###########################################################################
    #                                                                         #
    #  Displays.                                                              #
    #                                                                         #
    ###########################################################################

    def @DispPlace { @Galley }

    def @Disp into { @DispPlace&&preceding }
	right x
    {
	@OneRow x
    }

    macro @LeftDisplay     { @DP |       @DispPlace  |  @DP // @Disp   }
    macro @IndentedDisplay { @DP |2f     @DispPlace  |  @DP // @Disp   }
    macro @CenteredDisplay { @DP |0.5rt  @DispPlace  |  @DP // @Disp   }


    ###########################################################################
    #                                                                         #
    #  Page layout.                                                           #
    #                                                                         #
    ###########################################################################

    def @TextPlace { @Galley }

    def @Text force into { @TextPlace&&preceding }
        right x
    {
	x
    }

    def @Page right x
    {
	@PageWidth @Wide @PageHeight @High
	{ Times Base 12p } @Font
	{ adjust nohyphen 14px } @Break
	English @Language { 0 0 0 } @SetColour
	{   //1i ||1i
	    @HExpand @VExpand x
	    ||1i //1i
	}
    }

    def @PageList right num
    {
	@Page { |0.5rt - num - //0.4i @TextPlace }
	//
	@PageList @Next num
    }

    def @Document { @PageList 1 }

@End @ToySetup

@SysDatabase @FontDef  { fontdefs }		  # font definitions