是否可以转换errors
为warnings
并且在使用时不停止编译glossaries
?
如果未定义 P2P,则会发出一条消息并停止编译:
Package glossaries Error: Glossary entry '3GPP' has not been defined.
这可能是我在文档中没有找到的一个简单功能。例如,使用acro
选项silent=true
或acronym
包就可以了。
这很有用,因为我正在将自己的文本从其他文档复制到其他单个文档,并且一开始只是测试布局;然后定义首字母缩略词。
\documentclass{article}
\usepackage[acronym,shortcuts]{glossaries}
\makeglossaries
\newacronym{P2P}{P2P}{Peer-to-Peer}
\begin{document}
\printglossary[type=\acronymtype]
\ac{P2P}
\ac{3GPP}
\end{document}
答案1
是的:
\documentclass{article}
\usepackage[acronym,shortcuts]{glossaries}
\let\glsdoifexists\glsdoifexistsorwarn
\makeglossaries
\newacronym{P2P}{P2P}{Peer-to-Peer}
\begin{document}
\printglossary[type=\acronymtype]
\ac{P2P}
\ac{3GPP}
\end{document}
我明白了
Package glossaries Warning: Glossary entry `3GPP' has not been defined on input line 14.
另一种解决方案是在感叹号之间以粗体打印有问题的条目。
\documentclass{article}
\usepackage[acronym,shortcuts]{glossaries}
\renewcommand{\glsdoifexists}[2]{%
\ifglsentryexists{#1}{#2}{%
\textbf{!#1!}\PackageWarning{glossaries}{Glossary entry `\glsdetoklabel{#1}'
has not been defined}}%
}
\makeglossaries
\newacronym{P2P}{P2P}{Peer-to-Peer}
\begin{document}
\printglossary[type=\acronymtype]
\ac{P2P}
\ac{3GPP}
\end{document}