1151497Sru\# Most mom users rely on mom's document processing macros to format
2151497Sru\# their work.  The doc processing macros take care of all things
3151497Sru\# typographic and are simple, clear and easy to learn.  The kind of
4151497Sru\# "by hand" typesetting this file shows off is really geared toward
5151497Sru\# professional typographers.  Bear in mind, though, that the full
6151497Sru\# power of mom's typesetting capabilities can be brought to bear
7151497Sru\# on document processing as well.
8151497Sru\#
9151497Sru\# Basic page setup
10151497Sru\#
11151497Sru.PAGE 8.5i 11i \" Printer sheet size
12151497Sru.L_MARGIN 1i   \" Left margin 1 inch
13151497Sru.R_MARGIN 1i   \" Right margin 1 inch (calculates the line length)
14151497Sru\#
15151497Sru\# Basic type parameters
16151497Sru\#
17151497Sru.FAMILY  T     \" Times Roman family
18151497Sru.FT      B     \" Bold font
19151497Sru.PT_SIZE 12    \" Point size
20151497Sru.LS      14    \" Leading (line spacing)
21151497Sru.LEFT          \" Set lines flush left, nofill mode
22151497Sru\#
23151497Sru\# Refinements
24151497Sru\#
25151497Sru.HY            \" Hyphenate
26151497Sru.KERN          \" Automatic pairwise kerning
27151497Sru.LIGATURES     \" Automatic ligature generation
28151497Sru.SMARTQUOTES   \" Enable smartquotes
29151497Sru.SS 0          \" No extra space between sentences
30151497Sru\#
31151497Sru.ALD 1i-1v     \" Advance 1 inch from top of paper to first baseline
32151497SruExample 1\*[BU 2]:
33151497Sru.ALD .25v      \" Advance an extra 1/4 linespace
34151497Sru.UNDERSCORE 3.75p "T\*[BU 4]asting notes using padding, string tabs \
35151497Sruand multi-columns"
36151497Sru\#
37151497Sru.SP            \" Add an extra line space
38151497Sru\#
39151497Sru.FAM H         \" Helvetica family
40151497Sru.PT_SIZE 10
41151497Sru.LS  11        \" New leading
42151497Sru\#
43151497Sru\# The following uses a combination of padding, string tabs, and the
44151497Sru\# FWD escape to set up five tabs with 1-pica gutters stretched over
45151497Sru\# the full line length.
46151497Sru\# 
47151497Sru.SILENT        \" Don't print the next line
48151497Sru.PAD "\*[ST1]VIN#\*[ST1X]\*[FWD 1P]\*[ST2]ROBE#\*[ST2X]\*[FWD 1P]\*[ST3]NEZ#\*[ST3X]\*[FWD 1P]\*[ST4]BOUCHE#\*[ST4X]\*[FWD 1P]\*[ST5]COMMENTAIRES\*[ST5X]"
49151497Sru.SILENT OFF    \" Resume normal printing of text
50151497Sru\#
51151497Sru\# Now that the string tabs have been marked off, we "set" them.
52151497Sru\#
53151497Sru.ST 1 L        \" First string tab flush left, nofill mode (no need for .BR's between input lines)
54151497Sru.ST 2 L QUAD   \" Remaining tabs are flush left/rag right, fill mode
55151497Sru.ST 3 L QUAD
56151497Sru.ST 4 L QUAD
57151497Sru.ST 5 L QUAD
58151497Sru\#
59151497Sru.TAB 1         \" Call first tab
60151497Sru.UNDERSCORE "VIN"
61151497Sru.TN            \" Move to next tab and stay on the same baseline
62151497Sru.UNDERSCORE "ROBE"
63151497Sru.TN            \" Ibid
64151497Sru.UNDERSCORE "NEZ"
65151497Sru.TN            \" Ibid
66151497Sru.UNDERSCORE "BOUCHE"
67151497Sru.TN            \" Ibid
68151497Sru.UNDERSCORE "COMMENTAIRES"
69151497Sru.TQ            \" Quit tabs
70151497Sru\#
71151497Sru.ALD 6p        \" Advance an extra 6 points
72151497Sru.FT  R         \" Change font to roman (medium)
73151497Sru.MCO           \" Turn multi-column mode on
74151497Sru\#
75151497Sru.TAB 1                 \" Notice that this tab gets set line-for-line
76151497Sru\*[IT]Peelee Island    \" Set italic
77151497Sru\*[PREV]Gew�rztraminer \" Revert to former font (roman)
78151497Sru2000
79151497Sru(Canada)
80151497Sru.MCR           \" Return to top of column
81151497Sru.TAB 2         \" Call tab 2; in multi-column mode, don't use .TN
82151497SruJaune p�le.
83151497Sru.MCR
84151497Sru.TB 3          \" Notice that from here on, we use the alias TB instead of TAB
85151497SruFrais, fruit�, ci\%tronn�, ar�mes fortes de lichee et de fruits
86151497Srutropicaux.
87151497Sru.MCR
88151497Sru.TB 4
89151497SruDoux, fruit�, bien �quilibr� avec une bonne acidit�.
90151497Sru.MCR
91151497Sru.TB 5
92151497SruBon ap�ro.  Servir avec des plats
93151497Sru.RW .1         \" Reduce Whitespace between letters to tighten this line
94151497Sruindiens ou \%chinois.
95151497Sru.RW 0          \" Back to normal spacing between letters
96151497Sru.BR
97151497SruExcellent rapport qualit�/prix.
98151497Sru.MCX 8p        \" Multi-column mode off; advance an extra 8 points
99151497Sru.MCO           \" Re-invoke multi-columns for next wine description
100151497Sru.TB 1
101151497Sru\*[IT]Carau Pujol
102151497Sru\*[ROM]Tannat
103151497Sru1995
104151497Sru(Uraguay)
105151497Sru.MCR
106151497Sru.TB 2
107151497SruRubis fonc�, vio\%lac�e, presque opaque.
108151497Sru.MCR
109151497Sru.TB 3
110151497SruBelles ar�mes de fruits fonc�s (prunes, cerises noires, cassis).
111151497SruOdeurs tertiares de cuir, c�dre, violets, eucalyptus, avec une trace
112151497Sruexotique de Band-Aid*\*[BU 12].
113151497Sru\#
114151497Sru\# The \*[BU 12], above, pulls the period back so that it falls
115151497Sru\# underneath the asterisk. \*[BP<n>] could have been used instead
116151497Sru\# if you prefer to use points rather than kern units.
117151497Sru\#
118151497Sru.MCR
119151497Sru.TB 4
120151497SruTr�s rond, tannins m�res et velout�s, avec un long finis fruit� et
121151497Srudoucement alcoolique.
122151497Sru.MCR
123151497Sru.TB 5
124151497SruSuperbe\|!  Une aubaine � ne pas manquer.  Pr�t � boire maintenant.
125151497Sru.MCX 1v  \" Multi-columns off; advance an extra linespace
126151497Sru\#
127151497Sru\# Now, an example of a hanging indent.  This is excessively fussy
128151497Sru\# from a typographic standpoint in that it hangs the asterisk outside
129151497Sru\# the current left margin so that the text following it lines up with
130151497Sru\# with the text in the tasting notes.  Notice that in order to use a
131151497Sru\# hanging indent, you must first set a left indent.
132151497Sru\#
133151497Sru.FT      I     \" Change font to italic
134151497Sru.PT_SIZE -.5   \" Reduce point size by 1/2 point
135151497Sru.LS      -.5   \" Reduce leading by 1/2 point
136151497Sru.JUSTIFY       \" Set text justified
137151497Sru\#
138151497Sru\# Now, move the left margin back by the width of an asterisk plus 2 points...
139151497Sru\#
140151497Sru.L_MARGIN -(\w'*'+2p)
141151497Sru\#
142151497Sru\# ...and set a left indent equal to the width of an asterisk plus 2 points
143151497Sru\#
144151497Sru.IL \w'*'+2p   
145151497Sru\#
146151497Sru\# Now, set the hanging indent equal to the left indent, effectively pulling
147151497Sru\# the first line of the following text back to the new left margin.
148151497Sru\# Subsequent output lines will be indented by the .IL amount.
149151497Sru\# Notice that when using the \w inline escape, there's no need to append
150151497Sru\# a unit of measure to it.
151151497Sru\#
152151497Sru.HI \w'*'+2p
153151497Sru*\*[FWD 1p]The term "Band-Aid" means the slightly sweet, vaguely chemical
154151497Srusmell associated with medical-grade plastics.  It is often found in
155151497Sruwines from terroirs in South America.  Provided a wine has a sufficient
156151497Sruconcentration of fruit
157151497Sru.RW .04   \" Kern the whole next line slightly, so "lipstick" doesn't hyphenate.
158151497Sruaromas and complex tertiary characteristics, Band-Aid is a Good Thing.
159151497SruOtherwise, it smells like cheap lipstick.
160151497Sru.RW 0     \" Reset kerning to 0
161151497Sru\#
162151497Sru\# Notice, above, that although the values for IL and HI are the width
163151497Sru\# of an asterisk plus 2 points, when setting the first line of text
164151497Sru\# (the one with the asterisk at the beginning), we put only 1 point of
165151497Sru\# space after the *.  This is to compensate for the fact that in the
166151497Sru\# italic font, the letter T doesn't align visually with the rest of
167151497Sru\# the text.  As already noted, this is an extremely fussy example. :)
168151497Sru\#
169151497Sru.IQ CLEAR      \" Cancel and clear stored indent values 
170151497Sru.L_MARGIN 1i   \" Reset left margin to its original value.
171151497Sru\#
172151497Sru.ALD 2P        \" Add 2-picas extra space before next example
173151497Sru\#
174151497Sru.FAM     T
175151497Sru.FT      B
176151497Sru.PT_SIZE 12
177151497Sru.LS      14
178151497Sru\#
179151497SruExample 2:
180151497Sru.ALD .25v
181151497Sru\#
182151497Sru.COMMENT       \" COMMENT lets you enter comments without using \# or \"
183151497SruIn the next line, because the string to be underscored must be
184151497Sruenclosed in double-quotes, you can't use the double-quote character
185151497Sruitself around the word "Massaging".  We circumvent this by using the
186151497Srugroff inline escapes \(lq and \(rq (leftquote and rightquote).
187151497Sru.COMMENT OFF   \" Remember to turn COMMENT off!
188151497Sru\#
189151497Sru.UNDERSCORE 3.75p "\(lqMassaging\(rq \*[BCK 1p]a passage of rag right text"
190151497Sru.SP            \" Add an extra linespace
191151497Sru\#
192151497Sru.PT_SIZE 12.5
193151497Sru.LS      14
194151497Sru.PT_SIZE -1   \" Reduce point size by 1 point
195151497SruPassage using groff spacing defaults
196151497Sru\#
197151497Sru.ALD .5v      \" Add an extra 1/2 line space
198151497Sru\#
199151497Sru.PT_SIZE +1   \" Restore point size
200151497Sru.QUAD    LEFT \" Set quad left, fill mode
201151497Sru.IB      3P   \" Indent 3 picas from both the left and right margins
202151497Sru.FT      R
203151497SruThe thousand injuries of Fortunato I had borne as I best could;
204151497Srubut when he ventured upon insult, I vowed revenge.  You, who so well
205151497Sruknow the nature of my soul, will not suppose, however, that I gave
206151497Sruutterance to a threat.  \*[IT]At length\*[PREV] I would be
207151497Sruavenged; this was a point definitively settled\(embut the very
208151497Srudefinitiveness with which it was resolved, precluded the idea of
209151497Srurisk.  I must not only punish, but punish with impunity.  A
210151497Sruwrong is unredressed when retribution overtakes its redresser.
211151497SruIt is equally unredressed when the avenger fails to make himself
212151497Srufelt as such to him who has done the wrong.
213151497Sru.ALD 6p
214151497Sru\#
215151497Sru\# The next line is set quad right, nofill mode, 1/2 point smaller
216151497Sru\# than the preceding text (using the \*[SIZE <n>] inline escape.
217151497Sru\#
218151497Sru.RIGHT
219151497Sru\*[SIZE -.5]\(emEdgar Allen Poe, \*[IT]The Cask of Amontillado\*[PREV]\*[SIZE +.5]
220151497Sru.SP            \" Extra linespace
221151497Sru.IBQ           \" Disable "indent both"
222151497Sru\#
223151497Sru\# The passage above, while acceptable in a longer document, exhibits a
224151497Sru\# few typographic flaws.  The shape of the right margin rag exhibits
225151497Sru\# a decidedly "rounded" appearance.  The word "I" stands alone at the
226151497Sru\# end of the third line.  The space between the 1st and 2nd sentences
227151497Sru\# ("...revenge. You...") is too large, owing to the letter "Y" that
228151497Sru\# begins the 2nd sentence.  The spacing between "A wrong..." (line 6)
229151497Sru\# is equally too large because of the way "A" and "w" fit together.
230151497Sru\# The em-dash before Edgar isn't vertically centered with the letter "E".
231151497Sru\# And so on.  The most important correction below is fixing the rag
232151497Sru\# so that longer and shorter lines alternate.  This is accomplished by
233151497Sru\# manually breaking lines and then slightly lengthening and shortening
234151497Sru\# them until a pleasing rag is achieved.  The remainder of the little
235151497Sru\# flaws are fixed with inline escapes.
236151497Sru\#
237151497Sru.FT       B
238151497Sru.PT_SIZE -1
239151497Sru.LEFT
240151497SruThe same passage, \*[BU 4]"massaged"
241151497Sru\#
242151497Sru.ALD .5v
243151497Sru\#
244151497Sru.FT       R
245151497Sru.PT_SIZE +1 
246151497Sru.QUAD     LEFT
247151497Sru.HY OFF           \" Turn automatic hyphenation off
248151497Sru.BR_AT_LINE_KERN  \" Automatically insert a line break (.BR) with each invocation of .RW and .EW 
249151497Sru.WS +1            \" Increase word space slightly
250151497Sru.IB               \" Turn "indent both" back on; values are the same as before
251151497Sru\#
252151497SruThe thousand injuries of Fortunato I had borne as I best could; but
253151497Sruwhen he ventured upon insult, I \*[BU 2]vowed revenge.  \*[BU 4]Y\*[BU 6]ou,
254151497Sru\*[BU 4]who so \*[BU 2]well know the nature
255151497Sru.EW .2
256151497Sruof my soul, \*[BU 2]will not suppose, however, that I gave utterance to
257151497Srua threat.  \*[IT]At
258151497Sru.EW .2
259151497Srulength\*[PREV] I would be avenged; this was a point definitively
260151497Srusettled\(embut the
261151497Sru.EW .2
262151497Sruv\*[BU 1]ery definitiveness with which it was resolved, precluded the idea
263151497Sruof risk.
264151497Sru.EW 0
265151497SruI must not only punish, but punish with impunity.  A \*[BCK 1p]wrong is
266151497Sruunredressed
267151497Sru.EW .1
268151497Sruwhen retribution overtakes its redresser.  It is equally unredressed
269151497Sruwhen the
270151497Sru.RW .1
271151497Sruavenger fails to make himself felt as such to him \*[BU 2]who has done
272151497Sruthe wrong.
273151497Sru.RW  0         \" Restore normal kerning
274151497Sru.WS  +0        \" Restore normal wordspacing
275151497Sru.ALD 6p
276151497Sru.PT_SIZE -.5
277151497Sru.RIGHT
278151497Sru\*[UP 1.5p]\(em\*[DOWN 1.5p]\*[BCK 1p]Edgar \*[BCK 1p]Allen Poe, \*[IT]The Cask of Amontillado\*[PREV]
279151497Sru.IQ CLEAR      \" Cancel and clear stored values of all indents
280151497Sru\#
281151497Sru\#
282151497Sru.NEWPAGE       \" Start a new page
283151497Sru.T_MARGIN 1i   \" Set top margin to 1i (approx. equivalent to .ALD 1i-1v above)
284151497Sru\#
285151497Sru.FAM     T
286151497Sru.FT      B
287151497Sru.PT_SIZE 12
288151497Sru.LS      14
289151497Sru.LEFT
290151497Sru\#
291151497SruExample 3:
292151497Sru.ALD .25v
293151497Sru.UNDERSCORE 3.75p "A \*[BU 2]recipe for enumerated lists using indents"
294151497Sru.SP .5v        \" Add an extra half line space
295151497Sru.FAM      N    \" New Century Schoolbook family
296151497Sru.FT       R
297151497Sru.PT_SIZE 11
298151497Sru.LS      13
299151497Sru.HY            \" Turn hyphenation back on
300151497Sru.JUSTIFY       \" Justify text
301151497SruThis example demonstrates the use of left and hanging indents for
302151497Srusimple enumerated lists.  Nested lists are possible, as the example
303151497Srushows; however, the more complex the nesting, the wiser it becomes
304151497Sruto use (string) tabs, as seen in Example 4.
305151497Sru.TI 1.5m
306151497Sru\*[BD]Please note: mom\*[PREV] has macros that allow you to set
307151497Sruenumerated lists automatically.  These examples merely show hanging
308151497Sruindents and string tabs in use.
309151497Sru\#
310151497Sru.JUSTIFY       \" Justify text
311151497Sru.IL \w'\0.\0'  \" Establish a left indent equal to the width of 2 figure spaces plus a period.
312151497Sru.HI \w'\0.\0'  \" Establish a hanging indent equal to the size of the left indent.
313151497Sru.ALD 6p
314151497Sru\#
315151497Sru\#
316151497Sru1.\0This is the first item in the list.  N\*[BU 2]otice how the first line
317151497Sru"hangs" back from the remaining text, which is otherwise
318151497Sruindented by the width of by two figure-spaces (digit-width
319151497Sruspaces) and a period.
320151497Sru.BR
321151497Sru.HI            \" Notice that HI doesn't require an argument once the value's been set
322151497Sru.ALD 6p
323151497Sru2.\0This is the second item in the list.  As with the above item,
324151497Srunotice the use of the \*[BU 8]\\0 escape sequence in the input text.  It's
325151497Sruthere to ensure that the space after the number/period combination
326151497Srualways remains the same (i.e. doesn't stretch when the line is
327151497Srujustified).  That way, the text of each item always lines up perfectly.
328151497Sru\#
329151497Sru.COMMENT
330151497SruNow we're going to set a bullet-point list, indented from the text
331151497Sruabove by 1 pica.  IL arguments are always added to whatever value
332151497Sruis in already effect for IL, hence all we have to do is tell mom to
333151497Sruindent (from the current left indent) 1 pica plus the width of the
334151497Srubullet character ( \(bu ).  \*[FWD 3p] puts three points of space after
335151497Sruthe bullet so that the bullet and the text are visually separated.
336151497Sru.COMMENT OFF
337151497Sru\#
338151497Sru\#
339151497Sru.IL 1P+\w'\(bu\*[FWD 3p]'
340151497Sru\#
341151497Sru\# Hanging indents are always relative to the current left indent.
342151497Sru\# The additional 1-pica indent, above, already having been taken
343151497Sru\# care of, we only want to hang the first lines of bullet list items
344151497Sru\# back by the width of the bullet character plus its 3 extra
345151497Sru\# points of space.
346151497Sru\#
347151497Sru.ALD 6p
348151497Sru.HI \w'\(bu\*[FWD 3p]'
349151497Sru\*[DOWN 1p]\(bu\*[UP 1p]\*[FWD 3p]This is the first line of a sublist with bullets.
350151497SruN\*[BU 2]otice how the first line (the one with the bullet) is indented
351151497Sruexactly one pica from the text of the list item above it, while the
352151497Sruremaining lines align with the left indent we set above.
353151497Sru.ALD 6p
354151497Sru.HI
355151497Sru\*[DOWN 1p]\(bu\*[UP 1p]\*[FWD 3p]This is the second item of the sublist with bullets.  \*[BU 4]We
356151497Srucould go on indefinitely, but let's go back to the top level (numbered)
357151497Srulist...
358151497Sru\#
359151497Sru\# The easiest way to return to a previous indent value is by subtraction.
360151497Sru\# The argument to IL, above, was 1P+\w'\(bu\*[FWD 3p]', so we just reverse
361151497Sru\# it by putting a minus sign in front.  The parentheses are required
362151497Sru\# for groff to evaluate the expression properly.
363151497Sru\#
364151497Sru.IL -(1P+\w'\(bu\*[FWD 3p]')
365151497Sru.HI \w'\0.\0'  \" Reset hanging indent for use with numbered items.
366151497Sru.ALD 6p
367151497Sru3.\0...and here we are.
368151497Sru.HI            \" Again, notice that once HI has been set, you don't have to keep passing it an argument.
369151497Sru.ALD 6p
370151497Sru4.\0In order not to make the example too long, we'll stop here.
371151497Sru.IQ CLEAR      \" Don't forget to cancel and/or clear indents!
372151497Sru\#
373151497Sru.FAM T
374151497Sru.FT  B
375151497Sru.PT_SIZE 12
376151497Sru.LS  14
377151497Sru.LEFT
378151497Sru.SP
379151497Sru\#
380151497SruExample 4:
381151497Sru.ALD .25v
382151497Sru.UNDERSCORE 3.75p "A \*[BU 2]recipe for nested lists using string tabs"
383151497Sru.SP .5v
384151497Sru.FAM N
385151497Sru.FT  R
386151497Sru.PT_SIZE 11
387151497Sru.LS  13
388151497Sru.JUSTIFY
389151497SruAlthough setting up string tabs is a bit more complex than setting
390151497Sruup indents, it's \*[BU 3]well worth the effort, especially for nested lists.
391151497Sru.ALD 6p
392151497Sru\#
393151497Sru.COMMENT
394151497SruThe PAD line, below, sets up two string tabs.  The first (ST1)
395151497Sruis exactly the length of two figure spaces and a period.  The
396151497Srusecond (ST2) is simply "the remainder of the line."
397151497Sru.COMMENT OFF
398151497Sru\#
399151497Sru.SILENT        \" Don't print any of this
400151497Sru.PAD "\*[ST1]\0.\0\*[ST1X]\*[ST2]#\*[ST2X]"
401151497Sru.ST 1 L        \" String tabs must be "set" after being marked off in a line
402151497Sru.ST 2 J        \" ST 1 will be set flush left, nofill; ST 2 will be justified.
403151497Sru.SILENT OFF    \" Restore printing
404151497Sru\#
405151497Sru.TB 1
406151497Sru1.
407151497Sru.TN    \" Use .TN here so text stays on the same baseline as the number in tab 1
408151497SruThis is the first item in the list.  N\*[BU 2]otice how, just as in Example 3,
409151497Sruthe first line hangs back from the remaining text, which is otherwise
410151497Sruindented.
411151497Sru.ALD 6p
412151497Sru.TB  1
413151497Sru2.
414151497Sru.TN
415151497SruThis is the second item in the list.  N\*[BU 2]otice that when setting "lists"
416151497Sruwith tabs, there's no need to use the \*[BU 8]\\0 escape sequence after
417151497Sruthe number/period combination in the input text.
418151497Sru.ALD 6p
419151497Sru\#
420151497Sru.COMMENT
421151497SruNow, set up the indented bullet-point sublist.  The PAD line
422151497Srusays: move forward 12 points (1 pica), then mark off a string
423151497Srutab (ST3) that's the length of the bullet character; move foward
424151497Sruanother three points, then make the next string tab (ST4) the
425151497Srulength of remainder of the line.
426151497Sru.COMMENT OFF
427151497Sru\#
428151497Sru.SILENT
429151497Sru.PAD "\*[FWD 12p]\*[ST3]\(bu\*[ST3X]\*[FWD 3p]\*[ST4]#\*[ST4X]"
430151497Sru.ST 3 L
431151497Sru.ST 4 J
432151497Sru.SILENT OFF
433151497Sru.ALD 6p
434151497Sru.TB  3
435151497Sru\*[DOWN 1p]\(bu\*[UP 1p]
436151497Sru.TN
437151497SruThis is the first line of a sublist with bullets.  N\*[BU 2]otice how the
438151497Srubullets and the text line up exactly the same as in Example 3.
439151497Sru.ALD 6p
440151497Sru.TB  3
441151497Sru\*[DOWN 1p]\(bu\*[UP 1p]
442151497Sru.TN
443151497SruThis is the second item of the sublist with bullets.  For the fun of
444151497Sruit, lets add in an
445151497Sru.SPREAD
446151497Sruen-dashed sub-sublist.
447151497Sru.BR  \" We're in a fill mode right now, so you *must* terminate the line with BR
448151497Sru\#
449151497Sru.SILENT
450151497Sru.PAD "\*[FWD 12p]\*[ST5]\(en\*[ST5X]\*[FWD 4p]\*[ST6]#\*[ST6X]"
451151497Sru.ST 5 L
452151497Sru.ST 6 J
453151497Sru.SILENT OFF
454151497Sru.ALD 6p
455151497Sru.TB  5
456151497Sru\*[UP .75p]\(en\*[DOWN .75p]
457151497Sru.TN
458151497SruLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
459151497Srunonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
460151497Srused diam voluptua.
461151497Sru.ALD 6p
462151497Sru.TB  5
463151497Sru\*[UP .75p]\(en\*[DOWN .75p]
464151497Sru.TN
465151497SruAt \*[BU 3]vero eos et accusam et justo duo dolores et ea rebum.  Stet clita
466151497Srukasd gubergren, no sea takimata sanctus est lorem ipsum dolor sit amet.
467151497Sru.ALD 6p
468151497Sru.TB  1
469151497Sru3.
470151497Sru.TN
471151497SruAnd here we are, back at the top-level numbered list with a minimum
472151497Sruof muss and fuss,
473151497Sru.ALD 6p
474151497Sru.TB  1
475151497Sru4.
476151497Sru.TN
477151497SruGenerally speaking, once you get the hang of string tabs and the
478151497Sru\*[BD]PAD\*[PREV] macro, you'll find setting up complex nested lists
479151497Sru(or anything similar to them) easier than with hanging indents.
480151497Sru.TQ
481151497Sru\#
482151497Sru.NEWPAGE
483151497Sru.FAM     T
484151497Sru.FT      B
485151497Sru.PT_SIZE 12
486151497Sru.LS      14
487151497Sru.LEFT
488151497Sru\#
489151497SruExample 5:
490151497Sru.ALD .25v
491151497Sru.UNDERSCORE 3.75p "Word spacing"
492151497Sru.ALD 8p
493151497Sru.FAM P         \" Palatino family
494151497Sru.PT_SIZE 11
495151497Sru.LS  14
496151497Sru\#
497151497Sru\# The "label" lines for the following are set in Helvetica bold, one
498151497Sru\# point smaller than the examples themselves.  This demonstrates the
499151497Sru\# use of the groff inline escape \f[...] to change both family and
500151497Sru\# font inline.  It also shows using the mom inline \*S[...], which is
501151497Sru\# an alternate form of the inline, \*[SIZE <n>]
502151497Sru\#
503151497Sru\f[HB]\*S[-1]Normal word spacing\*S[+1]\*[PREV]
504151497Sru.FT R
505151497SruN\*[BU 1]o\*[BU 1]w \*[BU 1]is the time for all good men to come to the aid of the party.
506151497Sru.ALD 4p
507151497Sru\f[HB]\*S[-1]Word spacing adjusted by \*[UP 1p]\*[BU 3]+\*[DOWN 1p]\*[BU 1]2\*S[+1]\*[PREV]
508151497Sru.FT R
509151497Sru.WS +2
510151497SruN\*[BU 1]o\*[BU 1]w \*[BU 1]is the time for all good men to come to the aid of the party.
511151497Sru.WS  +0
512151497Sru.ALD 4p
513151497Sru\f[HB]\*S[-1]Word spacing adjusted by \*[UP 1p]\*[BU 3]+\*[DOWN 1p]4\*S[+1]\*[PREV]
514151497Sru.FT R
515151497Sru.WS +4
516151497SruN\*[BU 1]o\*[BU 1]w \*[BU 1]is the time for all good men to come to the aid of the party.
517151497Sru.WS  +0
518151497Sru.ALD 4p
519151497Sru\f[HB]\*S[-1]Word spacing adjusted by \*[UP 1p]\*[BU 3]+\*[DOWN 1p]6\*S[+1]\*[PREV]
520151497Sru.FT R
521151497Sru.WS +6
522151497SruN\*[BU 1]o\*[BU 1]w \*[BU 1]is the time for all good men to come to the aid of the party.
523151497Sru.WS +0
524151497Sru.SP 1.5v
525151497Sru\#
526151497Sru.FAM     T
527151497Sru.FT      B
528151497Sru.PT_SIZE 12
529151497Sru.LS      14
530151497Sru\#
531151497Sru.LEFT
532151497SruExample 6:
533151497Sru.ALD .25v
534151497Sru.UNDERSCORE 3.75p "Line kerning"
535151497Sru.ALD 8p
536151497Sru.FAM     P     \" Palatino family
537151497Sru.FT      R
538151497Sru.PT_SIZE 11
539151497Sru.LS      15
540151497Sru\#
541151497Sru\# Here, we set up some tabs so the examples can go into facing columns.
542151497Sru\#
543151497Sru.TAB_SET 1 0 19.5P L
544151497Sru.TAB_SET 2 19.5P 19.5P L
545151497Sru\#
546151497Sru.MCO           \" Turn multi-columns on
547151497Sru.TB 1
548151497Sru\f[HB]\*S[-1]Unkerned line\*S[+1]\*[PREV]
549151497Sru.FT R
550151497Sru"But this is \*[IT]important!\/"\*[PREV]she exclaimed.
551151497Sru.ALD 4p
552151497Sru\f[HB]\*S[-1]Line "tightened" \(en .RW .1\*S[+1]\*[PREV]
553151497Sru.RW .1
554151497Sru"But this is \*[IT]important!\/"\*[PREV]she exclaimed.
555151497Sru.ALD 4p
556151497Sru\#
557151497Sru\# In the next line, notice that because it uses a different family
558151497Sru\# (Helvetica instead of Palatino), the RW macro doesn't affect it.
559151497Sru\#
560151497Sru\f[HB]\*S[-1]Line "tightened" \(en .RW .2\*S[+1]\*[PREV]
561151497Sru.RW .2
562151497Sru"But this is \*[IT]important!\/"\*[PREV]she exclaimed.
563151497Sru.ALD 4p
564151497Sru\f[HB]\*S[-1]Line "tightened" \(en .RW .3\*S[+1]\*[PREV]
565151497Sru.RW .3
566151497Sru"But this is \*[IT]important!\/"\*[PREV]she exclaimed.
567151497Sru.MCR
568151497Sru.TB 2
569151497Sru\f[HB]\*S[-1]Unkerned line\*S[+1]\*[PREV]
570151497Sru"But this is \*[IT]important!\/"\*[PREV]she exclaimed.
571151497Sru.ALD 4p
572151497Sru\f[HB]\*S[-1]Line "loosened" \(en .EW .1\*S[+1]\*[PREV]
573151497Sru.EW .1
574151497Sru"But this is \*[IT]important!\/"\*[PREV]she exclaimed.
575151497Sru.ALD 4p
576151497Sru\f[HB]\*S[-1]Line "loosened" \(en .EW .2\*S[+1]\*[PREV]
577151497Sru.EW .2
578151497Sru"But this is \*[IT]important!\/"\*[PREV]she exclaimed.
579151497Sru.ALD 4p
580151497Sru\f[HB]\*S[-1]Line "loosened" \(en .EW .3\*S[+1]\*[PREV]
581151497Sru.EW .3
582151497Sru"But this is \*[IT]important!\/"\*[PREV]she exclaimed.
583151497Sru.MCX 1.5v
584151497Sru\#
585151497Sru.FAM     T
586151497Sru.FT      B
587151497Sru.PT_SIZE 12
588151497Sru.LS      14
589151497Sru.LEFT
590151497Sru\#
591151497SruExample 7:
592151497Sru.ALD .25v
593151497Sru.UNDERSCORE 3.75p "Cutaround using left\*[FU 2]/right indents, multi columns \
594151497Sruand a dropcap"
595151497Sru.SP
596151497Sru\#
597151497Sru.FT R
598151497Sru.PT_SIZE 11
599151497Sru.LS 12
600151497Sru.BR_AT_LINE_KERN OFF    \" In justified text, it's best to have this OFF
601151497Sru\#
602151497Sru.TAB_SET 1  0      18.5P  J
603151497Sru.TAB_SET 2  20.5P  18.5P  J
604151497Sru.MCO
605151497Sru.ALD 5P+9p
606151497Sru\#
607151497Sru\# The little picture of tux.
608151497Sru\#
609151497Sru.PSPIC penguin.ps
610151497Sru.MCR
611151497Sru.TAB 1
612151497Sru.XCOLOR        red   \" Initialize the X11 color, red
613151497Sru.DROPCAP_COLOR red
614151497Sru.DROPCAP_FONT  B
615151497Sru.DROPCAP L 3 COND 80 \" i.e. the letter L dropped 3 lines, condensed to 80% of its normal width
616151497Sru.EW .2
617151497Sruorem ipsum dolor sit amet, consetetur sa\%dip\%scing elitr, sed diam
618151497Srunonumy eir\%mod tempor invidunt ut labore et dolore magna aliquyam erat,
619151497Srused diam voluptua.
620151497Sru.EW 0
621151497Sru.TI 1P
622151497SruAt vero eos et accusam et justo duo dolores et ea rebum.  Stet clita
623151497Srukasd gubergren, no sea taki-
624151497Sru.SPREAD              \" Force justify preceding line before starting indent
625151497Sru.IR 3.5P
626151497Srukimata sanctus est lorem ipsum dolor sit amet.
627151497SruLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
628151497Srunonumy eirmod tempor.
629151497Sru.EW .2
630151497Sru.TI
631151497SruInvidunt ut labore et dolore magna ali\%qu\%yam erat, sed diam voluptua.
632151497SruAt
633151497Sru.EW 0
634151497Sruvero eos et accusam et justo duo dolores et ea rebum.
635151497Sru.TI
636151497SruStet clita kasd gubergren, no sea ta-
637151497Sru.SPREAD             \" Force justify preceding line before quitting indent
638151497Sru.IRQ
639151497Srukimata sanctus est lorem ipsum dolor sit amet.  Lorem ipsum dolor
640151497Srusit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
641151497Sruin\%vi\%dunt ut labore et dolore magna aliquyam erat.  Sed diam voluptua,
642151497Sruat vero eos et accusam et justo duo
643151497Sru.SPREAD
644151497Sru.EW .3
645151497Srudolores et ea rebum.  Stet clita no kasd guber-
646151497Sru.SPREAD
647151497Sru.MCR
648151497Sru.TB 2
649151497Srugren, no sea takimata sanctus est lorem ipsum
650151497Sru.EW 0
651151497Srudolor sit amet.  Consetetur sadipscing elitr, sed diam nonumy eirmod
652151497Srutempor invidunt ut labore et dolore.
653151497Sru.TI
654151497SruMagna aliquyam erat, sed diam voluptua, at vero eos et accusam.
655151497SruEt justo duo dolores et ea
656151497Sru.SPREAD
657151497Sru.IL 3.5P
658151497Srurebum, stet clita kasd gubergren.  No sea
659151497Srutakimata sanctus est, lorem ipsum dolor sit amet.
660151497Sru.TI
661151497SruSit amet, consetetur sadipscing elitr, sed diam.  Nonumy eirmod tempor
662151497Sruin\%vi-
663151497Sru.EW .3
664151497Srudunt ut labore et dolore magna.  Ali-
665151497Sru.EW 0
666151497Sruquyam erat sed diam voluptua.
667151497SruAt vero eos et accusam et justo duo dolores et ea rebum stet.
668151497Sru.ILQ
669151497Sru.TI
670151497SruDolores et ea rebum stet clita kasd gubergren, no sea takimata
671151497Srusanctus.  Sadipscing elitr sed diam, nonumy eirmod tempor, invidunt
672151497Sruut labore et dolore magna aliquyam erat.  Sed diam voluptua, at vero
673151497Srueos et accusam et justo duo dolores et ea rebum.
674