COMMENT(-- $Id: masonyodl.yo,v 1.2 2003/11/24 17:31:27 pcg 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(

))\ IFZERO(RRnl)(nl())()) \ UNDEFINEMACRO(starttable) DEFINEMACRO(starttable)(3)(\ SETCOUNTER(XXtablewidth)(ARG1)\ whenhtml(IFZERO(ARG3)(htmlcommand())\ (htmlcommand(
))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
, 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() 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: , so that's fairly easy. If we're already at the last cell, we need . 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() 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())\ whentxt(ADDTOCOUNTER(RRindentlevel)(4)ARG1+ADDTOCOUNTER(RRindentlevel)(-4))\ whenman(roffcmd(.RS)()()()roffcmd(.HP)()()()ARG1+roffcmd(.RE)()()())\ whenms()) \ DEFINEMACRO(startdl)(0)(\ whenhtml(htmlcommand(
))\ whentxt(ADDTOCOUNTER(RRindentlevel)(4))\ whenman(startdit())) \ DEFINEMACRO(enddl)(0)(\ whenhtml(htmlcommand(
))\ whentxt(ADDTOCOUNTER(RRindentlevel)(-4))\ whenman(enddit())) \ DEFINEMACRO(dl)(2)(\ whenhtml(htmlcommand(
)ARG1+htmlcommand(
)\ ARG2+htmlcommand(
))\ 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))
) ARG1 \ IFZERO(XXcellcounter)\ (htmlcommand(
))\ ()\ htmlcommand(
text text
) ARG2 \ IFZERO(XXcellcounter)\ (htmlcommand(
))\ ()\ htmlcommand(