meillo@0: .do xflag 3 meillo@0: .de __ meillo@0: .. meillo@0: .blm __ \" ignore empty lines in input meillo@0: .lc_ctype en_US.utf8 meillo@0: .mediasize a4 meillo@0: meillo@0: .fp 1 R LinLibertine_R otf meillo@0: .feature R +onum meillo@0: .fp 2 I LinLibertine_RI otf meillo@0: .feature I +onum meillo@0: .fp 3 B LinLibertine_RB otf meillo@0: .feature B +onum meillo@0: .fp 4 BI LinLibertine_RBI otf meillo@0: .feature BI +onum meillo@0: .fp 5 CW TerminusMedium-4.36 ttf meillo@0: .fp 0 CI TerminusMediumItalic-4.36 ttf meillo@0: .fp 0 CB TerminusBold-4.36 ttf meillo@0: .fp 0 L TerminusMedium-4.36 ttf meillo@82: .ftr CW -\-`\`'\' meillo@82: .ftr CI -\-`\`'\' meillo@82: .ftr CB -\-`\`'\' meillo@82: .ftr L -\-`\`'\' meillo@15: .fp 0 SC LinLibertine_R otf meillo@15: .feature SC +onum +smcp meillo@15: .fp 0 IC LinLibertine_RI otf meillo@15: .feature IC +onum +smcp meillo@0: .fp 0 BC LinLibertine_RB otf meillo@0: .feature BC +onum +smcp meillo@0: meillo@0: .ig meillo@75: . nr PS 11 meillo@75: . nr VS 13 meillo@75: . padj meillo@0: .. meillo@0: meillo@0: .nr PI 3n meillo@41: .nr PD .3v meillo@0: .nr lu 0 meillo@0: .af PN i meillo@0: meillo@15: .ds _E '\\\\n(PN''\f(SCMarkus Schnalke: The Modern Mail Handler\fP' \" left meillo@15: .ds _O '\f(SCChapter \\\\n(H1\ \ \\\\*(_C\fP''\\\\n(PN' \" right meillo@29: .ds _o '\f(SC\\\\*(_C\fP''\\\\n(PN' \" right meillo@0: .ds CH " meillo@0: meillo@0: .nr HM 3.3c meillo@0: .nr FM 6.6c meillo@75: .nr LL 13c meillo@75: .ll 13c meillo@0: .nr LT \n(LL meillo@75: .if t .nr PO 3.3c meillo@0: meillo@81: . \" _M - change margins for text block on next page meillo@81: .de _M meillo@75: .if t .if o .nr PO +(21c-\n(.lu-(2u*3.3c))c meillo@75: .if t .if e .nr PO -(21c-\n(.lu-(2u*3.3c))c meillo@0: .ds CF " meillo@0: .. meillo@0: .wh -1u _M meillo@0: meillo@81: . \" CW - Set text in CW font (similar to .B and .I) meillo@0: .de CW meillo@0: .nr PQ \\n(.f meillo@0: .if t \{\ meillo@0: . ft CW meillo@0: . if !^\\$1^^ \&\\$1\f\\n(PQ\\$2 meillo@0: .\} meillo@0: .if n \{\ meillo@0: . ie ^\\$1^^ .ul 999 meillo@0: . el .ul 1 meillo@0: . if \\n(.$=1 \&\\$1 meillo@0: . if \\n(.$>1 \&\\$1\c meillo@0: . if \\n(.$>1 \&\\$2 meillo@0: .\} meillo@0: .. meillo@0: meillo@81: . \" refer(1) stuff meillo@35: .ds [. " [ meillo@0: .ds .] ] meillo@0: .rm ]< meillo@0: .de ]< meillo@0: . LP meillo@0: . de FP meillo@0: . IP \\\\$1. meillo@0: \\.. meillo@0: . rm FS FE meillo@0: .. meillo@0: meillo@81: . \" PT - page top macro of ms meillo@0: .am PT meillo@0: . rs meillo@0: .. meillo@0: meillo@81: meillo@81: . \" RN - Reset PN and continue on an odd page ($1=number-format) meillo@81: .de RN meillo@81: .ie e .pn 1 meillo@81: .el \{ meillo@81: . pn 0 meillo@81: . bp meillo@81: .\} meillo@81: .ie \\n(.$=1 .af PN \\$1 meillo@81: .el .af PN 1 meillo@81: .. meillo@81: meillo@81: meillo@81: . \" T_ - Add TOC entry ($1=pre-space $2=indent-level $3=text) meillo@81: .de T_ meillo@79: .tm TOC____.sp \\$1 meillo@79: .tm TOC____\&\\h'\\$2u*2u*\\n(PIu'\\$3\0\0\a\t\\n(PN\fR meillo@79: .. meillo@79: meillo@81: . \" NH - redefine numbered heading meillo@0: .de NH meillo@0: .SH meillo@0: .nr NS \\$1 meillo@0: .if !\\n(.$ .nr NS 1 meillo@0: .if !\\n(NS .nr NS 1 meillo@0: .nr H\\n(NS +1 meillo@6: .if \\n(NS<2 .nr H2 0 meillo@6: .if \\n(NS<3 .nr H3 0 meillo@0: .ds SN \\n(H1 meillo@6: .if \\n(NS>1 .as SN \&.\\n(H2 meillo@6: .if \\n(NS>2 .as SN \&.\\n(H3 meillo@0: .. meillo@0: meillo@81: . \" H- - Chapter unnumbered and not in TOC ($2=="no" -> no page hdrs) meillo@40: .de H- meillo@29: .EH " meillo@29: .OH " meillo@29: .bp meillo@81: .if e .rs \" move to an odd page meillo@29: .if e .bp meillo@29: .lg 0 meillo@29: .nr PS +6 meillo@29: .nr VS +6 meillo@29: .SH meillo@29: .ce 1 meillo@29: .tr aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ meillo@29: \&\\$1 meillo@29: .br meillo@29: .tr aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz meillo@29: .nr PS -6 meillo@29: .nr VS -6 meillo@29: .lg meillo@40: .if !,\\$2,no, \{ meillo@40: . EH "\\\\*(_E meillo@40: . ie \\n(H1 .OH "\\\\*(_O meillo@40: . el .OH "\\\\*(_o meillo@40: . ds CF \\n(PN meillo@40: .\} meillo@81: .RT meillo@29: .sp 4 meillo@29: .nr PP 0 meillo@29: .. meillo@29: meillo@81: . \" H0 - Chapter ($2=="no" -> not numbered) meillo@0: .de H0 meillo@0: .EH " meillo@0: .OH " meillo@0: .bp meillo@81: .if e .rs \" begin chapter on an odd page meillo@0: .if e .bp meillo@81: .lg 0 meillo@81: .nr PS +6 meillo@81: .nr VS +6 meillo@81: .ie ,\\$2,no, .SH meillo@81: .el \{\ meillo@0: . NH 1 meillo@0: . ce 1 meillo@0: Chapter \\*(SN meillo@0: . sp .5 meillo@0: .\} meillo@81: .ce 1 meillo@81: .tr aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ meillo@0: \&\\$1 meillo@81: .br meillo@81: .tr aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz meillo@81: .nr PS -6 meillo@81: .nr VS -6 meillo@81: .lg meillo@81: .\" add to TOC meillo@79: .rm t_ meillo@79: .if !,\\$2,no, .ds t_ \\*(SN\0\0 meillo@79: .T_ .5v 0 "\fB\\*(t_\\$1 meillo@81: .\" set page headers and footers meillo@29: .EH "\\\\*(_E meillo@81: .ds _C "\\$1 meillo@29: .ie \\n(H1 .OH "\\\\*(_O meillo@29: .el .OH "\\\\*(_o meillo@29: .ds CF \\n(PN meillo@81: .RT meillo@0: .sp 4 meillo@0: .nr PP 0 meillo@0: .. meillo@0: meillo@39: meillo@81: . \" H1 - Section ($2=="no" -> not numbered) meillo@0: .de H1 meillo@0: .br meillo@0: .ne 7 meillo@1: .sp meillo@81: .lg 0 meillo@81: .nr PS +2 meillo@81: .nr VS +2 meillo@81: .ie '\\$2'no' .SH meillo@81: .el .NH 2 meillo@6: .if !'\\$2'no' \&\\*(SN meillo@81: .tr aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ meillo@81: \&\\$1 meillo@81: .br meillo@81: .tr aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz meillo@81: .nr PS -2 meillo@81: .nr VS -2 meillo@81: .lg meillo@81: .if !'\\$2'no' .T_ .3v 1 "\\*(SN\0\0\\$1 \" add to TOC meillo@81: .RT meillo@6: .nr PP 0 meillo@6: .. meillo@6: meillo@81: . \" H2 - Subsection meillo@6: .de H2 meillo@6: .br meillo@7: .ne 4 meillo@59: .NH 3 meillo@81: \&\\*(SN \\$1 meillo@81: .T_ 0 2 "\\*(SN\0\0\\$1 \" add to TOC meillo@11: .RT meillo@11: .nr PP 0 meillo@11: .. meillo@11: meillo@81: . \" U2 - Subsection unnumbered meillo@11: .de U2 meillo@11: .br meillo@11: .ne 4 meillo@11: .SH meillo@81: \&\\$1 meillo@11: .RT meillo@0: .nr PP 0 meillo@0: .. meillo@0: meillo@81: . \" U3 - Subsubsection unnumbered meillo@73: .de U3 meillo@73: .br meillo@73: .ne 4 meillo@73: .RT meillo@73: .sp meillo@73: .I "\\$1 meillo@73: .RT meillo@73: .nr PP 0 meillo@73: .. meillo@73: meillo@81: . \" P - Paragraph (indented unless following a heading) meillo@0: .de P meillo@0: .ie \\n(PP .PP meillo@0: .el .LP meillo@0: .nr PP 1 meillo@0: .. meillo@0: meillo@81: . \" IP - Paragraph with hanging label meillo@0: .am IP meillo@0: .nr PP 0 meillo@0: .. meillo@0: meillo@81: . \" BU - Bulleted paragraph meillo@6: .de BU meillo@6: .IP \(bu meillo@6: .. meillo@6: meillo@81: . \" QP - Block quote paragraph meillo@0: .am QP meillo@0: .ps -1 meillo@0: .. meillo@0: meillo@81: . \" DS - Code display meillo@0: .am DS meillo@0: .ft CW meillo@0: .ps -1 meillo@0: .ta T 8n meillo@0: .. meillo@0: meillo@82: . \" VS - verbatim text start (\\ -> ^G; ' -> disabled; . -> ^B) meillo@82: .de VS meillo@82: .br meillo@82: .ne 4 meillo@82: .sp \n(DDu meillo@82: .if t .in +.5i meillo@82: .if n .in +8n meillo@82: .nf meillo@82: .ft CW meillo@82: .\" ps -1 meillo@82: .ta T 8n meillo@82: .\" set up verbatim environment meillo@82: \.blm meillo@82: \.ec  meillo@82: \.c2 "" meillo@82: \.cc  meillo@82: .. meillo@82: meillo@82: . \" VE - verbatim text end (NOTE: Needs to be called as ^BVE !) meillo@82: .de VE meillo@82: \" restore the special characters meillo@82: cc meillo@82: .c2 meillo@82: .ec meillo@82: .blm __ meillo@82: .if t .in -.5i meillo@82: .if n .in -8n meillo@82: .sp \n(DDu meillo@82: .ft P meillo@82: .fi meillo@82: .TA meillo@82: .. meillo@82: meillo@83: . \" VF - verbatim text from file ($1=filename) meillo@83: .de VF meillo@83: .VS meillo@83: so $1 meillo@83: VE meillo@83: .. meillo@83: meillo@81: . \" FA - XXX somehow related to footnotes? meillo@0: .am FA meillo@0: .ps 8 meillo@0: .vs 9 meillo@0: .. meillo@18: meillo@18: .de Fn \" file name meillo@18: .CW "\\$1" "\\$2 meillo@18: .. meillo@18: .de Pn \" program name meillo@18: .CW "\\$1" "\\$2 meillo@18: .. meillo@18: .de Fu \" function meillo@18: .CW "\\$1" "\\$2 meillo@18: .. meillo@19: .de Ev \" env variable meillo@19: .CW "\\$1" "\\$2 meillo@19: .. meillo@18: .de Cl \" command line meillo@18: `\c meillo@18: .CW "\\$1" "'\\$2 meillo@18: .. meillo@18: .de Sw \" switch meillo@18: .CW "\\$1" "\\$2 meillo@18: .. meillo@84: .de Ar \" argument meillo@84: .CW "\f(CI\\$1" "\\$2 meillo@84: .. meillo@18: .de Mp \" man page meillo@18: .I "\\$1" "\\$2 meillo@18: .. meillo@18: .de Pe \" profile entry meillo@18: .CW "\\$1" "\\$2 meillo@18: .. meillo@84: .de Hd \" mail header field meillo@84: .CW "\\$1:\&" "\\$2 meillo@84: .. meillo@67: meillo@81: .de Ci \" commit hash ref meillo@70: .ds _t \\$1 meillo@70: .substring _t 0 6 meillo@67: [\(rh meillo@70: .CW "\\*(_t" "]\\$2 meillo@67: .. meillo@77: meillo@77: .de Cf \" cf. (ref within document) meillo@77: (\(-> \\$1)\\$2 meillo@77: ..