如果文本项应该是词汇表条目,则发出警告

如果文本项应该是词汇表条目,则发出警告

我正在编写一个大型文档,其中有多个词汇表条目,有一件事让我担心,那就是我可能会漏掉词汇表条目。例如:

词汇表条目:

\usepackage[acronym]{glossaries}
\newacronym{UI}{UI}{user interface}
\newglossaryentry{HTML}
{
    name={HTML},
    description={Hyper Text Markup Language is the standard tagging library to help generate web pages from text files}
}
\makeglossaries

然后我可能会在我的文本中写上:

Blah blah blah blah blah UI blah blah blah \gls{UI} blah blah blah.
Blah blah blah blah blah HTML blah blah blah \gls{HTML} blah blah blah.    

我第二次正确地引用了词汇表条目,但第一次却忘记了,真是个傻瓜。目前,我永远不会被警告这个“错误”,并且必须手动检查我的文档是否存在其他此类错误。是否有任何软件包可以帮我进行这种检查?

完整 MWE

我在包中添加了以下内容hyperref,以显示第一次使用的文本未被视为词汇表条目。它也没有出现在所述词汇表中的页码中:

\documentclass[a4paper]{report}
\usepackage[bookmarks=true]{hyperref}
\usepackage[acronym]{glossaries}
\newacronym{UI}{UI}{user interface}
\newglossaryentry{HTML}
{
    name={HTML},
    description={Hyper Text Markup Language is the standard tagging library to help generate web pages from text files}
}
\makeglossaries
\begin{document}
    Blah UI blah
    \pagebreak
    blah \gls{UI} blah HTML blah
    \pagebreak 
    blah \gls{HTML} blah
    \printglossaries
\end{document}

答案1

这个答案使用了 XeLaTeX 和xesearch,但基本上可以满足您的要求。如果您真的使用它,主要需要做两件事:

  1. 显示的缩写会手动用版本号替换,并添加一个额外的缩写,\hspace{0pt}以避免它们也引发警告。您可能会找到一种基于词汇表包提供的内容来自动执行此操作的方法。

  2. 它要求您手动添加要匹配的首字母缩略词列表({UI,HTML}),如果更新的话也会更好。

最后,请注意,xesearch目前不支持。但它仍可运行。

代码

\documentclass[a4paper]{report}
\usepackage[bookmarks=true]{hyperref}
\usepackage[acronym]{glossaries}
\newacronym{UI}{U\hspace{0pt}I}{user interface}
\newglossaryentry{HTML}
{
        name={H\hspace{0pt}TML},
        description={Hyper Text Markup Language is the standard tagging library to help generate web pages from text files}
}
\usepackage{xesearch}

\makeatletter
\SearchList*{warnme}{#1\@latex@warning{#1 not marked as glossary entry}}{UI,HTML}
\makeatother

\makeglossaries
\begin{document}
        Blah blah blah blah blah UI blah

        blah blah \gls{UI} blah blah blah

        Blah blah blah blah blah HTML blah

        blah blah \gls{HTML} blah blah blah

        \printglossaries
\end{document}

警告输出

在此处输入图片描述

相关内容