词汇表:保留旧实体,无法正确重新编译

词汇表:保留旧实体,无法正确重新编译

我有 2 个词汇表。一个是首字母缩略词,一个是符号。这些列表应该只包含使用过的实体。(\glsaddall我的项目中没有使用)

当我重新编译我的文件时背面,只有一个词汇表相应地刷新。另一个则出现了奇怪的问题。不知何故,它总是显示旧实体,有时甚至不显示文本中使用的实体。似乎“刷新”它们的唯一方法是“从头开始重新编译”,这表明临时文件没有正确刷新。

我将非常感激您对这个问题的想法和解决方案。

在以下示例中,我的问题可以重现。要重现问题,第一次编译必须包含\glsaddall它,第二次重新编译必须先将其删除。

\usepackage{siunitx}
\usepackage[acronym,toc]{glossaries}              % use glossaries-package


\setlength{\glsdescwidth}{15cm}

\newglossary[slg]{symbolslist}{syi}{syg}{Symbolslist} % create add. symbolslist


\glsaddkey{unit}{\glsentrytext{\glslabel}}{\glsentryunit}{\GLsentryunit}{\glsunit}{\Glsunit}{\GLSunit}

\makeglossaries                                   % activate glossaries-package


% ==== EXEMPLARY ENTRY FOR SYMBOLS LIST =========================================
    \newglossaryentry{symb:Pi}{name=\ensuremath{\pi},
        description={Geometrical value},
        unit={},
        type=symbolslist}

    \newglossaryentry{height}{name=\ensuremath{h},
        description={Height of tower},
        unit={\si{m}},
        type=symbolslist}

    \newglossaryentry{energyconsump}{name=\ensuremath{P},
        description={Energy consumption},
        unit={\si{kW}},
        type=symbolslist}




% ==== EXEMPLARY ENTRY FOR ACRONYMS LIST ========================================
    \newacronym{VRBD}{VRBD}{Violet-Red-Bile-Glucose-Agar}


% ==== EXEMPLARY ENTRY FOR MAIN GLOSSARY ========================================
    \newglossaryentry{Biofouling}{name=Biofouling,description={Some description}}


\newglossarystyle{symbunitlong}{%
\setglossarystyle{long3col}% base this style on the list style
\renewenvironment{theglossary}{% Change the table type --> 3 columns
  \begin{longtable}{lp{0.6\glsdescwidth}>{\centering\arraybackslash}p{2cm}}}%
  {\end{longtable}}%
%
\renewcommand*{\glossaryheader}{%  Change the table header
  \bfseries Sign & \bfseries Description & \bfseries Unit \\
  \hline
  \endhead}
\renewcommand*{\glossentry}[2]{%  Change the displayed items
\glstarget{##1}{\glossentryname{##1}} %
& \glossentrydesc{##1}% Description
& \glsunit{##1}  \tabularnewline
}
}


\begin{document}

    \glsaddall % when removed and recompile - symbolslist still there

    \printglossary[type=\acronymtype,style=long]  % list of acronyms
    \printglossary[type=symbolslist,style=symbunitlong]   % list of symbols
    \printglossary[type=main]                     % main glossary

\end{document}

此代码来自 user31729,发布于 2015 年 9 月 25 日词汇表:如何自定义带有单位附加列的符号列表?

答案1

我在使用 Overleaf 时也遇到了类似的问题,我的词汇表无法正确更新。

原来有几个编译错误没有解决。你可以用“重新编译”按钮旁边的“纸质”符号“日志和输出文件”查找错误。

只有解决这些问题后,在我的情况下,通过在我的文本中用 $\mu$ 替换 Unicode 符号 μ,然后删除日志列表底部的缓存文件(您已经通过点击“从头开始重新编译”来执行此操作)我才能够再次正常使用重新编译。

但不确定这是否是您的解决方案,因为您的一个词汇表似乎正在发挥作用。

相关内容