Латексные глоссарии в нескольких столбцах таблицы
У меня возникли проблемы с форматированием записей глоссария в таблицу с четырьмя столбцами, то есть:
Акроним Определение Аббревиатура Определение
ХХХ ХХХ ХХХ ХХХ
Вот моя реализация:
\newlength\maxlength
\newlength\thislength
\newcounter{rowcount}
\setcounter{rowcount}{0}
\newglossarystyle{glossarytable}
{%
\renewenvironment{theglossary}%
{% start of glossary
% Find maximum width of the first column:
\setlength{\maxlength}{0pt}%
\forglsentries[\currentglossary]{\thislabel}%
{%
\settowidth{\thislength}{\glsentryshort{\thislabel}}%
\ifdim\thislength>\maxlength
\setlength{\maxlength}{\thislength}%
\fi
}%
% Now calculate the width of the second column:
% \settowidth{\thislength}{\hspace{1.5em}=\hspace{1em}}%
\setlength{\glsdescwidth}{\linewidth-\maxlength-\thislength-2\tabcolsep}%
% Start the tabular environment
\renewcommand{\thetable}{\Roman{table}}
\begin{table}[!h]
\begin{center}
\begin{tabular}{cccc@{}p{\glsdescwidth}}
\toprule
\toprule
\multicolumn{1}{c}{\textbf{Acronym}} &
\multicolumn{1}{c}{\textbf{Definition}} &
\multicolumn{1}{c}{\textbf{Acronym}} &
\multicolumn{1}{c}{\textbf{Definition}} \\
%
\midrule
}%
{% end of glossary
\bottomrule
\end{tabular}%
\caption[Table of acronyms.]{Table of acronyms.}
\label{table:acronyms}
\end{center}
\end{table}
}%
% Header has been incorporated into \begin{theglossary}
\renewcommand*{\glossaryheader}{}%
% Don't do anything between letter groups
\renewcommand*{\glsgroupheading}[1]{}%
\renewcommand*{\glsgroupskip}{}%
% Set display for each the acronym entry
\renewcommand{\glossentry}[2]{%
\stepcounter{rowcount}
\glstarget{##1}{\textbf{\glossentryname{##1}}{\glsentryshort{##1}}}% short form
& \glossentrydesc{##1}% long form
\\
\ifodd\value{rowcount}
&
\fi
}%
% No sub-entries, so \subglossentry doesn't need redefining
}
Когда я пытаюсь скомпилировать этот макрос, я получаю:
Misplaced \noalign. \end{theglossary}
Кто-нибудь знает, как форматировать две записи глоссария в каждой строке в четыре столбца в табличном формате?