![词汇表:保留旧实体,无法正确重新编译](https://linux22.com/image/449153/%E8%AF%8D%E6%B1%87%E8%A1%A8%EF%BC%9A%E4%BF%9D%E7%95%99%E6%97%A7%E5%AE%9E%E4%BD%93%EF%BC%8C%E6%97%A0%E6%B3%95%E6%AD%A3%E7%A1%AE%E9%87%8D%E6%96%B0%E7%BC%96%E8%AF%91.png)
我有 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 符号 μ,然后删除日志列表底部的缓存文件(您已经通过点击“从头开始重新编译”来执行此操作)我才能够再次正常使用重新编译。
但不确定这是否是您的解决方案,因为您的一个词汇表似乎正在发挥作用。