⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tmac.doc

📁 早期freebsd实现
💻 DOC
📖 第 1 页 / 共 5 页
字号:
.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 + -