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(
) ARG1 \
IFZERO(XXcellcounter)\
(htmlcommand( ))\ ()\ 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:
text | , so that's fairly easy. If we're already at the last cell, we need text | .
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() ARG2 \
IFZERO(XXcellcounter)\
(htmlcommand( ))\ ()\ 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(