123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- COMMENT(-- $Id: masonyodl.yo,v 1.2 1998/04/20 07:24:20 mason Exp $ --)
- COMMENT(-----------------------------------------------------------------------
- -- We want more functionality and some better layout
- -- proto changes:
- -- starttable(nColumns)(Alignment)(borderwidth)
- ------------------------------------------------------------------------------)
- NEWCOUNTER(RRindentlevel)
- NEWCOUNTER(RRnl)
- SETCOUNTER(RRindentlevel)(0)
- \
- DEFINEMACRO(nltxt)(0)(\
- IFZERO(RRnl)()( ADDTOCOUNTER(RRnl)(-1)nltxt()))
- \
- UNDEFINEMACRO(XXnl)
- DEFINEMACRO(XXnl)(0)(\
- NOTRANS(
- )\
- whentxt(SETCOUNTER(RRnl)(RRindentlevel)nltxt()))
- \
- DEFINEMACRO(P)(0)(\
- SETCOUNTER(RRnl)(0)\
- whenhtml(SETCOUNTER(RRnl)(1)htmlcommand(<p>))\
- IFZERO(RRnl)(nl())())
- \
- UNDEFINEMACRO(starttable)
- DEFINEMACRO(starttable)(3)(\
- SETCOUNTER(XXtablewidth)(ARG1)\
- whenhtml(IFZERO(ARG3)(htmlcommand(<table>))\
- (htmlcommand(<table border=ARG3>))XXnl())\
- whenlatex(latexcommand(\begin{tabular}{)ARG2+latexcommand(}))\
- whenman(roffcmd(.TS)()()())\
- whenman(IFZERO(ARG3)(roffcmd(tab(`);)()()())\
- (roffcmd(allbox,tab(`);)()()()))\
- whenman(ARG2 NOTRANS(.
- ))\
- whenms(roffcmd(.TS)()()())\
- whenms(IFZERO(ARG3)(roffcmd(tab(`);)()()())\
- (roffcmd(allbox,tab(`);)()()()))\
- whenms(ARG2+mscommand(.))\
- SETCOUNTER(XXtablewidth)(ARG1)\
- SETCOUNTER(XXparcounter)(0))
- COMMENT( For HTML, we'll need <table>, for
- LaTeX we'll need \begin{tabular}{alignment}. Also, we don't want
- paragraph delimiters.)
- \
- UNDEFINEMACRO(cell)
- DEFINEMACRO(cell)(1)(\
- ADDTOCOUNTER(XXtableline)(1)\
- whenhtml(htmlcommand(<td>) ARG1 \
- IFZERO(XXcellcounter)\
- (htmlcommand(<br>))\
- ()\
- htmlcommand(</td>) XXnl())\
- whenlatex(ARG1 \
- IFZERO(XXcellcounter)\
- ()(latexcommand( & )))\
- whentxt( ARG1 )\
- whenms( ARG1 )\
- IFZERO(XXcellcounter)\
- ()\
- (mscommand(`\))\
- whenman( ARG1 )\
- IFZERO(XXcellcounter)\
- ()\
- (mancommand(`\))\
- ADDTOCOUNTER(XXcellcounter)(-1))
- COMMENT(For HTML we need:
- <td> text </td>, so that's fairly easy. If we're already at the last
- cell, we need <td> text <br></td>.
- For LaTeX: we need text followed by &, unless
- we're already at the last cell 'cuz in that case we need only text.
- Also we need to decrement the cell counter..)
- \
- UNDEFINEMACRO(cells)
- DEFINEMACRO(cells)(2)(\
- ADDTOCOUNTER(XXtableline)(ARG1)\
- ADDTOCOUNTER(XXcellcounter)(-ARG1)\
- ADDTOCOUNTER(XXcellcounter)(1)\
- whenhtml(htmlcommand(<td colspan=ARG1 align=center>) ARG2 \
- IFZERO(XXcellcounter)\
- (htmlcommand(<br>))\
- ()\
- htmlcommand(</td>) XXnl())\
- whenlatex(\
- latexcommand(\multicolumn{)ARG1+latexcommand(}{c}{)ARG2+latexcommand(})\
- IFZERO(XXcellcounter)\
- ()(latexcommand( & )))\
- whentxt( ARG1 )\
- whenms( ARG1 )\
- IFZERO(XXcellcounter)\
- ()\
- (mscommand(`\))\
- whenman( ARG1 )\
- IFZERO(XXcellcounter)\
- ()\
- (mancommand(`\))\
- ADDTOCOUNTER(XXcellcounter)(-1))
- \
- DEFINEMACRO(indent)(1)(\
- whenhtml(htmlcommand(<ul>)ARG1+htmlcommand(</ul>))\
- whentxt(ADDTOCOUNTER(RRindentlevel)(4)ARG1+ADDTOCOUNTER(RRindentlevel)(-4))\
- whenman(roffcmd(.RS)()()()roffcmd(.IP)()()()ARG1+roffcmd(.RE)()()())\
- whenms())
- \
- DEFINEMACRO(startdl)(0)(\
- whenhtml(htmlcommand(<dl>))\
- whentxt(ADDTOCOUNTER(RRindentlevel)(4))\
- whenman(startdit()))
- \
- DEFINEMACRO(enddl)(0)(\
- whenhtml(htmlcommand(</dl>))\
- whentxt(ADDTOCOUNTER(RRindentlevel)(-4))\
- whenman(enddit()))
- \
- DEFINEMACRO(dl)(2)(\
- whenhtml(htmlcommand(<dt>)ARG1+htmlcommand(</dt><dd>)\
- ARG2+htmlcommand(</dd>))\
- whentxt(ADDTOCOUNTER(RRindentlevel)(2)dit(ARG1)\
- ADDTOCOUNTER(RRindentlevel)(2)nl()\
- ARG2+ADDTOCOUNTER(RRindentlevel)(-4))\
- whenman(dit(ARG1)ARG2))
- \
- DEFINEMACRO(manpageauthors)(0)(\
- manpagesection(AUTHORS)\
- DEFINESYMBOL(XXmanpageAuthor))
|