📄 tmac.groff_ms
字号:
.igCopyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com)This file is part of groff.groff is free software; you can redistribute it and/or modify it underthe terms of the GNU General Public License as published by the FreeSoftware Foundation; either version 2, or (at your option) any laterversion.groff is distributed in the hope that it will be useful, but WITHOUT ANYWARRANTY; without even the implied warranty of MERCHANTABILITY orFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licensefor more details.You should have received a copy of the GNU General Public License alongwith groff; see the file COPYING. If not, write to the Free SoftwareFoundation, 675 Mass Ave, Cambridge, MA 02139, USA....if !\n(.g .ab These ms macros require groff..if \n(.C \. ab The groff ms macros do not work in compatibility mode..\" Enable warnings. You can delete this if you want..warn.\" See if already loaded..if r GS .nx.nr GS 1.de @error.tm \\n(.F:\\n(.c: macro error: \\$*...de @warning.tm \\n(.F:\\n(.c: macro warning: \\$*...de @fatal.ab \\n(.F:\\n(.c: fatal macro error: \\$*...de @not-implemented.@error sorry, \\$0 not implemented.als \\$0 @nop...als TM @not-implemented.als CT @not-implemented.de @nop...de @init.\" a non-empty environment.ev ne\c.ev.ev nf'nf.ev...ds REFERENCES References.ds ABSTRACT ABSTRACT.ds TOC Table of Contents.ds MONTH1 January.ds MONTH2 February.ds MONTH3 March.ds MONTH4 April.ds MONTH5 May.ds MONTH6 June.ds MONTH7 July.ds MONTH8 August.ds MONTH9 September.ds MONTH10 October.ds MONTH11 November.ds MONTH12 December.ds MO \\*[MONTH\n[mo]].nr *year \n[yr]+1900.ds DY \n[dy] \*[MO] \n[*year].de ND.if \\n[.$] .ds DY "\\$*...de DA.if \\n[.$] .ds DY "\\$*.ds CF \\*[DY]...\" indexing.de IX.tm \\$1\t\\$2\t\\$3\t\\$4 ... \\n%...\" print an error message and then try to recover.de @error-recover.@error \\$@ (recovering).nr *pop-count 0.while !'\\n(.z'' \{\. \"@warning automatically terminating diversion \\n(.z. ie d @div-end!\\n(.z .@div-end!\\n(.z. el .*div-end-default. nr *pop-count +1. \" ensure that we don't loop forever. if \\n[*pop-count]>20 .@fatal recovery failed.\}.while !'\\n[.ev]'0' .ev.par@reset-env.par@reset...de *div-end-default.ds *last-div \\n(.z.br.di.ev nf.\\*[*last-div].ev...\" ****************************.\" ******** module cov ********.\" ****************************.\" Cover sheet and first page..de cov*err-not-after-first-page.@error \\$0 is not allowed after the first page has started...de cov*err-not-before-tl.@error \\$0 is not allowed before TL...de cov*err-not-again.@error \\$0 is not allowed more than once...de cov*err-not-after-ab.@error \\$0 is not allowed after first AB, LP, PP, IP, SH or NH...als AU cov*err-not-before-tl.als AI cov*err-not-before-tl.als AB cov*err-not-before-tl.de cov*first-page-init.rm cov*first-page-init.par@init.als RP cov*err-not-after-first-page.@init.ie \\n[cov*rp-format] \{\. pg@cs-top. als FS cov*FS. als FE cov*FE.\}.el \{\. pg@top. als FS @FS. als FE @FE.\}.wh 0 pg@top...wh 0 cov*first-page-init.\" This handles the case where FS occurs before TL or LP..de FS.br\\*[FS]\\...nr cov*rp-format 0.nr cov*rp-no 0.\" released paper format.de RP.nr cov*rp-format 1.if \\n[.$] .if '\\$1'no' .nr cov*rp-no 1.pn 0...de TL.br.als TL cov*err-not-again.rn @AB AB.rn @AU AU.rn @AI AI.di cov*tl-div.par@reset.ft B.ps +2.vs +3p.ll (u;\\n[LL]*5/6).nr cov*n-au 0...de @AU.par@reset.if !'\\n(.z'' \{\. br. di.\}.nr cov*n-au +1.di cov*au-div!\\n[cov*n-au].nf.ft I.ps \\n[PS]...de @AI.par@reset.if !'\\n(.z'' \{\. br. di.\}.ie !\\n[cov*n-au] .@error AI before AU.el \{\. di cov*ai-div!\\n[cov*n-au]. nf. ft R. ps \\n[PS].\}...de LP.if !'\\n[.z]'' \{\. br. di.\}.br.cov*ab-init.cov*print\\*[\\$0]\\...als IP LP.als PP LP.als XP LP.als NH LP.als SH LP.als MC LP.als RT LP.als XS LP.de cov*ab-init.als cov*ab-init @nop.als LP @LP.als IP @IP.als PP @PP.als XP @XP.als RT @RT.als XS @XS.als SH @SH.als NH @NH.als QP @QP.als RS @RS.als RE @RE.als QS @QS.als QE @QE.als MC @MC.als EQ @EQ.als EN @EN.als AB cov*err-not-after-ab.als AU par@AU.als AI par@AI.als TL par@TL...de @AB.if !'\\n(.z'' \{\. br. di.\}.cov*ab-init.di cov*ab-div.par@ab-indent.par@reset.if !'\\$1'no' \{\. ft I. ce 1\\*[ABSTRACT]. sp. ft R.\}.ns.@PP...de AE.ie '\\n(.z'cov*ab-div' \{\. als AE cov*err-not-again. br. di.\" nr cov*ab-height \\n[dn]. par@reset-env. par@reset. cov*print.\}.el .@error AE without AB...de @div-end!cov*ab-div.AE...de cov*print.als cov*print @nop.ie d cov*tl-div \{\. ie \\n[cov*rp-format] .cov*rp-print. el .cov*draft-print.\}.el \{\. if \\n[cov*rp-format] \{\. @warning RP format but no TL. bp 1. als FS @FS. als FE @FE. \}. br.\}...de cov*rp-print.nr cov*page-length \\n[.p].pl 1000i.cov*tl-au-print.sp 3.if d cov*ab-div \{\. nf. cov*ab-div.\}.sp 3.par@reset\\*[DY].br.if \\n[cov*fn-height] \{\. sp |(u;\\n[cov*page-length]-\\n[FM]\-\\n[cov*fn-height]-\\n[fn@sep-dist]>?\\n[nl]). fn@print-sep. ev nf. cov*fn-div. ev. ie \\n[cov*rp-no] .rm cov*fn-div. el \{\. rn cov*fn-div fn@overflow-div. nr fn@have-overflow 1. \}.\}.als FS @FS.als FE @FE.\" If anything was printed below where the footer line is normally printed,.\" then that's an overflow..if -\\n[FM]/2+1v+\\n[cov*page-length]<\\n[nl] .@error cover sheet overflow.pl \\n[cov*page-length]u.bp 1.if !\\n[cov*rp-no] .cov*tl-au-print.rs.sp 1...de cov*draft-print.cov*tl-au-print.if d cov*ab-div \{\. nf. sp 2. cov*ab-div.\}.sp 1...de cov*tl-au-print.par@reset.nf.rs.sp 3.ce 9999.cov*tl-div.nr cov*i 1.nr cov*sp 1v.while \\n[cov*i]<=\\n[cov*n-au] \{\. sp \\n[cov*sp]u. cov*au-div!\\n[cov*i]. ie d cov*ai-div!\\n[cov*i] \{\. sp .5v . cov*ai-div!\\n[cov*i]. nr cov*sp 1v. \}. el .nr cov*sp .5v. nr cov*i +1.\}.ce 0...nr cov*fn-height 0.nr cov*in-fn 0.\" start of footnote on cover.de cov*FS.if \\n[cov*in-fn] \{\. @error nested FS. FE.\}.nr cov*in-fn 1.ev fn.par@reset-env.da cov*fn-div.if !\\n[cov*fn-height] .ns.ie \\n[.$] .FP "\\$1" no.el .@LP...de @div-end!cov*fn-div.cov*FE...\" end of footnote on cover.de cov*FE.ie '\\n(.z'cov*fn-div' \{\. br. ev. di. nr cov*in-fn 0. nr cov*fn-height +\\n[dn].\}.el .@error FE without matching FS...\" ***************************.\" ******** module pg ********.\" ***************************.\" Page-level formatting..\" > 0 if we have a footnote on the current page.nr pg@fn-flag 0.nr pg@colw 0.nr pg@fn-colw 0.nr HM 1i.nr FM 1i.nr PO 1i.ds LF.ds CF.ds RF.ds LH.ds CH -\\n%-.ds RH.ds pg*OH '\\*[LH]'\\*[CH]'\\*[RH]'.ds pg*EH '\\*[LH]'\\*[CH]'\\*[RH]'.ds pg*OF '\\*[LF]'\\*[CF]'\\*[RF]'.ds pg*EF '\\*[LF]'\\*[CF]'\\*[RF]'.de OH.ds pg*\\$0 "\\$*...als EH OH.als OF OH.als EF OH.de PT.ie '\\n%'1' .if \\n[pg*P1] .tl \\*[pg*OH].el \{\. ie o .tl \\*[pg*OH]. el .tl \\*[pg*EH].\}...de BT.ie o .tl \\*[pg*OF].el .tl \\*[pg*EF]...nr pg*P1 0.de P1.nr pg*P1 1...wh -\n[FM]u pg@bottom.wh -\n[FM]u/2u pg*footer.nr MINGW 2n.nr pg@ncols 1.de @MC.if !'\\n(.z'' .error-recover MC while diversion open.br.ie \\n[pg@ncols]>1 .pg@super-eject.el \{\. \" flush out any floating keeps. while \\n[kp@tail]>\\n[kp@head] \{\. rs. bp. \}.\}.ie !\\n(.$ \{\. nr pg@colw \\n[LL]*7/15. nr pg*gutw \\n[LL]-(2*\\n[pg@colw]). nr pg@ncols 2.\}.el \{\. nr pg@colw (n;\\$1)<?\\n[LL]. ie \\n[.$]<2 .nr pg*gutw \\n[MINGW]. el .nr pg*gutw (n;\\$2). nr pg@ncols \\n[LL]-\\n[pg@colw]/(\\n[pg@colw]+\\n[pg*gutw])+1. ie \\n[pg@ncols]>1 \. nr pg*gutw \\n[LL]-(\\n[pg@ncols]*\\n[pg@colw])/(\\n[pg@ncols]-1). el .nr pg*gutw 0.\}.mk pg*col-top.ns.nr pg*col-num 0.nr pg@fn-colw \\n[pg@colw]*5/6.par@reset...de 2C.MC...de 1C.MC \\n[LL]u...\" top of page macro.de pg@top.ch pg*footer -\\n[FM]u/2u.nr pg*col-num 0.nr pg@fn-bottom-margin 0.nr pg*saved-po \\n[PO].po \\n[PO]u.ev h.par@reset.sp (u;\\n[HM]/2).PT.sp |\\n[HM]u.if d HD .HD.mk pg@header-bottom.ev.mk pg*col-top.pg*start-col...de pg*start-col.\" Handle footnote overflow before floating keeps, because the keep.\" might contain an embedded footnote..fn@top-hook.kp@top-hook.tbl@top-hook.ns...de pg@cs-top.sp \\n[HM]u.\" move pg@bottom and pg*footer out of the way.ch pg@bottom \\n[.p]u*2u.ch pg*footer \\n[.p]u*2u.ns...de pg@bottom.tbl@bottom-hook.if \\n[pg@fn-flag] .fn@bottom-hook.nr pg*col-num +1.ie \\n[pg*col-num]<\\n[pg@ncols] .pg*end-col.el .pg*end-page...de pg*end-col'sp |\\n[pg*col-top]u.po (u;\\n[pg*saved-po]+(\\n[pg@colw]+\\n[pg*gutw]*\\n[pg*col-num])).\"po +(u;\\n[pg@colw]+\\n[pg*gutw]).pg*start-col...de pg*end-page.po \\n[pg*saved-po]u.\" Make sure we don't exit if there are still floats or footnotes left-over..ie \\n[kp@head]<\\n[kp@tail]:\\n[fn@have-overflow] \{\. \" Switching environments ensures that we don't get an unnecessary. \" blank line at the top of the page.. ev ne' bp. ev.\}.el \{\. \" If the text has ended and there are no more footnotes or keeps, exit.. if \\n[pg@text-ended] .ex. if r pg*next-number \{\. pn \\n[pg*next-number]. rr pg*next-number. if d pg*next-format \{\. af % \\*[pg*next-format]. rm pg*next-format. \}. \}' bp.\}...\" pg@begin number format.de pg@begin.ie \\n[.$]>0 \{\. nr pg*next-number (;\\$1). ie \\n[.$]>1 .ds pg*next-format \\$2. el .rm pg*next-format.\}.el .rr pg*next-number.pg@super-eject...\" print the footer line.de pg*footer.ev h.par@reset.BT.ev...\" flush out any keeps or footnotes.de pg@super-eject.br.if !'\\n(.z'' .@error-recover diversion open while ejecting page.\" Make sure we stay in the end macro while there is still footnote overflow.\" left, or floating keeps..while \\n[kp@tail]>\\n[kp@head]:\\n[pg@fn-flag] \{\. rs. bp.\}.bp...nr pg@text-ended 0.de pg@end-text.br.nr pg@text-ended 1.pg@super-eject...em pg@end-text.\" ***************************.\" ******** module fn ********.\" ***************************.\" Footnotes..nr fn@sep-dist 8p.ev fn.\" Round it vertically.vs \n[fn@sep-dist]u.nr fn@sep-dist \n[.v].ev.nr fn*text-num 0 1.nr fn*note-num 0 1.ds * \\*[par@sup-start]\En+[fn*text-num]\\*[par@sup-end].nr fn*open 0.\" normal FS.de @FS.ie \\n[.$] .fn*do-FS "\\$1" no.el \{\. ie \\n[fn*text-num]>\\n[fn*note-num] .fn*do-FS \\n+[fn*note-num]. el .fn*do-FS.\}...\" Second argument of `no' means don't embellish the first argument..de fn*do-FS.if \\n[fn*open] .@error-recover nested FS.nr fn*open 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -