X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/0a8f78ec333b8193d1155b5839aea67bb62cf480..00d59354c311fb28730b7c9b117b0d91aac092cc:/doc/sod.sty diff --git a/doc/sod.sty b/doc/sod.sty index 44fe07a..9da7def 100644 --- a/doc/sod.sty +++ b/doc/sod.sty @@ -106,8 +106,8 @@ %% Intercept grammar typesetting and replace the vertical bar with the %% maths-font version. -\let\@@grammar\grammar -\def\grammar{\def\textbar{\hbox{$|$}}\@@grammar} +\let\@@syn@shorts\syn@shorts +\def\syn@shorts{\def\textbar{\hbox{$|$}}\@@syn@shorts} %% Collect super- and subscripts. (Note that underscores are active for the %% most part.) When we're done, end maths mode if we entered it @@ -189,8 +189,17 @@ %%%-------------------------------------------------------------------------- %%% Environment for setting programs. +%% Save `\kill' so that `longtable' won't clobber it. +\let\prog@@kill\kill + %% Main guts of `prog' and `nprog'. -\def\@prog{\let\prog@@cr\@tabcr\let\@tabcr\@progcr\codeface\tabbing} +\def\@prog{% + \let\prog@@cr\@tabcr% + \let\@tabcr\@progcr% + \let\kill\prog@@kill% + \codeface% + \tabbing% +} %% Newlines: called by `\\' within a `prog'. %% @@ -573,9 +582,9 @@ \begingroup% \let\protect\@empty\def\@uscore{-\@gobble}% \edef\temp@{\@desc@dispatch{desclabel}{#5}{#4}{#5}#6{#7}}% - \hyperref[\temp@]{\code{#7}}#8% - #1#2{\temp@}#3% - \endgroup% + \edef\next@##1##2##3{\endgroup% + \noexpand\hyperref[\temp@]{##1}##2{\temp@}##3}% + \next@{\code{#7}}{#8#1#2}{#3}% } %% \descindex[MOD]{CAT}{...}...{LABEL}[SUFFIX]