📄 tmac.doc
字号:
.if \\n(aC==0 \{\. ie \\n(.$==0 .tm Usage: .Ic Interactive command ... \\*(Pu (#\\n(.c). el \{\. ds mN Ic. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9. \}.\}.if \\n(aC>\\n(aP \{\. as b1 \\*(iC. nr aP \\n(aP+1. nr cF \\n(.f. nr cZ \\n(.s. nR.\}...\" NS Li macro - literals.de Li.if \\n(aC==0 \{\. ie \\n(.$==0 .tm Usage .Li argument ... \\*(Pu (#\\n(.c). el \{\. ds mN Li. ds A1 \\$1. ds A2 \\$2. ds A3 \\$3. ds A4 \\$4. ds A5 \\$5. ds A6 \\$6. ds A7 \\$7. ds A8 \\$8. ds A9 \\$9. nr fV \\n(.$. fV. \}.\}.if \\n(aC>\\n(aP \{\. as b1 \\*(lI. nr aP \\n(aP+1. nr cF \\n(.f. nr cZ \\n(.s. nR.\}...\" NS Or macro - Pipe symbol (OR).de Or.if \\n(aC==0 \{\. ie \\n(.$==0 .tm Usage: .Or ... \\*(Pu (#\\n(.c). el \{\. ds mN Or. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9. \}.\}.if \\n(aC>\\n(aP \{\. as b1 \\*(iC. nr aP \\n(aP+1. nr cF \\n(.f. nr cZ \\n(.s. nR.\}...\" NS Ms macro - Math symbol.de Ms.if \\n(aC==0 \{\. ie \\n(.$==0 .tm Usage: .Ms Math symbol ... \\*(Pu (#\\n(.c). el \{\. ds mN Ms. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9. \}.\}.if \\n(aC>\\n(aP \{\. as b1 \\*(sY. nr aP \\n(aP+1. nr cF \\n(.f. nr cZ \\n(.s. nR.\}...\" NS Nm macro - Name of command or page topic.\" NS n1 string - save first invocation of .Nm.\" NS iS register - indent second command line in a synopsis.de Nm.if \\n(aC==0 \{\. ie \\n(.$==0 \{\. ie "\\*(n1"" .tm Usage: .Nm Name(s) ... \\*(Pu (#\\n(.c). el \&\\*(nM\\*(n1\fP\s0. \}. el \{\. ds mN Nm. ds A1 \\$1. ds A2 \\$2. ds A3 \\$3. ds A4 \\$4. ds A5 \\$5. ds A6 \\$6. ds A7 \\$7. ds A8 \\$8. ds A9 \\$9. nr fV \\n(.$. fV. \}.\}.if \\n(aC>0 \{\. ie \\n(aC==\\n(aP \{\. as b1 \&\\*(nM\\*(n1\fP\s0. aZ. \}. el \{\. as b1 \\*(nM. nr aP \\n(aP+1. ie \\n(C\\n(aP==1 \{\. as b1 \&\\*(n1\fP\s0. \\*(A\\n(aP. \}. el \{\. nr cF \\n(.f. nr cZ \\n(.s. if \\n(nS \{\. if "\\*(mN"Nm" \{\. rs. in -\\n(iSu. ie \\n(nS>1 .br. el \{\. if \\n(iS==0 \{\. sw \\$1. nr iS ((\\n(sWu+1)*\\n(fW)u. \}. \}. in +\\n(iSu. ti -\\n(iSu. nr nS \\n(nS+1. \}. \}. if "\\*(n1"" .ds n1 \\*(A\\n(aP. nR. \}. \}.\}...\" NS Pa macro - Pathname.de Pa.if \\n(aC==0 \{\. ie \\n(.$==0 \&\\*(pA~\fP\s0. el \{\. ds mN Pa. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9. \}.\}.if \\n(aC>\\n(aP \{\. as b1 \\*(pA. nr aP \\n(aP+1. nr cF \\n(.f. nr cZ \\n(.s. nR.\}...\" NS Sy macro - Symbolics.de Sy.if \\n(aC==0 \{\. ie \\n(.$==0 .tm Usage: .Sy symbolic_text ... \\*(Pu (#\\n(.c). el \{\. ds mN Sy. ds A1 \\$1. ds A2 \\$2. ds A3 \\$3. ds A4 \\$4. ds A5 \\$5. ds A6 \\$6. ds A7 \\$7. ds A8 \\$8. ds A9 \\$9. nr fV \\n(.$. fV. \}.\}.if \\n(aC>\\n(aP \{\. as b1 \\*(sY. nr aP \\n(aP+1. nr cF \\n(.f. nr cZ \\n(.s. nR.\}...\" NS Tn macro - Trade Name Macro.de Tn.if \\n(aC==0 \{\. ie \\n(.$==0 .tm Usage: .Tn Trade_name(s) ... \\*(Pu (#\\n(.c). el \{\. ds mN Tn. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9. \}.\}.if \\n(aC>\\n(aP \{\. as b1 \\*(tN\\*(tF. nr aP \\n(aP+1. nr cF \\n(.f. nr cZ \\n(.s. nR.\}...\" NS nN macro - Trade Name Macro for inside of reference.de nN.if \\n(aC==0 \{\. ie \\n(.$==0 .tm Usage: .Tn Trade_name(s) ... \\*(Pu (#\\n(.c). el \{\. ds mN Tn. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9. \}.\}.if \\n(aC>\\n(aP \{\. as b1 \\*(tN. nr aP \\n(aP+1. nr cF \\n(.f. nr cZ \\n(.s. rR.\}...\" NS Va macro - variable name macro.de Va.if \\n(aC==0 \{\. ie \\n(.$==0 .tm Usage: .Va variable_name(s) ... \\*(Pu (#\\n(.c). el \{\. ds mN Va. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9. \}.\}.if \\n(aC>\\n(aP \{\. as b1 \\*(vA. nr aP \\n(aP+1. nr cF \\n(.f. nr cZ \\n(.s. nR.\}...\".\" NS No macro - Normal text macro (default text style if mess up).de No.as b1 \\*(nO.if \\n(aC==0 \{\. ie \\n(.$==0 .tm Usage: .No must be called with arguments (#\\n(.c). el \{\. ds mN No. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9. \}.\}.if \\n(aC>\\n(aP \{\. nr aP \\n(aP+1. ie \\n(C\\n(aP==1 \{\. \\*(A\\n(aP. \}. el \{\. nr cF \\n(.f. nr cZ \\n(.s. nR. \}.\}...\"------------------------------------------------------------------------.\" NS Op macro - Option Expression.de Op.if \\n(aC==0 \{\. ds mN Op.\}.\" .ds qL \&\\*(lO.\" .ds qR \&\\*(rO.ds qL \&\\*(lB.ds qR \&\\*(rB.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8...\" NS Aq macro - Enclose string in angle brackets.de Aq.if \\n(aC==0 .ds mN Aq.ds qL \&<.ds qR \&>.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Bq macro - Enclose string in square brackets.de Bq.if \\n(aC==0 .ds mN Bq.ds qL \&\\*(lB.ds qR \&\\*(rB.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Dq macro - Enclose string in double quotes.de Dq.if \\n(aC==0 .ds mN Dq.ds qL \&\\*(Lq.ds qR \&\\*(Rq.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Eq macro - Enclose string in double quotes.de Eq.if \\n(aC==0 .ds mN Eq.ds qL \\$1.ds qR \\$2.En \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Pq macro - Enclose string in parenthesis.de Pq.if \\n(aC==0 .ds mN Pq.ds qL \&\\*(lP.ds qR \&\\*(rP.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Ql macro - Quoted literal is in file mdoc-[dit|n|g]roff (too large.\" an if-else to carry along recursively for `if n ...').\".\" NS Sq macro - Enclose string in single quotes.de Qq.if \\n(aC==0 .ds mN Qq.ds qL \&\\*q.ds qR \&\\*q.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Sq macro - Enclose string in single quotes.de Sq.if \\n(aC==0 .ds mN Sq.ds qL \&\\*(sL.ds qR \&\\*(sR.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\".\" NS Es macro - Set up strings for .En call.de Es.if \\n(aC==0 \{\. ie \\n(.$>2 .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9. el \{\. ds qL \\$1. ds qR \\$2. \}.\}.if \\n(aC>\\n(aP \{\. nr aP \\n(aP+1. ds qL \\*(A\\n(aP. nr aP \\n(aP+1. ds qR \\*(A\\n(aP. ie \\n(aC>\\n(aP .c\\n(C\\n(aP. el .aZ.\}...\" .tm En beg arg(A[\\n(aP])==\\*(A\\n(aP;.\" .tm En oM==\\n(oM; dZ==\\n(dZ; Xt==\\n(Xt; aC==\\n(aC.\" NS En macro - Enclose string with given args (eg [ and ] etc).\" NS qL string variable set by calling macro.\" NS qR string variable set by calling macro.\" NS aJ register (for vR).de En.ie \\n(aC==0 \{\. ie \\n(.$==0 \{\. as b1 \&\\*(qL\\*(qR. pB. \}. el \{\.\". as mN (En). aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9. as b1 \&\\*(qL. \}.\}.el \{\. as b1 \&\\*(qL.\}.if \\n(aC>0 \{\. ie (\\n(aC-\\n(aP)==0 \{\. as b1 \&\\*(qR. aZ. \}. el \{\. ie \\n(C\\n(aC==3 \{\. nr aJ \\n(aC-1. vR. nr aJ \\n(aJ+1. ds A\\n(aJ \&\\*(qR\\*(A\\n(aJ. nr aJ 0. \}. el .aI \&\\*(qR 3. nr aP \\n(aP+1. if \\n(C\\n(aP==1 .\\*(A\\n(aP. if \\n(C\\n(aP>1 \{\. nr aP \\n(aP-1. No. \}. \}.\}...\" NS vR macro - vector routine (for En, trace backwards past trail punct).de vR.if \\n(C\\n(aJ==3 \{\. nr aJ \\n(aJ-1. vR.\}...\"------------------------------------------------------------------------.\" NS Ao macro - Angle open.de Ao.if \\n(aC==0 .ds mN Ao.ds qL \&<.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Ac macro - Angle close.de Ac.if \\n(aC==0 .ds mN Ac.ds qR \&>.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Bo macro - Bracket open.de Bo.if \\n(aC==0 .ds mN Bo.ds qL \&[.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Bc macro - Bracket close.de Bc.if \\n(aC==0 .ds mN Bc.ds qR \&].eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Do macro - Double Quote open.de Do.if \\n(aC==0 .ds mN Do.ds qL \&\\*(Lq.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Dc macro - Double Quote close.de Dc.if \\n(aC==0 .ds mN Dc.ds qR \&\\*(Rq.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Eo macro - Enclose open.de Eo.if \\n(aC==0 .ds mN Eo.ds qL \\$1.eO \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Ec macro - Enclose close.de Ec.if \\n(aC==0 .ds mN Ec.ds qR \\$1.eC \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Oo macro - Option open.de Oo.if \\n(aC==0 .ds mN Oo.ds qL \&[.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Oc macro - Option close.de Oc.if \\n(aC==0 .ds mN Oc.ds qR \&].eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Po macro - Parenthesis open.de Po.if \\n(aC==0 .ds mN Po.ds qL \&(.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Pc macro - Parenthesis close.de Pc.if \\n(aC==0 .ds mN Pc.ds qR \&).eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Qo macro - Straight Double Quote open.de Qo.if \\n(aC==0 .ds mN Qo.ds qL \&\\*q.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Qc macro - Straight Double Quote close.de Qc.if \\n(aC==0 .ds mN Qc.ds qR \&\\*q.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS So macro - Single Quote open.de So.if \\n(aC==0 .ds mN So.ds qL \&\\*(sL.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Sc macro - Single Quote close.de Sc.if \\n(aC==0 .ds mN Sc.ds qR \&\\*(sR.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Xo macro - Extend open (continue).de Xo.if \\n(aC==0 .ds mN Xo.\" .nr mN 1.ds qL.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS Xe macro - Extend close (end).de Xc.\" .nr mN 0.if \\n(aC==0 .ds mN Xc.ds qR.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS eO macro - enclose string open.\" NS oM register (extension possible).de eO.nr oM \\n(oM+1.\" .tm eO last arg==A[\\n(aC]==\\*(A\\n(aC; aP==\\n(aP; oM==\\n(oM; dZ==\\n(dZ;.ie \\n(aC==0 \{\. ie \\n(.$>0 \{\. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9. as b1 \\*(qL. \}. el \{\. as b1 \\*(qL. if (\\n(dZ==0)&(\\n(sM==1) \{\. nr dZ \\n(dZ+1. ds b2 \\*(b1. ds b1. nr lK \\n(.c. ev 2. fi. di eB. \}. \}.\}.el \{\. as b1 \\*(qL.\}.ie \\n(aC>0 \{\. if \\n(aC>\\n(aP \{\. nr aP \\n(aP+1. ie \\n(C\\n(aP==1 .\\*(A\\n(aP. el \{\. nr aP \\n(aP-1. No. \}. \}. if \\n(aC==\\n(aP \{\. if \\n(tP==1 \{\.\" .tm SETTING Xt!!!. nr Xt 1. \}.\".\" . ds S0.\"CHANGED ds S0 \\*(iV. aY. \}.\}.el \{\. if \\n(oM>1 .as b1 \\*(sV.\}...\".\" NS eC macro - enclose string close.\" NS aa local register.de eC.nr oM \\n(oM-1.\" tm eC last arg==A[\\n(aC]==\\*(A\\n(aC; aP==\\n(aP; oM==\\n(oM; dZ==\\n(dZ;.as b1 \\*(qR.if \\n(aC==0 \{\. ie \\n(.$>0 \{\. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9. \}. el \{\. ie "\\*(xB"" \{\. pB. \}. el \{\. pB.\\*(L\\n(lC. nr Xt 0. ds xB. \}. \}.\}.if \\n(aC>0 \{\. ie \\n(aC==\\n(aP \{\. ie \\n(oM==0 \{\. aZ. \}. el .aY. \}. el \{\. nr aa \\n(aP+1. if \\n(C\\n(aa==2 .as b1 \\*(S\\n(aC.\" tm CURRENT arg (aP==\\*(A\\n(aP and ap+1==\\*(A\\n(aa) tP==\\n(tP Xt==\\n(Xt. rr aa. if \\n(tP>0 \{\.\" tm UNSETTING Xt==\\n(Xt!!!!. if \\n(Xt>0 .nr Xt \\n(Xt-1.\" tm NOW Xt==\\n(Xt!!!!. \}. No. \}.\}...\"------------------------------------------------------------------------.\" NS Pf macro - Prefix (calls .pF).de Pf.if \\n(aC==0 .ds mN Pf.ds qL \&\\$1.pF \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9...\" NS pF macro - Prefix (for prefixing open quotes, brackets etc).de pF.ie \\n(aC==0 \{\. as b1 \&\\*(qL. ie \\n(.$<2 \{\. tm Warning: Missing arguments - prefix .Pf). pB. \}. el .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9.\}.el \{\. ie (\\n(aC-\\n(aP)>1 \{\. nr aP \\n(aP+1. as b1 \&\\*(A\\n(aP. \}. el .tm Warning: .Pf: trailing prefix (#\\n(.c).\}.if \\n(aC>0 \{\. ie (\\n(aC-\\n(aP)==0 .aZ. el \{\. nr aP \\n(aP+1. c\\n(C\\n(aP. \}.\}...\" NS Ns macro - remove space (space remove done by .aV or .fV).de Ns.if \\n(aC==0 \{\. ds mN Ns. ie \\n(.$>0 .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9. el .tm Usage: .Ns must be called with arguments (#\\n(.c).\}.No...de Ap.if \\n(aC==0 \{\. ds mN Ap. tm Usage: Ap "cannot be first request on a line (no .Ap)" (#\\n(.c).\}.as b1 \&'.No...\" NS Hv macro - Hard (unpaddable) Space vector.\" NS iV string inter-vector space.\" NS sV string inter-argument space.de Hv.ds iV \\*(sV.ds sV \\*(hV...\" NS Sv macro - Soft Space vector (troff limitation).de Sv.ds sV \\*(iV...\" NS Tv macro - Tab Space vector.de Tv.ds sV \\*(tV...\" NS Sm macro - Space mode.\" NS sM register - default is one (space mode on).nr sM 1.de Sm.if \\n(aC==0 \{\. ie \\n(.$==0 .tm "Usage: .Sm [off | on]" (#\\n(.c). el \{\. ds mN Sm. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9. \}.\}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -