Lines Matching +full:ascii +full:. +full:r

2 .\" The above line should force the use of eqn as a preprocessor
3 .ig
4 groff_diff.man
8 This file is part of groff, the GNU roff type-setting system.
9 It is the source of the man-page groff_diff(7).
11 Copyright (C) 1989, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
14 modified by Werner Lemberg <wl@gnu.org>
15 Bernd Warken <bwarken@mayn.de>
20 Invariant Sections being this .ig-section and AUTHORS, with no
21 Front-Cover Texts, and with no Back-Cover Texts.
24 FDL in the main directory of the groff source package.
25 ..
26 .
27 .\" --------------------------------------------------------------------
28 .\" Setup
29 .\" --------------------------------------------------------------------
30 .
31 .do nr groff_diff_C \n[.C]
32 .cp 0
33 .
34 .mso www.tmac
35 .
36 .if n \{\
37 . mso tty-char.tmac
38 . ftr CR R
39 . ftr CI I
40 . ftr CB B
41 .\}
42 .
43 .if '\*[.T]'dvi' \
44 . ftr CB CW
45 .
46 .\" define a string tx for the TeX logo
47 .ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
48 .el .ds tx TeX
49 .
50 .
51 .\" --------------------------------------------------------------------
52 .\" start of macro definitions
53 .
54 .eo
55 .
56 .de c
57 ..
58 .
59 .de TQ
60 . br
61 . ns
62 . TP \$1
63 ..
64 .de Text
65 . RI "\$*"
66 ..
67 .de Topic
68 . TP 2m
69 . Text \[bu]
70 ..
71 .de squoted
72 . ds @arg1 \$1
73 . shift
74 .\" Text \[oq]\f[CB]\*[@arg1]\f[]\[cq]\$*
75 . Text \[oq]\f[B]\*[@arg1]\f[]\[cq]\$*
76 . rm @arg1
77 ..
78 .c A shell command line
79 .de ShellCommand
80 . br
81 . IR "shell#" "\h'1m'\f[CB]\$*\f[]\/"
82 ..
83 .c reference of a request or macro
84 .de request
85 . ds @arg1 \$1
86 . shift 1
87 .\" Text \f[CB]\*[@arg1]\f[]\$*
88 . Text \f[B]\*[@arg1]\f[]\$*
89 . rm @arg1
90 ..
91 .als option request
92 .
93 .c representation of an escape sequence
94 .de esc
95 . ds @arg1 \$1
96 . shift
97 .\" Text \f[CB]\[rs]\*[@arg1]\f[]\$*
98 . Text \f[B]\[rs]\*[@arg1]\&\f[]\$*
99 . rm @arg1
100 ..
101 .ec
102 .\" end of macro definitions
103 .
104 .\" from old groff_out.man
105 .ie \n(.g \
106 . ds ic \/
107 .el \
108 . ds ic \^
109 .
110 .
111 .\" --------------------------------------------------------------------
112 .\" Title
113 .\" --------------------------------------------------------------------
114 .
115 .TH GROFF_DIFF @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
116 .SH NAME
118 .
119 .
120 .\" --------------------------------------------------------------------
121 .SH DESCRIPTION
122 .\" --------------------------------------------------------------------
123 .
125 .IR groff ,
127 .I roff
129 .I roff
132 .I Troff User's Manual
134 .I Osanna
136 .IR Kernighan .
138 format (troff output).
139 .
140 .P
142 .I SEE ALSO
144 .I roff
146 .I groff
147 documentation.
148 .
149 .
150 .\" --------------------------------------------------------------------
151 .SH "GROFF LANGUAGE"
152 .\" --------------------------------------------------------------------
153 .
155 .I groff
157 .I troff
158 are described in detail.
159 .
160 .
161 .\" --------------------------------------------------------------------
162 .SS "Long names"
163 .\" --------------------------------------------------------------------
164 .
166 special characters (glyphs), and colors can be of any length.
167 .
169 .BI ( xx
171 .BI [ xxx ]
172 for a name of arbitrary length.
173 .
174 .TP
175 .BI \[rs][ xxx ]
177 .IR xxx .
178 .
179 .TP
180 .BI \[rs][ "comp1 comp2 .\|.\|." ]
181 Print composite glyph consisting of multiple components.
182 .
184 to glyph name `u0041_0328'.
185 .
187 .I groff info file
189 .BR groff_char (@MAN7EXT@)
190 for list of glyph name components used composite glyph names.
191 .
192 .TP
193 .BI \[rs]f[ xxx ]
195 .IR xxx .
196 .
198 .B \[rs]f[]
200 .BR \[rs]fP ,
201 i.e., to return to the previous font.
202 .
203 .TP
204 .BI \[rs]*[ "xxx arg1 arg2 .\|.\|." ]
206 .IR xxx ,
208 .IR arg1 ,
209 .IR arg2 ,
210 .I .\|.\|.\&
211 as arguments.
212 .
213 .TP
214 .BI \[rs]n[ xxx ]
216 .IR xxx .
217 .
218 .
219 .\" --------------------------------------------------------------------
220 .SS "Fractional pointsizes"
221 .\" --------------------------------------------------------------------
222 .
224 .I scaled point
226 .B 1/sizescale
228 .B sizescale
230 .B DESC
231 file (1 by default).
232 .
234 .B z
235 that has the effect of multiplying by sizescale.
236 .
240 .BR z .
242 .B ps
244 .B cs
246 .B tkf
248 .B \[rs]H
250 .B \[rs]s
251 escape sequence that take a numeric expression as their argument.
252 .
253 .P
256 .B .ps\ 10.25
258 .B .ps\ 10.25z
260 10.25 points.
261 .
262 .P
264 .B \[rs]n[.s]
265 returns the pointsize in points as decimal fraction.
266 .
268 .B \[rs]n[.ps]
269 that returns the pointsize in scaled points.
270 .
271 .P
273 .B z
276 .B u
278 .BR z ,
280 .B troff
281 disallows this.
282 .
284 .B z
286 .B u
288 .BR z ,
290 .B troff
291 disallows this as well.
292 .
293 .P
295 .B s
296 which multiplies by the number of units in a scaled point.
297 .
299 .B \[rs]n[.ps]s
301 .BR 1m .
303 .B s
305 .B z
306 scale indicators.
307 .
308 .
309 .\" --------------------------------------------------------------------
310 .SS "Numeric expressions"
311 .\" --------------------------------------------------------------------
312 .
313 Spaces are permitted in a number expression within parentheses.
314 .
315 .P
316 .B M
317 indicates a scale of 100ths of an em.
318 .B f
321 .B defcolor
322 request.
323 .
324 For example, 0.5f = 32768u.
325 .
326 .TP
327 .IB e1 >? e2
329 .I e1
331 .IR e2 .
332 .
333 .TP
334 .IB e1 <? e2
336 .I e1
338 .IR e2 .
339 .
340 .TP
341 .BI ( c ; e )
343 .I e
345 .I c
346 as the default scaling indicator.
347 .
349 .I c
351 .IR e .
352 .
353 .
354 .\" --------------------------------------------------------------------
355 .SS "New escape sequences"
356 .\" --------------------------------------------------------------------
357 .
358 .TP
359 .BI \[rs]A' anything '
361 .B 1
363 .B 0
364 resp., depending on whether
365 .I anything
367 register, environment, font, or color.
369 .B 0
371 .I anything
372 is empty.
373 .
375 associative table.
376 .
377 .TP
378 .BI \[rs]B' anything '
380 .B 1
382 .B 0
383 resp., depending on whether
384 .I anything
385 is or is not a valid numeric expression.
386 .
388 .B 0
390 .I anything
391 is empty.
392 .
393 .TP
394 .BI \[rs]C' xxx '
396 .IR xxx .
398 .BI \[rs][ xxx ]\f[R].
400 .B \[rs]C
402 .SM UNIX
403 and is available in compatibility mode.
404 .
405 .TP
406 .B \[rs]E
408 copy-mode.
409 .
412 .
413 .RS
414 .IP
415 .ft CB
416 .Text .ds { \[rs]v'\-.3m'\[rs]s'\[rs]En[.s]*6u/10u'
417 .br
418 .Text .ds } \[rs]s0\[rs]v'.3m'
419 .ft
420 .
421 .P
423 .B \[rs]E
425 .B \[rs]*{
427 argument).
428 .RE
429 .
430 .TP
431 .BI \[rs]F f
432 .TQ
433 .BI \[rs]F( fm
434 .TQ
435 .BI \[rs]F[ fam ]
436 Change font family.
437 .
439 .B fam
440 request.
441 .
442 .B \[rs]F[]
444 .B \[rs]FP
445 won't work; it selects font family `P' instead).
446 .
447 .TP
448 .BI \[rs]m x
449 .TQ
450 .BI \[rs]m( xx
451 .TQ
452 .BI \[rs]m[ xxx ]
453 Set drawing color.
454 .B \[rs]m[]
455 switches back to the previous color.
456 .
457 .TP
458 .BI \[rs]M x
459 .TQ
460 .BI \[rs]M( xx
461 .TQ
462 .BI \[rs]M[ xxx ]
464 .BI \[rs]D' .\|.\|. '
465 commands.
466 .B \[rs]M[]
467 switches back to the previous color.
468 .
469 .TP
470 .BI \[rs]N' n '
472 .I n
473 in the current font.
474 .I n
475 can be any integer.
476 .
477 Most devices only have glyphs with indices between 0 and 255.
478 .
481 .I not
482 be searched.
483 .
485 .B \[rs]N
487 .B char
489 .
490 .RS
491 .ft CB
492 .IP
493 .Text .char \[rs][phone] \[rs]f(ZD\[rs]N'37'
494 .ft
495 .RE
496 .
497 .IP
500 .B charset
501 command.
502 .
505 .BR \-\-\- ;
507 .B \[rs]N
508 escape sequence is the only way to use these.
509 .
510 .TP
511 .BI \[rs]O n
512 .TQ
513 .BI \[rs]O[ n ]
514 Suppressing troff output.
515 .
517 .BR \[rs]02 ,
518 .BR \[rs]O3 ,
519 .BR \[rs]O4 ,
521 .B \[rs]O5
523 .BR \%grohtml .
524 .
525 .RS
526 .TP
527 .B \[rs]O0
530 .B \[rs]O3
532 .BR \[rs]O4 ).
533 .
534 .TP
535 .B \[rs]O1
537 level.
538 .IP
539 .B \[rs]O0
541 .B \[rs]O1
543 .BR \[rs]n[opminx] ,
544 .BR \[rs]n[opminy] ,
545 .BR \[rs]n[opmaxx] ,
547 .B \[rs]n[opmaxy]
548 to\~-1.
549 .
551 of a box which encompasses all written glyphs.
552 .
553 .TP
554 .B \[rs]O2
558 .BR \[rs]O .
559 .
560 .TP
561 .B \[rs]O3
562 Begin a nesting level.
563 .
565 .B troff
566 is at outer level.
567 .
569 .B \%grohtml
570 while producing images.
571 .
573 .B troff
575 .B ghostscript
576 to produce images in PNG format.
577 .
579 .B \[rs]O3
581 possibility of images crossing a page boundary).
582 .
583 .TP
584 .B \[rs]O4
585 End a nesting level.
586 .
587 .TP
588 .BI \[rs]O5[ Pfilename ]
590 .B \%grohtml
591 specific.
592 .
594 .I filename
595 to stderr.
596 .
598 .IR P ,
599 must be specified and must be one of l, r, c, or i (left, right,
600 centered, inline).
601 .
602 .I filename
603 will be associated with the production of the next inline image.
604 .RE
605 .
606 .TP
607 .BI \[rs]R' name\ \[+-]n '
609 .
610 .RS
611 .IP
612 .BI .nr\ name\ \[+-]n
613 .RE
614 .
615 .TP
616 .BI \[rs]s( nn
617 .TQ
618 .BI \[rs]s\[+-]( nn
620 .I nn
622 .I nn
623 must be exactly two digits.
624 .
625 .TP
626 .BI \[rs]s[\[+-] n ]
627 .TQ
628 .BI \[rs]s\[+-][ n ]
629 .TQ
630 .BI \[rs]s'\[+-] n '
631 .TQ
632 .BI \[rs]s\[+-]' n '
634 .I n
636 .I n
638 .BR z .
639 .
640 .TP
641 .BI \[rs]V x
642 .TQ
643 .BI \[rs]V( xx
644 .TQ
645 .BI \[rs]V[ xxx ]
647 .IR xxx ,
649 .BR getenv (3).
650 .B \[rs]V
651 is interpreted in copy-mode.
652 .
653 .TP
654 .BI \[rs]Y x
655 .TQ
656 .BI \[rs]Y( xx
657 .TQ
658 .BI \[rs]Y[ xxx ]
660 .BI \[rs]X'\[rs]*[ xxx ]'\f[R].
662 .I xxx
664 .I xxx
667 .B \[rs]X
668 to contain newlines).
669 .
672 extension.
673 .
674 .TP
675 .BI \[rs]Z' anything '
677 .I anything
678 may not contain tabs or leaders.
679 .
680 .TP
681 .B \[rs]$0
682 The name by which the current macro was invoked.
683 .
685 .B als
686 request can make a macro have more than one name.
687 .
688 .TP
689 .B \[rs]$*
691 by spaces.
692 .
693 .TP
694 .B \[rs]$@
696 surrounded by double quotes, and separated by spaces.
697 .
698 .TP
699 .BI \[rs]$( nn
700 .TQ
701 .BI \[rs]$[ nnn ]
703 .IR nn -th
705 .IR nnn -th
706 argument.
707 .
708 Macros and strings can have an unlimited number of arguments.
709 .
710 .TP
711 .BI \[rs]? anything \[rs]?
713 .I anything
714 in the diversion.
715 .I anything
716 is read in copy mode.
717 .
719 .I anything
720 will be interpreted.
721 .I anything
723 .B \[rs]!\&
724 if you want to embed newlines in a diversion.
725 .
727 .B \[rs]?\&
730 .IR anything .
732 .
733 .RS
734 .IP
735 .ne 14v+\n(.Vu
736 .ft CB
737 .nf
738 .Text .nr x 1
739 .Text .nf
740 .Text .di d
741 .Text \[rs]?\[rs]\[rs]?\[rs]\[rs]\[rs]\[rs]?\[rs]\[rs]\[rs]\[rs]\[rs]\[rs]\[rs]\c
742 .Text \[rs]nx\[rs]\[rs]\[rs]\[rs]?\[rs]\[rs]?\[rs]?
743 .Text .di
744 .Text .nr x 2
745 .Text .di e
746 .Text .d
747 .Text .di
748 .Text .nr x 3
749 .Text .di f
750 .Text .e
751 .Text .di
752 .Text .nr x 4
753 .Text .f
754 .fi
755 .ft
756 .RE
757 .
758 .IP
760 .BR 4 .
761 .
762 .TP
763 .B \[rs]/
766 correct if the following glyph is a roman glyph.
767 .
768 .if t \{\
769 . nop For example, if an italic f is immediately followed by a roman
770 . nop right parenthesis, then in many fonts the top right portion of
771 . nop the f will overlap the top left of the right parenthesis
772 . nop producing \f[I]f\f[R])\f[R], which is ugly.
773 . nop Inserting
774 . B \[rs]/
775 . nop produces
776 . ie \n(.g \f[I]f\/\f[R])\f[R]
777 . el \f[I]f\|\f[R])\f[R]
778 . nop and avoids this problem.
779 .\}
782 intervening space.
783 .
784 .TP
785 .B \[rs],
788 correct if the preceding glyph is a roman glyph.
789 .
790 .if t \{\
791 . nop For example, inserting
792 . B \[rs],
793 . nop between the parenthesis and the f changes
794 . nop \f[R](\f[I]f\f[R] to
795 . ie \n(.g \f[R](\,\f[I]f\f[R].
796 . el \f[R](\^\f[I]f\f[R].
797 .\}
800 intervening space.
801 .
802 .TP
803 .B \[rs])
805 .B \[rs]&
807 .B cflags
809 recognition.
810 .
811 .TP
812 .B \[rs]~
814 inter-word space when a line is adjusted.
815 .
816 .TP
817 .B \[rs]:
818 This causes the insertion of a zero-width break point.
819 .
821 .B \[rs]%
822 within a word but without insertion of a soft hyphen character.
823 .
824 .TP
825 .B \[rs]#
826 Everything up to and including the next newline is ignored.
827 .
828 This is interpreted in copy mode.
829 .
831 .B \[rs]"
833 .B \[rs]"
834 does not ignore the terminating newline.
835 .
836 .
837 .\" --------------------------------------------------------------------
838 .SS "New requests"
839 .\" --------------------------------------------------------------------
840 .
841 .TP
842 .BI .aln\ xx\ yy
844 .I xx
846 .IR yy .
847 The new name and the old name will be exactly equivalent.
848 .
850 .I yy
852 .B reg
853 will be generated, and the request will be ignored.
854 .
855 .TP
856 .BI .als\ xx\ yy
858 .I xx
860 .IR yy .
861 .
863 similar to a hard rather than a soft link).
864 .
866 .I yy
868 .B mac
869 will be generated, and the request will be ignored.
870 .
872 .BR de ,
873 .BR am ,
874 .BR di ,
875 .BR da ,
876 .BR ds ,
878 .B as
881 request; normally they modify the value of an existing object.
882 .
883 .TP
884 .BI .am1\ xx\ yy
886 .BR .am ,
887 but compatibility mode is switched off during execution.
888 .
891 the end.
892 .
894 .BR am ,
895 .BR am1 ,
896 .BR de ,
898 .B de1
901 .B .am1
903 .BR .ds1 .
904 .
905 .TP
906 .BI .ami\ xx\ yy
907 Append to macro indirectly.
908 .
910 .B dei
911 request below for more information.
912 .
913 .TP
914 .BI .ami1\ xx\ yy
916 .B ami
917 request but compatibility mode is switched off during execution.
918 .
919 .TP
920 .BI .as1\ xx\ yy
922 .BR .as ,
923 but compatibility mode is switched off during expansion.
924 .
926 beginning of the string, and a `compatibility restore' token at the end.
927 .
929 .BR as ,
930 .BR as1 ,
931 .BR ds ,
933 .B ds1
936 .B as1
938 .BR ds1 .
939 .
940 .TP
941 .BI .asciify\ xx
943 .I xx
945 .SM ASCII
948 .I xx
950 .I xx
951 is reread.
953 .B .writem
954 request.
955 .
957 .
958 .RS
959 .IP
960 .ne 7v+\n(.Vu
961 .ft CB
962 .nf
963 .Text .tr @.
964 .Text .di x
965 .Text @nr n 1
966 .Text .br
967 .Text .di
968 .Text .tr @@
969 .Text .asciify x
970 .Text .x
971 .fi
972 .ft
973 .RE
974 .
975 .IP
977 .B n
978 to\~1.
979 .
980 Note that glyph information (font, font size, etc.) is not preserved;
982 .B .unformat
983 instead.
984 .
985 .TP
986 .B .backtrace
987 Print a backtrace of the input stack on stderr.
988 .
989 .TP
990 .BI .blm\ xx
992 .IR xx .
994 is encountered instead of the usual troff behaviour.
995 .
996 .TP
997 .BI .box\ xx
998 .TQ
999 .BI .boxa\ xx
1001 .B di
1003 .B da
1005 become part of the diversion (i.e., the diversion always starts with a
1007 partially filled line which possibly comes from the diversion.
1008 .
1009 .TP
1010 .B .break
1011 Break out of a while loop.
1012 .
1014 .B while
1016 .B continue
1017 requests.
1018 .
1020 .B br
1021 request.
1022 .
1023 .TP
1024 .B .brp
1026 .BR \[rs]p .
1027 .
1028 .TP
1029 .BI .cflags\ n\ c1\ c2\|.\|.\|.\&
1031 .IR c1 ,
1032 .IR c2 ,\|.\|.\|.\&
1034 .IR n ,
1036 .
1037 .RS
1038 .IP 1
1040 .B .?!\&
1041 have this property).
1042 .
1043 .IP 2
1047 hyphenation codes.
1048 .
1049 .IP 4
1051 .B \-\[rs][hy]\[rs][em]
1054 hyphenation codes.
1055 .
1056 .IP 8
1058 .B \[rs][ul]\[rs][rn]\[rs][ru]\[rs][radicalex]\[rs][sqrtex]
1059 have this property).
1060 .
1061 .IP 16
1063 .B \[rs][br]
1064 has this property).
1065 .
1066 .IP 32
1072 .B \[dq]')]*\[rs](dg\[rs](rq
1073 have this property).
1074 .RE
1075 .
1076 .TP
1077 .BI .char\ c\ string
1079 .I c
1081 .IR string .
1083 .I c
1085 .I string
1087 wrapped up into a single object.
1088 .
1091 .B \[rs]
1093 .I string
1094 is being processed.
1095 .
1098 .IR string .
1099 .
1100 .IP
1102 glyph provided by the output device.
1103 .
1105 .B tr
1107 .B lc
1109 .B \[rs]l
1111 .B \[rs]L
1114 .B hcode
1115 request is used to give the character a hyphenation code.
1116 .
1117 .IP
1121 .BR char .
1122 .IP
1124 .B rchar
1125 request.
1126 .
1127 .TP
1128 .BI .chop\ xx
1130 .IR xx .
1132 that are to be interpolated as strings.
1133 .
1134 .TP
1135 .BI .close\ stream
1137 .IR stream ;
1138 .I stream
1140 .B write
1141 request.
1142 .
1144 .B open
1145 request.
1146 .
1147 .TP
1148 .BI .composite\ glyph1\ glyph2
1150 .I glyph1
1152 .I glyph2
1154 .BI \[rs][ ... ]
1155 with more than one component.
1156 .
1157 .TP
1158 .B .continue
1159 Finish the current iteration of a while loop.
1160 .
1162 .B while
1164 .B break
1165 requests.
1166 .
1167 .TP
1168 .BI .color\ n
1170 .I n
1172 disable them.
1173 .
1174 .TP
1175 .BI .cp\ n
1177 .I n
1179 it.
1180 .
1182 incompatibilities caused by long names do not arise.
1183 .
1184 .TP
1185 .BI .defcolor\ xxx\ scheme\ color_components
1186 Define color.
1187 .I scheme
1189 .B rgb
1191 .B cym
1193 .B cmyk
1195 .B gray
1197 .B grey
1198 (one component).
1199 .
1201 positive decimal integers in the range 0-65535.
1202 .
1205 .B #
1207 .BR ## .
1209 internally multiplied by\~257), the latter in the range 0-65535.
1210 .
1211 Examples: #FFC0CB (pink), ##ffff0000ffff (magenta).
1212 .
1214 .B f
1217 to\~1.
1218 .
1220 .
1221 .RS
1222 .IP
1223 .ft CB
1224 .Text .defcolor darkgreen rgb 0.1f 0.5f 0.2f
1225 .br
1226 .ft
1227 .RE
1228 .
1229 .IP
1231 .B f
1233 .B defcolor
1235 .
1236 .RS
1237 .IP
1238 .ft CB
1239 .Text .defcolor darkgreen rgb 0.1 0.5 0.2
1240 .br
1241 .ft
1242 .RE
1243 .
1244 .IP
1246 .B default
1247 (which is device-specific) can't be redefined.
1248 .
1250 .esc M
1252 .esc m
1253 is not the same.
1254 .
1255 .TP
1256 .BI .de1\ xx\ yy
1258 .BR .de ,
1259 but compatibility mode is switched off during execution.
1260 .
1261 On entry, the current compatibility mode is saved and restored at exit.
1262 .
1263 .TP
1264 .BI .dei\ xx\ yy
1265 Define macro indirectly.
1266 .
1268 .
1269 .RS
1270 .IP
1271 .ne 2v+\n(.Vu
1272 .ft CB
1273 .nf
1274 .Text .ds xx aa
1275 .Text .ds yy bb
1276 .Text .dei xx yy
1277 .fi
1278 .ft
1279 .RE
1280 .
1281 .IP
1283 .
1284 .RS
1285 .IP
1286 .ft CB
1287 .Text .de aa bb
1288 .br
1289 .ft
1290 .RE
1291 .
1292 .TP
1293 .BI .dei1\ xx\ yy
1295 .B dei
1296 request but compatibility mode is switched off during execution.
1297 .
1298 .TP
1299 .BI .do\ xxx
1301 .I .xxx
1302 with compatibility mode disabled.
1303 .
1305 .
1306 .RS
1307 .
1308 .IP
1309 .ft CB
1310 .Text .do fam T
1311 .br
1312 .ft
1313 .
1314 .P
1316 .
1317 .IP
1318 .ft CB
1319 .Text .fam T
1320 .br
1321 .ft
1322 .
1323 .P
1324 except that it would work even if compatibility mode had been enabled.
1325 .
1328 .I xxx
1329 are interpreted.
1330 .
1331 .RE
1332 .
1333 .TP
1334 .BI .ds1\ xx\ yy
1336 .BR .ds ,
1337 but compatibility mode is switched off during expansion.
1338 .
1340 beginning of the string, and a `compatibility restore' token at the end.
1341 .
1342 .TP
1343 .B .ecs
1344 Save current escape character.
1345 .
1346 .TP
1347 .B .ecr
1349 .BR ecs .
1351 .BR ecs ,
1352 .RB ` \[rs] '
1353 will be the new escape character.
1354 .
1355 .TP
1356 .BI .evc\ xx
1358 .I xx
1359 to the current environment.
1360 .
1361 No pushing or popping of environments will be done.
1362 .
1363 .TP
1364 .BI .fam\ xx
1366 .IR xx .
1367 The current font family is part of the current environment.
1369 .I xx
1370 is missing, switch back to previous font family.
1371 .
1372 The value at start-up is `T'.
1373 .
1375 .B sty
1376 request for more information on font families.
1377 .
1378 .TP
1379 .BI .fchar\ c\ string
1381 .I c
1383 .IR string .
1384 .
1386 .B char
1388 .B char
1391 .B fchar
1392 is checked only if the particular glyph isn't found in the current font.
1393 .
1394 This test happens before checking special fonts.
1395 .
1396 .TP
1397 .BI .fcolor\ c
1399 .IR c .
1401 .I c
1403 switch to the previous fill color.
1404 .
1405 .TP
1406 .BI .fschar\ f\ c\ string
1408 .I c
1410 .I f
1412 .IR string .
1413 .
1415 .B char
1418 .B fschar
1420 .B fspecial
1422 .BR special .
1423 .
1424 .TP
1425 .BI .fspecial\ f\ s1\ s2\|.\|.\|.\&
1427 .IR f ,
1429 .IR s1 ,
1430 .IR s2 ,\|.\|.\|.\&
1432 the current font.
1433 .
1435 .B special
1437 .B fspecial
1438 request.
1439 .
1440 Without argument, reset the list of global special fonts to be empty.
1441 .
1442 .TP
1443 .BI .ftr\ f\ g
1445 .I f
1447 .IR g .
1449 .I f
1451 .B \[rs]f
1453 .B F
1455 .B S
1457 .BR ft ,
1458 .BR ul ,
1459 .BR bd ,
1460 .BR cs ,
1461 .BR tkf ,
1462 .BR special ,
1463 .BR fspecial ,
1464 .BR fp ,
1466 .BR sty
1468 .I g
1469 will be used.
1471 .I g
1473 .I f
1475 .I f
1476 will not be translated.
1477 .
1478 .TP
1479 .BI .gcolor\ c
1481 .IR c .
1483 .I c
1485 switch to the previous glyph color.
1486 .
1487 .TP
1488 .BI .hcode \ c1\ code1\ c2\ code2\|.\|.\|.\&
1490 .I c1
1492 .I code1
1494 .I c2
1496 .IR code2 .
1498 character) other than a digit or a space.
1499 .
1502 the lower-case version of itself.
1503 .
1505 .B hpf
1506 request.
1507 .
1508 .TP
1509 .BI .hla\ lang
1511 .IR lang .
1513 .B hw
1515 .B hpf
1516 request are both associated with the current hyphenation language.
1517 .
1519 .B hla
1521 .B troffrc
1522 file.
1523 .
1524 .TP
1525 .BI .hlm\ n
1527 .IR n .
1529 .I n
1530 is negative, there is no maximum.
1531 .
1532 The default value is\~\-1.
1533 .
1534 This value is associated with the current environment.
1535 .
1537 associated with that environment.
1538 .
1540 .B \[rs]%
1541 are counted; explicit hyphens are not.
1542 .
1543 .TP
1544 .BI .hpf\ file
1546 .IR file ;
1548 .IB name .tmac
1550 .BI \-m name
1551 option is specified.
1552 .
1553 It should have the same format as (simple) \*[tx] patterns files.
1554 .
1555 More specifically, the following scanning rules are implemented.
1556 .
1557 .RS
1558 .IP \[bu]
1560 preceded by a backslash.
1561 .
1562 .IP \[bu]
1564 .BR \[rs]$ .
1565 .
1566 .IP \[bu]
1567 .BI ^^ xx
1568 .RI ( x
1570 .BI ^^ x
1572 .I x
1574 .B ^
1575 causes an error.
1576 .
1577 .IP \[bu]
1578 No macro expansion.
1579 .
1580 .IP \[bu]
1581 .B hpf
1583 .B \[rs]patterns{.\|.\|.}
1584 (possibly with whitespace before and after the braces).
1585 .
1586 Everything between the braces is taken as hyphenation patterns.
1587 .
1589 .B {
1591 .B }
1592 are not allowed in patterns.
1593 .
1594 .IP \[bu]
1596 .B \[rs]hyphenation{.\|.\|.}
1597 gives a list of hyphenation exceptions.
1598 .
1599 .IP \[bu]
1600 .B \[rs]endinput
1601 is recognized also.
1602 .
1603 .IP \[bu]
1605 .B \[rs]patterns
1608 .BR % \~\c
1609 character as the start of a comment).
1610 .RE
1611 .
1612 .IP
1614 .B hpfcode
1616 .BR groff 's
1617 input encoding.
1618 .IP
1621 .B hla
1622 request.
1623 .
1625 .B hpf
1627 .B troffrc
1628 file; a second call replaces the old patterns with the new ones.
1629 .
1630 .TP
1631 .BI .hpfa\ file
1633 .B hpf
1635 .I file
1636 are appended to the patterns already loaded in the current language.
1637 .
1638 .TP
1639 .BI .hpfcode\ a\ b\ c\ d\ .\|.\|.
1641 .B hpf
1643 .B hpfa
1645 .I a
1647 .IR b ,
1649 .I c
1651 .IR d ,
1652 etc.
1653 .
1654 Initially, all character codes map to themselves.
1655 .
1657 .B hpfcode
1658 must be integers in the range 0 to\~255.
1659 .
1661 .B groff
1662 otherwise.
1663 .
1664 .TP
1665 .BI .hym\ n
1667 .I hyphenation margin
1669 .IR n :
1671 .BR b ,
1673 .I n
1674 short.
1675 .
1676 The default hyphenation margin is\~0.
1677 .
1679 .IR m .
1680 The hyphenation margin is associated with the current environment.
1681 .
1683 .B \[rs]n[.hym]
1684 register.
1685 .
1686 .TP
1687 .BI .hys\ n
1689 .I hyphenation space
1691 .IR n :
1693 .B b
1696 .I n
1697 extra space to each word space.
1698 .
1699 The default hyphenation space is\~0.
1700 .
1702 .BR m .
1703 The hyphenation space is associated with the current environment.
1704 .
1706 .B \[rs]n[.hys]
1707 register.
1708 .
1709 .TP
1710 .BI .itc\ n\ macro
1712 .B .it
1714 .B \[rs]c
1715 counts as one input line.
1716 .
1717 .TP
1718 .BI .kern\ n
1720 .I n
1721 is non-zero or missing, enable pairwise kerning, otherwise disable it.
1722 .
1723 .TP
1724 .BI .length\ xx\ string
1726 .I string
1728 .I xx
1729 (which is not necessarily defined before).
1730 .
1731 .TP
1732 .BI .linetabs\ n
1734 .I n
1736 (which is the default).
1737 .
1739 (current) output line.
1740 .
1741 Otherwise they are taken relative to the input line.
1742 .
1744 .
1745 .RS
1746 .IP
1747 .ne 6v+\n(.Vu
1748 .ft CB
1749 .nf
1750 .Text .ds x a\[rs]t\[rs]c
1751 .Text .ds y b\[rs]t\[rs]c
1752 .Text .ds z c
1753 .Text .ta 1i 3i
1754 .Text \[rs]*x
1755 .Text \[rs]*y
1756 .Text \[rs]*z
1757 .fi
1758 .ft
1759 .RE
1760 .
1761 .IP
1763 .
1764 .RS
1765 .IP
1767 .RE
1768 .
1769 .IP
1771 .
1772 .RS
1773 .IP
1775 .RE
1776 .
1777 .IP
1780 .B \\[rs]n[.linetabs]
1781 is set to\~1 if in line-tabs mode, and 0 otherwise.
1782 .
1783 .TP
1784 .BI .mso\ file
1786 .B so
1788 .I file
1790 .B \-m
1791 command line option.
1792 .
1794 .IB name .tmac
1796 .B mso
1798 .BI tmac. name
1799 instead and vice versa.
1800 .
1801 .TP
1802 .BI .nop \ anything
1804 .IR anything .
1805 This is similar to `.if\ 1'.
1806 .
1807 .TP
1808 .B .nroff
1810 .B n
1812 .B t
1813 built-in condition false.
1814 .
1816 .B troff
1817 request.
1818 .
1819 .TP
1820 .BI .open\ stream\ filename
1822 .I filename
1824 .I stream
1825 with it.
1826 .
1828 .B close
1830 .B write
1831 requests.
1832 .
1833 .TP
1834 .BI .opena\ stream\ filename
1836 .BR open ,
1838 .I filename
1839 exists, append to it instead of truncating it.
1840 .
1841 .TP
1842 .BI .output\ string
1844 .I string
1847 .B \[rs]!
1848 used at the top level.
1849 .
1851 .I string
1852 is stripped off to allow initial blanks.
1853 .
1854 .TP
1855 .B .pnr
1857 on stderr.
1858 .
1859 .TP
1860 .BI .psbb \ filename
1862 .IR filename .
1865 .B \%%%BoundingBox
1866 comment to extract the bounding box values.
1867 .
1870 .BR \[rs]n[llx] ,
1871 .BR \[rs]n[lly] ,
1872 .BR \[rs]n[urx] ,
1874 .BR \[rs]n[ury] ,
1875 respectively.
1876 .
1877 If some error has occurred, the four registers are set to zero.
1878 .
1879 .TP
1880 .BI .pso \ command
1882 .B so
1884 .IR command .
1885 .
1886 .TP
1887 .B .ptr
1889 traps and diversion traps) on stderr.
1890 .
1892 can affect the priority of subsequently planted traps.
1893 .
1894 .TP
1895 .BI .pvs \ \[+-]n
1897 .IR n ;
1899 .BR p .
1900 .
1901 This value will be added to each line after it has been output.
1902 .
1904 value.
1905 .
1906 .IP
1908 .B .vs
1910 .B \[rs]x
1912 .B .pvs
1914 .B \[rs]x
1915 with a positive value which are applied after the line is output.
1916 .
1917 .TP
1918 .BI .rchar\ c1\ c2\|.\|.\|.\&
1920 .IR c1 ,
1921 .IR c2 ,\|.\|.\|.
1923 .B char
1924 request.
1925 .
1926 .TP
1927 .B .return
1928 Within a macro, return immediately.
1929 .
1931 from the macro one level higher.
1932 .
1933 No effect otherwise.
1934 .
1935 .TP
1936 .BI .rfschar\ c1\ c2\|.\|.\|.\&
1938 .IR c1 ,
1939 .IR c2 ,\|.\|.\|.
1941 .B fschar
1942 request.
1943 .
1944 .TP
1945 .B .rj
1946 .TQ
1947 .BI .rj \~n
1949 .IR n \~\c
1950 input lines.
1951 .
1952 Without an argument right justify the next input line.
1953 .
1955 .B \[rs]n[.rj]
1956 register.
1957 .
1959 .BR .ce \~0 .
1961 .B ce
1963 .BR .rj \~0 .
1964 .
1965 .TP
1966 .BI .rnn \ xx\ yy
1968 .I xx
1970 .IR yy .
1971 .
1972 .TP
1973 .BI .schar\ c\ string
1975 .I c
1977 .IR string .
1978 .
1980 .B char
1982 .B schar
1984 .B special
1985 request but before the mounted special fonts.
1986 .
1987 .TP
1988 .BI .shc\ c
1990 .IR c .
1992 .I c
1994 .BR \[rs](hy .
1996 a word is hyphenated at a line break.
1997 .
2000 will not be broken at that point.
2001 .
2003 .B char
2005 .B tr
2006 request) are considered when finding the soft hyphen character.
2007 .
2008 .TP
2009 .BI .shift\ n
2011 .I n
2013 .I i
2015 .IR i \- n ;
2017 .I n
2018 will no longer be available.
2019 .
2021 .I n
2022 is missing, arguments will be shifted by\~1.
2023 .
2024 Shifting by negative amounts is currently undefined.
2025 .
2026 .TP
2027 .BI .sizes\ s1\ s2\|.\|.\|.\|sn\ [0]
2029 .B sizes
2031 .B DESC
2032 file.
2033 .
2035 .IR s1 ,
2036 .IR s2 ,\|.\|.\|.\|,\~ sn
2037 scaled points.
2038 .
2040 .BR 0 .
2041 .
2043 .I si
2045 .IR m - n .
2046 .
2048 than a single line.
2049 .
2050 .TP
2051 .BI .special\ s1\ s2\|.\|.\|.\&
2053 .IR s1 ,
2054 .IR s2 ,
2056 font.
2057 .
2058 Without arguments, reset the list of special fonts to be empty.
2059 .
2060 .TP
2061 .BI .spreadwarn\ limit
2063 .B troff
2066 .IR limit .
2067 .
2070 .IR limit .
2071 .
2073 .BR m .
2074 .
2076 .B spreadwarn
2078 .I limit
2079 is set to 3m.
2080 .
2082 .B .spreadwarn\ 0.2m
2084 .B troff
2085 must add 0.2m or more for each interword space in a line.
2086 .
2088 .BR .ad\ b ).
2089 .
2090 .TP
2091 .BI .sty\ n\ f
2093 .I f
2095 .IR n .
2096 A font position can be associated either with a font or with a style.
2097 .
2099 a font or a style.
2100 .
2103 and the name of the current style.
2104 .
2107 .B R
2109 .BR T ,
2111 .BR TR
2112 will be used.
2113 .
2114 If the current font is not a style, then the current family is ignored.
2115 .
2117 .BR cs ,
2118 .BR bd ,
2119 .BR tkf ,
2120 .BR uf ,
2122 .B fspecial
2124 member of the current family corresponding to that style.
2125 .
2127 .B \-f
2128 option.
2129 .
2131 .B styles
2133 .SM DESC
2135 with styles rather than fonts.
2136 .
2137 .TP
2138 .BI .substring\ xx\ n1\ [ n2 ]
2140 .I xx
2142 .I n1
2144 .IR n2 .
2145 The first character in the string has index\~0.
2146 .
2148 .I n2
2149 is omitted, it is taken to be equal to the string's length.
2150 .
2152 .I n1
2154 .I n2
2157 .
2159 character has index\~-2, etc.
2160 .
2161 .TP
2162 .BI .tkf\ f\ s1\ n1\ s2\ n2
2164 .IR f .
2166 .I f
2168 .I n1
2170 .IR n2 ;
2172 .I s1
2174 .IR n1 ;
2176 .I s2
2178 .IR n2 ;
2180 .I s1
2182 .I s2
2183 the increase in width is a linear function of the point size.
2184 .
2185 .TP
2186 .BI .tm1\ string
2188 .B tm
2190 .I string
2193 .I string
2194 is stripped off to allow initial blanks.
2195 .
2196 .TP
2197 .BI .tmc\ string
2199 .B tm1
2200 but without writing a final newline.
2201 .
2202 .TP
2203 .BI .trf\ filename
2205 .IR filename .
2207 .BR \[rs]! ;
2208 however, the lines are not subject to copy-mode interpretation.
2209 .
2210 If the file does not end with a newline, then a newline will be added.
2211 .
2213 .I x
2215 .IR f ,
2217 .
2218 .RS
2219 .IP
2220 .ne 2v+\n(.Vu
2221 .ft CB
2222 .nf
2223 .Text .di x
2224 .Text .trf f
2225 .Text .di
2226 .fi
2227 .ft
2228 .RE
2229 .
2230 .IP
2232 .B cf
2234 .SM NUL
2235 that are not legal troff input characters.
2236 .
2237 .TP
2238 .BI .trin\ abcd
2240 .B tr
2242 .B asciify
2244 translation.
2245 .
2247 .
2248 .RS
2249 .IP
2250 .nf
2251 .ft CB
2252 .Text .trin ax
2253 .Text .di xxx
2254 .Text a
2255 .Text .br
2256 .Text .di
2257 .Text .xxx
2258 .Text .trin aa
2259 .Text .asciify xxx
2260 .Text .xxx
2261 .fi
2262 .ft
2263 .RE
2264 .
2265 .IP
2267 .BR x\ a .
2268 .
2270 .BR tr ,
2272 .BR x\ x .
2273 .
2274 .TP
2275 .BI .trnt\ abcd
2277 .B tr
2280 .BR \[rs]! .
2282 .
2283 .RS
2284 .IP
2285 .nf
2286 .ft CB
2287 .Text .tr ab
2288 .Text .di x
2289 .Text \[rs]!.tm a
2290 .Text .di
2291 .Text .x
2292 .fi
2293 .ft
2294 .RE
2295 .
2296 .IP
2298 .BR b ;
2300 .B trnt
2302 .B tr
2304 .BR a .
2305 .RE
2306 .
2307 .TP
2308 .B .troff
2310 .B n
2312 .B t
2313 built-in condition true.
2314 .
2316 .B nroff
2317 request.
2318 .
2319 .TP
2320 .BI .unformat\ xx
2322 .IR xx .
2324 .B .asciify
2327 .B .unformat
2329 spaces or newlines in the input) specially.
2330 .
2332 are stretchable again.
2333 .
2334 Note that the vertical size of lines is not preserved.
2335 .
2336 Glyph information (font, font size, space width, etc.) is retained.
2337 .
2339 .B .box
2341 .B .boxa
2342 requests.
2343 .
2344 .TP
2345 .BI .vpt\ n
2347 .I n
2348 is non-zero, disable them otherwise.
2349 .
2351 .B wh
2353 .B dt
2354 requests.
2355 .
2357 .B it
2358 request are not vertical position traps.
2359 .
2361 enabled is global.
2362 .
2363 Initially vertical position traps are enabled.
2364 .
2365 .TP
2366 .BI .warn\ n
2367 Control warnings.
2368 .I n
2370 enabled; all other warnings will be disabled.
2371 .
2373 .BR @g@troff (@MAN1EXT@).
2374 .
2376 .B .warn\~0
2378 .B .warn\~1
2379 will disable all warnings except that about missing glyphs.
2380 .
2382 .I n
2383 is not given, all warnings will be enabled.
2384 .
2385 .TP
2386 .BI .warnscale\ si
2388 .IR si .
2389 .
2391 .I si
2393 .BR u ,
2394 .BR i ,
2395 .BR c ,
2396 .BR p ,
2398 .BR P .
2399 .
2401 .BR i .
2402 .
2403 .TP
2404 .BI .while \ c\ anything
2406 .I c
2408 .I anything
2410 .IR c \~\c
2412 .B if
2414 .I anything
2416 .B \[rs]{
2418 .BR \[rs]} .
2420 .B break
2422 .B continue
2423 requests.
2424 .
2425 .TP
2426 .BI .write\ stream\ anything
2428 .I anything
2430 .IR stream .
2431 .I stream
2433 .B open
2434 request.
2435 .I anything
2438 .B \[dq]
2439 will be stripped.
2440 .
2441 .TP
2442 .BI .writec\ stream\ anything
2444 .B write
2445 but without writing a final newline.
2446 .
2447 .TP
2448 .BI .writem\ stream\ xx
2450 .I xx
2452 .IR stream .
2453 .I stream
2455 .B open
2456 request.
2457 .I xx
2458 is read in copy mode.
2459 .
2460 .
2461 .\" --------------------------------------------------------------------
2462 .SS "Extended escape sequences"
2463 .\" --------------------------------------------------------------------
2464 .
2465 .TP
2466 .BI \[rs]D' .\|.\|. '
2467 All drawing commands of groff's intermediate output are accepted.
2468 .
2470 .B "Drawing Commands"
2471 below for more information.
2472 .
2473 .
2474 .\" --------------------------------------------------------------------
2475 .SS "Extended requests"
2476 .\" --------------------------------------------------------------------
2477 .
2478 .TP
2479 .BI .cf\ filename
2482 .I filename
2483 to be transparently copied through to the output.
2484 .
2486 .I filename
2489 must be considered a bug.
2490 .
2491 .TP
2492 .BI .de\ xx\ yy
2493 .TQ
2494 .BI .am\ xx\ yy
2495 .TQ
2496 .BI .ds\ xx\ yy
2497 .TQ
2498 .BI .as\ xx\ yy
2500 .BR .de1 ,
2501 .BR .am1 ,
2502 .BR .ds1 ,
2504 .BR .as1 ,
2507 compatibility mode switched on during execution.
2508 .
2509 .TP
2510 .BI .ev\ xx
2512 .I xx
2514 .IR xx .
2516 .B ev
2517 request without any arguments, just as for numbered environments.
2518 .
2520 created the first time that they are referenced.
2521 .
2522 .TP
2523 .BI .ss\ m\ n
2525 .B ss
2527 .IR "sentence space size" .
2529 will be the same as the word space size.
2530 .
2532 one twelfth of the spacewidth parameter for the current font.
2533 .
2535 space size are\~12.
2536 .
2539 of\~12.
2540 .
2541 The sentence space size is used in two circumstances.
2542 .
2546 the second space will be a sentence space.
2547 .
2550 .B ss
2551 request.
2552 .
2554 with either a newline or two spaces.
2555 .
2556 .TP
2557 .BI .ta\ n1\ n2\|.\|.\|.nn \ T\ r1\ r2\|.\|.\|.\|rn
2559 .IR n1 ,
2560 .IR n2 ,\|.\|.\|.\|,
2561 .I nn
2563 .IR nn + r1 ,
2564 .IR nn + r2 ,\|.\|.\|.\|,
2565 .IR nn + rn
2567 .IR nn + rn + r1 ,
2568 .IR nn + rn + r2 ,\|.\|.\|.\|,
2569 .IR nn + rn + rn ,
2570 and so on.
2572 .
2573 .RS
2574 .IP
2575 .ft CB
2576 .Text .ta T .5i
2577 .br
2578 .ft
2579 .
2580 .P
2581 will set tabs every half an inch.
2582 .RE
2583 .
2584 .
2585 .\" --------------------------------------------------------------------
2586 .SS "New number registers"
2587 .\" --------------------------------------------------------------------
2588 .
2590 .
2591 .TP
2592 .B \[rs]n[.C]
2593 1\~if compatibility mode is in effect, 0\~otherwise.
2594 .
2595 .TP
2596 .B \[rs]n[.cdp]
2597 The depth of the last glyph added to the current environment.
2598 .
2599 It is positive if the glyph extends below the baseline.
2600 .
2601 .TP
2602 .B \[rs]n[.ce]
2604 .B ce
2605 request.
2606 .
2607 .TP
2608 .B \[rs]n[.cht]
2609 The height of the last glyph added to the current environment.
2610 .
2611 It is positive if the glyph extends above the baseline.
2612 .
2613 .TP
2614 .B \[rs]n[.color]
2615 1\~if colors are enabled, 0\~otherwise.
2616 .
2617 .TP
2618 .B \[rs]n[.csk]
2619 The skew of the last glyph added to the current environment.
2620 .
2622 .I skew
2624 the center of an accent over that glyph should be placed.
2625 .
2626 .TP
2627 .B \[rs]n[.ev]
2628 The name or number of the current environment.
2629 .
2630 This is a string-valued register.
2631 .
2632 .TP
2633 .B \[rs]n[.fam]
2634 The current font family.
2635 .
2636 This is a string-valued register.
2637 .
2638 .TP
2639 .B \[rs]n[.fn]
2640 The current (internal) real font name.
2641 .
2642 This is a string-valued register.
2643 .
2645 .B \[rs]n[.fn]
2646 is the proper concatenation of family and style name.
2647 .
2648 .TP
2649 .B \[rs]n[.fp]
2650 The number of the next free font position.
2651 .
2652 .TP
2653 .B \[rs]n[.g]
2654 Always\~1.
2655 .
2657 troff.
2658 .
2659 .TP
2660 .B \[rs]n[.height]
2662 .BR \[rs]H .
2663 .
2664 .TP
2665 .B \[rs]n[.hla]
2667 .B hla
2668 request.
2669 .
2670 .TP
2671 .B \[rs]n[.hlc]
2672 The number of immediately preceding consecutive hyphenated lines.
2673 .
2674 .TP
2675 .B \[rs]n[.hlm]
2678 .B hlm
2679 request.
2680 .
2681 .TP
2682 .B \[rs]n[.hy]
2684 .B hy
2685 request).
2686 .
2687 .TP
2688 .B \[rs]n[.hym]
2690 .B hym
2691 request).
2692 .
2693 .TP
2694 .B \[rs]n[.hys]
2696 .B hys
2697 request).
2698 .
2699 .TP
2700 .B \[rs]n[.in]
2701 The indent that applies to the current output line.
2702 .
2703 .TP
2704 .B \[rs]n[.int]
2705 Set to a positive value if last output line is interrupted (i.e., if
2707 .IR \[rs]c ).
2708 .
2709 .TP
2710 .B \[rs]n[.kern]
2711 1\~if pairwise kerning is enabled, 0\~otherwise.
2712 .
2713 .TP
2714 .B \[rs]n[.lg]
2716 .B lg
2717 request).
2718 .
2719 .TP
2720 .B \[rs]n[.linetabs]
2722 .B linetabs
2723 request).
2724 .
2725 .TP
2726 .B \[rs]n[.ll]
2727 The line length that applies to the current output line.
2728 .
2729 .TP
2730 .B \[rs]n[.lt]
2732 .B lt
2733 request.
2734 .
2735 .TP
2736 .B \[rs]n[.m]
2737 The name of the current drawing color.
2738 .
2739 This is a string-valued register.
2740 .
2741 .TP
2742 .B \[rs]n[.M]
2743 The name of the current background color.
2744 .
2745 This is a string-valued register.
2746 .
2747 .TP
2748 .B \[rs]n[.ne]
2750 .B ne
2751 request that caused a trap to be sprung.
2752 .
2754 .B \[rs]n[.trunc]
2755 register.
2756 .
2757 .TP
2758 .B \[rs]n[.ns]
2759 1\~if no-space mode is active, 0\~otherwise.
2760 .
2761 .TP
2762 .B \[rs]n[.pe]
2764 .B bp
2765 request, 0\~otherwise.
2766 .
2767 .TP
2768 .B \[rs]n[.pn]
2770 .B pn
2771 request, or the number of the current page plus\~1.
2772 .
2773 .TP
2774 .B \[rs]n[.ps]
2775 The current pointsize in scaled points.
2776 .
2777 .TP
2778 .B \[rs]n[.psr]
2779 The last-requested pointsize in scaled points.
2780 .
2781 .TP
2782 .B \[rs]n[.pvs]
2784 .B pvs
2785 request.
2786 .
2787 .TP
2788 .B \[rs]n[.rj]
2790 .B rj
2791 request.
2792 .
2793 .TP
2794 .B \[rs]n[.slant]
2796 .BR \[rs]S .
2797 .
2798 .TP
2799 .B \[rs]n[.sr]
2800 The last requested pointsize in points as a decimal fraction.
2801 .
2802 This is a string-valued register.
2803 .
2804 .TP
2805 .B \[rs]n[.ss]
2806 .TQ
2807 .B \[rs]n[.sss]
2810 .B ss
2811 request.
2812 .
2813 .TP
2814 .B \[rs]n[.sty]
2815 The current font style.
2816 .
2817 This is a string-valued register.
2818 .
2819 .TP
2820 .B \[rs]n[.tabs]
2823 .B ta
2824 request.
2825 .
2826 .TP
2827 .B \[rs]n[.trunc]
2830 .B ne
2832 .B ne
2833 request.
2834 .
2837 trap, and what the vertical position actually is.
2838 .
2840 .B \[rs]n[.ne]
2841 register.
2842 .
2843 .TP
2844 .B \[rs]n[.U]
2846 .B \-U
2847 command line option).
2848 .
2849 .TP
2850 .B \[rs]n[.vpt]
2851 1\~if vertical position traps are enabled, 0\~otherwise.
2852 .
2853 .TP
2854 .B \[rs]n[.warn]
2856 warnings.
2857 .
2859 .BR @g@troff (@MAN1EXT@).
2860 .
2861 .TP
2862 .B \[rs]n[.x]
2863 The major version number.
2864 .
2866 .B \[rs]n[.x]
2867 will contain\~1.
2868 .
2869 .TP
2870 .B \[rs]n[.y]
2871 The minor version number.
2872 .
2874 .B \[rs]n[.y]
2875 will contain\~03.
2876 .
2877 .TP
2878 .B \[rs]n[.Y]
2879 The revision number of groff.
2880 .
2881 .TP
2882 .B \[rs]n[llx]
2883 .TQ
2884 .B \[rs]n[lly]
2885 .TQ
2886 .B \[rs]n[urx]
2887 .TQ
2888 .B \[rs]n[ury]
2890 .B .psbb
2892 given PostScript image.
2893 .
2894 .P
2896 .B \[rs]w
2898 .
2899 .TP
2900 .B \[rs]n[rst]
2901 .TQ
2902 .B \[rs]n[rsb]
2904 .B st
2906 .B sb
2907 registers, but take account of the heights and depths of glyphs.
2908 .
2909 .TP
2910 .B \[rs]n[ssc]
2912 added to the last glyph before a subscript.
2913 .
2914 .TP
2915 .B \[rs]n[skw]
2917 .B \[rs]w
2919 over that glyph.
2920 .
2921 .P
2923 .
2924 .TP
2925 .B \[rs]n[c.]
2926 The current input line number.
2927 .B \[rs]n[.c]
2928 is a read-only alias to this register.
2929 .
2930 .TP
2931 .B \[rs]n[hours]
2932 The number of hours past midnight.
2933 .
2934 Initialized at start-up.
2935 .
2936 .TP
2937 .B \[rs]n[hp]
2938 The current horizontal position at input line.
2939 .
2940 .TP
2941 .B \[rs]n[minutes]
2942 The number of minutes after the hour.
2943 .
2944 Initialized at start-up.
2945 .
2946 .TP
2947 .B \[rs]n[seconds]
2948 The number of seconds after the minute.
2949 .
2950 Initialized at start-up.
2951 .
2952 .TP
2953 .B \[rs]n[systat]
2955 .B sy
2956 request.
2957 .
2958 .TP
2959 .B \[rs]n[slimit]
2960 If greater than\~0, the maximum number of objects on the input stack.
2961 .
2963 objects on the input stack.
2964 .
2966 exhausted.
2967 .
2968 .TP
2969 .B \[rs]n[year]
2970 The current year.
2971 .
2973 .B troff
2975 .B \[rs]n[yr]
2976 is the current year minus 1900.
2977 .
2978 .
2979 .\" --------------------------------------------------------------------
2980 .SS Miscellaneous
2981 .\" --------------------------------------------------------------------
2982 .
2983 .B @g@troff
2985 .BR \[rs]*(.T ,
2987 .B \-T
2989 .I latin1
2991 .IR ascii ).
2993 .B \[rs]n[.T]
2995 .B troff
2997 .B \-T
2998 command line option, and zero otherwise.
2999 .
3000 This behaviour is different to UNIX troff.
3001 .
3002 .P
3004 .SM DESC
3006 when they are referenced.
3007 .
3009 .B fp
3012 .B \[rs]n[.fp]
3014 .B troff
3017 used position.
3018 .
3019 .P
3020 Interpolating a string does not hide existing macro arguments.
3021 .
3023 .
3024 .IP
3025 .BI . xx\ \[rs]\[rs]$@
3026 .P
3028 .
3029 .IP
3030 .BI \[rs]\[rs]*[ xx ]\[rs]\[rs]
3031 .
3032 .P
3034 glyphs from that font will be kerned.
3035 .
3037 .B \[rs]&
3038 between them.
3039 .
3040 .P
3043 recognised as the second or third delimiters.
3044 .
3046 .B tl
3047 request.
3048 .
3050 .B \[rs]w
3053 closing delimiter character.
3054 .
3056 .BR \[rs]A ,
3057 .BR \[rs]b ,
3058 .BR \[rs]B ,
3059 .BR \[rs]C ,
3060 .BR \[rs]l ,
3061 .BR \[rs]L ,
3062 .BR \[rs]o ,
3063 .BR \[rs]X ,
3065 .BR \[rs]Z .
3066 .
3070 character.
3071 .
3073 .B \[rs]$@
3076 argument itself.
3077 .
3079 .B ]
3082 .BR ] .
3083 .
3084 In compatibility mode, no attention is paid to the input-level.
3085 .
3086 .P
3088 .
3089 .TP
3090 .BI .if\ r xxx
3092 .IR xxx .
3093 .
3094 .TP
3095 .BI .if\ d xxx
3097 .IR xxx .
3098 .
3099 .TP
3100 .BI .if\ m xxx
3102 .IR xxx .
3103 .
3104 .TP
3105 .BI .if\ c ch
3107 .IR ch
3109 .I ch
3111 .SM ASCII
3113 .BI \[rs]( xx
3115 .BI \[rs][ xxx ]\f[R];
3117 .I ch
3119 .B char
3120 request.
3121 .
3122 .TP
3123 .BI .if\ F f
3125 .I f
3126 exists.
3127 .
3128 .B f
3130 .B ft
3132 actually mounting it.
3133 .
3134 .TP
3135 .BI .if\ S s
3137 .I s
3138 has been registered.
3139 .
3140 Font translation is applied.
3141 .
3142 .P
3144 .B tr
3146 .BR \[rs]~ .
3147 .
3148 .P
3150 (or the name of the ending macro) to end a macro definition.
3151 .
3153 .
3154 .IP
3155 .ne 6v+\n(.Vu
3156 .ft CB
3157 .nf
3158 .Text .if t \[rs]{\[rs]
3159 .Text . de bar
3160 .Text . nop Hello, I'm `bar'.
3161 .Text . .
3162 .Text .\[rs]}
3163 .fi
3164 .
3165 .
3166 .\" --------------------------------------------------------------------
3167 .SH "INTERMEDIATE OUTPUT FORMAT"
3168 .\" --------------------------------------------------------------------
3169 .
3170 This section describes the format output by GNU troff.
3171 .
3173 by Unix device-independent troff.
3174 .
3175 Only the differences are documented here.
3176 .
3177 .
3178 .\" --------------------------------------------------------------------
3179 .SS "Units"
3180 .\" --------------------------------------------------------------------
3181 .
3183 .B s
3185 .RI points/ n ,
3187 .I n
3189 .B sizescale
3190 command in the DESC file).
3191 .
3193 .B x\ Height
3194 command is also in scaled points.
3195 .
3196 .
3197 .\" --------------------------------------------------------------------
3198 .SS "Text Commands"
3199 .\" --------------------------------------------------------------------
3200 .
3201 .TP
3202 .BI N n
3204 .I n
3205 (a non-negative integer) of the current font.
3206 .
3207 .P
3209 .B tcommand
3211 commands.
3212 .
3213 .TP
3214 .BI t xxx
3215 .I xxx
3220 by the width of the first character, and so on for each character.
3221 .
3224 it is a multiple of the horizontal resolution.
3225 .
3226 Special characters cannot be printed using this command.
3227 .
3228 .TP
3229 .BI u n\ xxx
3231 .B t
3235 .IR n .
3236 .
3237 .P
3239 names of fonts and special characters.
3240 .
3241 .P
3243 should not assume that they will be only two characters long.
3244 .
3245 .P
3247 in the current font.
3248 .
3250 search special fonts to find a glyph.
3251 .
3252 .P
3254 .
3255 .TP
3256 .Text \f[B]mc \f[I]cyan magenta yellow\f[R]
3257 .TQ
3258 .Text \f[B]md\f[R]
3259 .TQ
3260 .Text \f[B]mg \f[I]gray\f[R]
3261 .TQ
3262 .Text \f[B]mk \f[I]cyan magenta yellow black\f[R]
3263 .TQ
3264 .Text \f[B]mr \f[I]red green blue\f[R]
3266 color schemes.
3267 .
3268 .B md
3269 resets the drawing color to the default value.
3270 .
3271 The arguments are integers in the range 0 to 65536.
3272 .
3273 .P
3275 .B x
3276 device control command has been extended.
3277 .
3278 .TP
3279 .Text \f[B]x u \f[I]n\f[R]
3281 .I n
3282 is\~1, start underlining of spaces.
3283 .
3285 .I n
3286 is\~0, stop underlining of spaces.
3287 .
3289 .B cu
3290 request in nroff mode and is ignored otherwise.
3291 .
3292 .
3293 .\" --------------------------------------------------------------------
3294 .SS "Drawing Commands"
3295 .\" --------------------------------------------------------------------
3296 .
3298 .B D
3299 drawing command has been extended.
3300 .
3302 .B \-n
3303 option is given.
3304 .
3305 .TP
3306 .Text \f[B]Df \f[I]n\f[R]\*[ic]\[rs]n
3308 .IR n ;
3309 .I n
3312 intermediate shades of gray.
3313 .
3315 polygons.
3316 .
3317 By default, a level of 1000 will be used.
3318 .
3320 everything beneath it.
3321 .
3324 text.
3325 .
3327 changing this.
3328 .
3329 .IP
3331 .BI \[rs]D'f .\|.\|. '
3334 surprising results.
3335 .
3336 .TP
3337 .Text \f[B]DC \f[I]d\f[R]\*[ic]\[rs]n
3339 .I d
3340 with the leftmost point at the current position.
3341 .
3342 .TP
3343 .Text \f[B]DE \f[I]dx dy\f[R]\*[ic]\[rs]n
3345 .I dx
3347 .I dy
3348 with the leftmost point at the current position.
3349 .EQ
3351 .EN
3352 .
3353 .TP
3354 .Text \f[B]Dp\f[R] $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$ $...$ $dx sub n$ $dy sub n$\[rs]n
3355 Draw a polygon with, for $i = 1 ,..., n+1$, the
3356 .IR i -th
3358 .
3359 $+ sum from j=1 to i-1 ( dx sub j , dy sub j )$.
3360 .
3362 and rectangles.
3363 .
3364 .TP
3365 .Text \f[B]DP\f[R] $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$ $...$ $dx sub n$ $dy sub n$\[rs]n
3366 .
3368 .B Dp
3369 but draw a solid rather than outlined polygon.
3370 .
3371 .TP
3372 .Text \f[B]Dt \f[I]n\f[R]\*[ic]\[rs]n
3374 .I n
3375 machine units.
3376 .
3379 .B Dt
3381 .B Dt
3383 .IR n .
3385 .I n
3386 selects the smallest available line thickness.
3387 .
3388 .P
3390 the execution of these commands.
3391 .
3393 does not depend on this.
3394 .
3396 .IP
3397 \f[B]\[rs]D\[fm]\f[I]c\f[R] $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ $x sub n$ $y sub n$\[fm]
3398 .
3399 .P
3401 .I c
3403 .BR c ,
3404 .BR e ,
3405 .BR l ,
3406 .BR a ,
3408 .BR ~ ,
3412 and that the height is $sum from i=1 to n y sub i$.
3413 .
3415 .B st
3417 .B sb
3419 .B D
3420 command in a \[rs]w escape sequence).
3421 .
3424 .BR De .
3427 .B Dt
3429 .BR Df ,
3431 .B DE
3432 commands.
3433 .
3435 .B D
3437 .IP
3438 \f[B]D\f[I]c\f[R] $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ \c
3440 .
3441 .P
3443 .
3444 $( sum from i=1 to n x sub i , sum from i=1 to n y sub i )$.
3445 .
3446 .P
3448 .
3449 .TP
3450 .Text \f[B]DFc \f[I]cyan magenta yellow\f[R]\*[ic]\[rs]n
3451 .TQ
3452 .Text \f[B]DFd\f[R]\*[ic]\[rs]n
3453 .TQ
3454 .Text \f[B]DFg \f[I]gray\f[R]\*[ic]\[rs]n
3455 .TQ
3456 .Text \f[B]DFk \f[I]cyan magenta yellow black\f[R]\*[ic]\[rs]n
3457 .TQ
3458 .Text \f[B]DFr \f[I]red green blue\f[R]\*[ic]\[rs]n
3460 .B m
3461 commands above.
3462 .
3463 .P
3465 .BR Df ).
3466 .
3467 .
3468 .\" --------------------------------------------------------------------
3469 .SS "Device Control Commands"
3470 .\" --------------------------------------------------------------------
3471 .
3473 .B x\ X
3475 .B x\ X
3477 .B +
3480 .B x\ X
3482 .BR + ,
3484 .B x\ X
3486 .B x\ X
3488 .B +
3490 .B +
3492 .B x\ X
3493 command.
3494 .
3495 .P
3497 .IP
3498 .BI x\ T\ device
3499 .br
3500 .BI x\ res\ n\ h\ v
3501 .br
3502 .B x init
3503 .
3504 .
3505 .\" --------------------------------------------------------------------
3506 .SH INCOMPATIBILITIES
3507 .\" --------------------------------------------------------------------
3508 .
3510 classical troff to a large degree.
3511 .
3514 for groff.
3515 .
3516 .
3517 .\" --------------------------------------------------------------------
3518 .SS "Groff Language"
3519 .\" --------------------------------------------------------------------
3520 .
3521 .I groff
3523 .B compatibility mode
3525 .B troff
3526 or for other implementations of roff in a consistent way.
3527 .
3528 .P
3530 .option \-C
3532 .request .cp
3533 request.
3534 .
3536 .esc n(.C
3537 is\~1 if compatibility mode is on, 0\~otherwise.
3538 .
3539 .P
3541 some incompatibilities.
3542 .I Classical troff
3544 .IP
3545 .request .dsabcd
3546 .
3547 .P
3549 .B ab
3551 .BR cd .
3553 .IR groff
3555 .request dsabcd .
3556 .
3557 .P
3559 .I classical troff
3561 .esc *[
3563 .esc n[
3565 .request [
3567 .I groff
3568 takes this as the start of a long name.
3569 .
3570 .P
3572 .IR "compatibility mode" ,
3574 names are not recognized.
3575 .
3576 .P
3578 .I GNU native mode
3580 .esc \[rs]
3582 .esc |
3584 .esc ^
3586 .esc &
3588 .esc {
3590 .esc }
3592 .squoted "\[rs]\ "
3594 .esc '
3596 .esc `
3598 .esc \-
3600 .esc _
3602 .esc !
3604 .esc %
3607 .esc c
3610 .I classical troff
3611 does.
3612 .
3613 .P
3615 .esc A
3617 names.
3618 .
3619 .P
3620 Fractional pointsizes cause one noteworthy incompatibility.
3621 .
3623 .I classical
3624 .IR troff ,
3626 .request ps
3628 .RS
3629 .P
3630 .B .ps\~10u
3631 .RE
3632 .
3633 .P
3635 pointsize will be set to 10\~scaled points.
3636 .
3637 .P
3639 .IR groff ,
3641 characters, and formatted output characters (glyphs).
3642 .
3647 .request bd ,
3648 .request cs ,
3649 .request tkf ,
3650 .request tr ,
3652 .request fp
3653 requests.
3654 .
3655 .P
3658 output line.
3659 .
3662 in any combination.
3663 .
3664 .P
3666 act as input entities, afterwards they denote glyphs.
3667 .
3668 .P
3672 might have had.
3673 .
3674 The following example will make things clearer.
3675 .
3676 .P
3677 .RS
3678 .nf
3679 .ft CB
3680 .Text .di x
3681 .Text \[rs]\[rs]\[rs]\[rs]
3682 .Text .br
3683 .Text .di
3684 .Text .x
3685 .ft
3686 .fi
3687 .RE
3688 .
3689 .P
3691 .I GNU troff
3693 .esc \[rs] .
3695 .squoted \[rs]\[rs]
3697 .squoted \[rs]
3699 characters when they are reread.
3700 .
3701 .P
3702 .I Classical troff
3705 .squoted \[rs] .
3706 .
3707 .P
3710 .squoted \[rs]
3712 .esc (rs
3714 for getting a non-syntactical backslash.
3715 .
3718 .esc e
3720 redefined.
3721 .
3726 backslashes.
3727 .
3728 .P
3731 .esc !
3734 .esc ?
3735 escape sequence can be used.
3736 .
3737 .
3738 .\" --------------------------------------------------------------------
3739 .SS "Intermediate Output"
3740 .\" --------------------------------------------------------------------
3741 .
3742 The groff intermediate output format is in a state of evolution.
3743 .
3745 a full compatibility to the classical troff output format.
3746 .
3748 .
3749 .Topic
3751 classical definition.
3752 .
3753 .Topic
3755 classical "device-independent" troff did.
3756 .
3757 .
3758 .\" --------------------------------------------------------------------
3759 .SH AUTHORS
3760 .\" --------------------------------------------------------------------
3761 .
3762 Copyright (C) 1989, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
3763 .
3764 .P
3766 Documentation License) version 1.1 or later.
3767 .
3770 .URL http://\:www.gnu.org/\:copyleft/\:fdl.html "GNU copyleft site" .
3771 .
3773 .MTO wl@gnu.org "Werner Lemberg"
3775 .MTO bwarken@mayn.de "Bernd Warken" .
3776 .
3777 .P
3779 .IR groff ,
3780 the GNU roff distribution.
3781 .
3784 .BR @g@troff (@MAN1EXT@).
3786 .I roff
3787 systems were carried over into this document.
3788 .
3790 .I troff
3792 .BR @g@troff (@MAN1EXT@).
3793 .
3794 .\" --------------------------------------------------------------------
3795 .SH "SEE ALSO"
3796 .\" --------------------------------------------------------------------
3797 .
3799 .I groff info
3800 .IR file ,
3801 cf.\&
3802 .BR info (1)
3803 presents all groff documentation within a single document.
3804 .
3805 .TP
3806 .BR groff (@MAN1EXT@)
3808 .IR groff .
3809 .
3810 .TP
3811 .BR groff (@MAN7EXT@)
3813 .I groff
3816 .IR groff .
3818 .
3819 .IP
3820 .ShellCommand man\~7\~groff
3821 .
3822 .TP
3823 .BR roff (@MAN7EXT@)
3825 .I roff
3826 systems, including pointers to further historical documentation.
3827 .
3828 .TP
3829 .RI [ CSTR\~#54\/ ]
3831 .I Nroff/\:Troff User's Manual
3833 .I J.\& F.\& Osanna
3835 .I Brian Kernighan
3837 .URL http://\:cm.bell-labs.com/\:cm/\:cs/\:cstr/\:54.ps.gz \
3838 "classical troff documentation" .
3839 .
3840 .cp \n[groff_diff_C]
3841 .
3842 .\" --------------------------------------------------------------------
3843 .\" Emacs variables
3844 .\" --------------------------------------------------------------------
3845 .
3846 .\" Local Variables:
3847 .\" mode: nroff
3848 .\" End: