X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/1528431bae65721c81c5a3a1fd99b4231a936fe0..ddfe426573957fa52102832a51582bb134ee7b42:/doc/sod.sty diff --git a/doc/sod.sty b/doc/sod.sty index 1f3655d..acc4370 100644 --- a/doc/sod.sty +++ b/doc/sod.sty @@ -63,7 +63,10 @@ %% Literal code is in sans face. \let\codeface\sffamily -\def\code#1{\ifmmode\hbox\fi{\normalfont\codeface\/#1\/}} +\DeclareRobustCommand\code[1]{% + \ifmmode\hbox\else\leavevmode\fi% + {\normalfont\codeface\/#1\/}% +} \def\ulitleft{\normalfont\codeface} \let\ulitright\empty @@ -157,6 +160,7 @@ \definedescribecategory{af-meth}{after method} \definedescribecategory{cls}{class} \definedescribecategory{ty}{type} +\definedescribecategory{type}{type} \definedescribecategory{mac}{macro} \definedescribecategory{lmac}{local macro} \definedescribecategory{parse}{parser spec} @@ -178,12 +182,26 @@ \if@dheadfirst\global\@dheadfirstfalse\else\relax\\[\smallskipamount]\fi% {\let\protect\@empty\def\@uscore{_\@gobble}\message{#2:#1}% \def\@uscore{-\@gobble}\edef\@tempa{\noexpand\label{#2:#1}}\@tempa}% + {\begingroup\lccode`\~=`\_\lowercase{\endgroup\def~{_}}% + \protected@edef\@tempa##1{% + \noexpand\index{% + #1@{\noexpand\code{#1}}!% + \csname cat!#2\endcsname% + ##1% + }% + }% + \@tempa{|(}% + \toks@\expandafter{\after@desc}% + \toks\tw@\expandafter{\@tempa{|)}}% + \xdef\after@desc{\the\toks@\the\toks\tw@}}% \rlap{\hb@xt@\linewidth{\hfil\normalfont\bfseries [\describecategoryname{#2}]}}% #3% } \def\desc@begin#1{% + \let\saved@after@desc\after@desc% + \gdef\after@desc{}% \normalfont% \if@nobreak\else\par\goodbreak\fi% \global\@dheadfirsttrue% @@ -196,7 +214,7 @@ \penalty\@M\@afterheading% \list{}{\rightmargin\z@\topsep\z@}\item% } -\let\desc@end\endlist +\def\desc@end{\endlist\after@desc\global\let\after@desc\saved@after@desc} \@namedef{describe*}#1{\desc@begin{#1}} \expandafter\let\csname enddescribe*\endcsname\desc@end