词汇表与回忆录相冲突

词汇表与回忆录相冲突

我在与类glossaries一起使用时产生警告时遇到问题memoir

Package glossaries Warning: overriding `theglossary' environment on input line 4761.

最小工作示例是:

\documentclass{memoir}
\let\printglossary\relax
\usepackage{glossaries}
\makeglossaries
\begin{document}
Hello World
\printglossary
\end{document}

涵盖\let\printglossary\relax了警告Package glossaries Warning: Overriding \printglossary on input line 4536,但是这种方法不适用于theglossary警告。我意识到这个警告不是一个错误,可以只是被忽略,但我宁愿想办法抑制它。谢谢

答案1

与 for 的风格相同\printglossary,你可以使用

\documentclass{memoir}

\let\printglossary\relax
\let\theglossary\relax
\let\endtheglossary\relax

\usepackage{glossaries}
\makeglossaries
\begin{document}
Hello World
\printglossary
\end{document}

我不会通过 来关闭所有警告glossariessilence您可以通过以下方式覆盖相关信息:

\documentclass{memoir}

\usepackage{silence}
\WarningFilter{glossaries}{Overriding \printglossary}
\WarningFilter{glossaries}{Overriding `theglossary'}

\usepackage{glossaries}
\makeglossaries
\begin{document}
Hello World
\printglossary
\end{document}

答案2

更新至glossaries版本 4.04 并使用noredefwarn包选项:

\documentclass{memoir}

\usepackage[noredefwarn]{glossaries}

\makeglossaries

\begin{document}

Hello World

\printglossary

\end{document}

glossaries还有一个nowarn抑制警告的选项,但如果发生意外情况,最好重新打开警告。

编辑: glossaries-extra默认启用此选项:

\documentclass{memoir}

\usepackage{glossaries-extra}

\makeglossaries

\begin{document}

Hello World

\printglossary

\end{document}

答案3

您可以使用该包silence

\WarningsOff*加载前glossaries和加载后的问题\WarningsOn

梅威瑟:

\documentclass{memoir}
\usepackage{silence}
\WarningsOff*
\usepackage{glossaries}
\WarningsOn
\makeglossaries
\begin{document}
Hello World
\printglossary
\end{document} 

这样,那些警告就消失了,而文档中的其余警告仍然存在。

相关内容