打印带有长样式的词汇表会增加表格计数器

打印带有长样式的词汇表会增加表格计数器

我正在使用该glossaries包在文档开头打印一个首字母缩略词列表和另一个带有符号的列表。由于我希望我的定义对齐并占据整个文本宽度,因此我决定使用该long样式。但是,这会更改文档中表格的计数器,因为内部glossaries使用该longtable包来创建其列表。有没有办法抑制这种行为?

我不想使用,\setcounter{table}{-2}因为这是一个可重复使用的模板,而且我并不总是打印两个列表。我期待有一个更优雅的解决方案。

这是一个 MWE。

\documentclass{report}
\usepackage[acronym,symbols]{glossaries}
\setglossarystyle{long}

% my custom formatting
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\setlength\glsdescwidth{\linewidth}

\newglossaryentry{a}{type=symbols,name={\ensuremath{a}},sort=a,
description={A}}
\newglossaryentry{b}{type=symbols,name={\ensuremath{b}},sort=b,
description={B}}

\newacronym{c}{C}{The letter C}

\makeglossaries

\begin{document}
\gls{a} \gls{b} \gls{c} 

\printglossaries

\begin{table}
\caption{This table should be table 1.}
\end{table}

\end{document}

答案1

longtable使用计数器的问题是table众所周知的,并且不仅限于glossaries及其各种long....词汇表样式的使用。

这是一个小解决方案,通过glossarystyle基于long样式定义一个新的,用替换周围longtable环境longtable*,这不会增加表计数器。您需要caption此包:

\newglossarystyle{mylong}{%
    \setglossarystyle{long}% base this style on the long style
    \renewenvironment{theglossary}{%
      \begin{longtable*}{lp{\glsdescwidth}}}%
    {\end{longtable*}}%
    }

\setglossarystyle{mylong} % Set the new style

的重新定义theglossary是基于原版的,只是在这里替换longtablelongtable*


\documentclass{report}

\usepackage{caption}

\usepackage[acronym,symbols]{glossaries}


%\setglossarystyle{long}

% my custom formatting
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\setlength\glsdescwidth{\linewidth}

\newglossaryentry{a}{type=symbols,name={\ensuremath{a}},sort=a,
description={A}}
\newglossaryentry{b}{type=symbols,name={\ensuremath{b}},sort=b,
description={B}}

\newacronym{c}{C}{The letter C}

\newglossarystyle{mylong}{%
\setglossarystyle{long}% base this style on the long style
\renewenvironment{theglossary}{%
  \begin{longtable*}{lp{\glsdescwidth}}}%
{\end{longtable*}}%
}

\setglossarystyle{mylong}

\makeglossaries

\begin{document}
\listoftables
\gls{a} \gls{b} \gls{c} 

\printglossaries

\begin{table}
\caption{This table should be table 1.}
\end{table}

\end{document}

在此处输入图片描述

相关内容