我使用该软件包glossaries-extra
,并在写作中多次提到相同的术语。我需要控制词汇表中出现的页码,结果发现此主题。
上面链接的解决方案将未标记的术语>
从词汇表中完全排除。有没有办法包含文档中提到的所有术语,但仅为标记的实例提供页码?
预先感谢您的任何帮助!
\documentclass[10pt]{article}
\usepackage[colorlinks=true]{hyperref}
\usepackage[acronyms]{glossaries-extra}
\setabbreviationstyle[acronym]{nolong-short}
\makeglossaries
\GlsXtrSetDefaultGlsOpts{noindex}
\GlsXtrSetAltModifier{>}{noindex=false}
% Used in text, not marked as `>` -- add to glossary without page number
\newglossaryentry{charger}{
name={charger},
description={A device for charging mobile phones}}
% Used in text, marked as `>` -- add to glossary with page number
\newacronym{usb}{USB}{Universal Serial Bus}
% Not used in text -- do not add to glossary
\newacronym{api}{API}{Application Programming Interface}
\begin{document}
\section*{In English}
The \gls{charger} has three \glsxtrfull>{usb} ports.
\printglossaries
\end{document}
期望结果:
编辑
更新了我的 MWE 并包含了我想要的词汇表的图片。
背景:我有一份很长的术语定义列表。合作者撰写不同的章节并使用不同的术语,标记一些术语的出现,以便为>
词汇表添加页码。
我编写最终文件,并需要确保所有使用的术语都包含在词汇表中,即使那些最初未标有 的词汇也是如此>
。
因此,我要么需要一种机制来包含所有使用的术语(并且只有标有的术语>
才有页码)。
如果不可能,我需要以某种方式自动识别哪些使用的术语没有被标记,>
并标记它们,以便它们出现在词汇表中。当然,我可以手动找到未标记的术语,但这将花费数小时。
答案1
从 https://tex.stackexchange.com/a/346462/161015
对于您不想要页码的条目,请使用虚拟计数器(不产生任何文本)。
该文件有两页。您可以选择将哪一页添加到词汇表或缩略词列表中。
\documentclass[10pt]{report}
%% From https//tex.stackexchange.com/a/346462/161015
\newcounter{empty}
\renewcommand{\theempty}{}
\usepackage[colorlinks=true]{hyperref}
\usepackage[acronyms]{glossaries-extra}
\setabbreviationstyle[acronym]{nolong-short}
\makeglossaries
\newglossaryentry{charger}{
name={charger},
description={A device for charging mobile phones}}
\newacronym{usb}{USB}{Universal Serial Bus}
\newglossaryentry{Inventio}
{name={Inventio},
description={The method used for the discovery of arguments}
}
\newacronym{inv}{Inventio}{one of the five canons of rhetoric}
\newglossaryentry{Dispositio}
{name={Dispositio}, description={Is the system used for the organization of arguments }
}
\newglossaryentry{Elocutio}
{name={Elocutio}, description={Is the term for the mastery of stylistic elements in Western classical rhetoric}
}
\newglossaryentry{Narratio}
{name={Narratio}, description={Part of an argument in which a speaker or writer provides a narrative account}
}
\newglossaryentry{Memoria}
{name={Memoria}, description={The term for aspects involving memory}
}
\newglossaryentry{Pronuntiatio}
{name={Propositio}, description={The discipline of delivering speeches}
}
\begin{document}
\chapter{List of entries I}
\begin{enumerate}
\item The \gls[counter=empty]{Inventio} is \glsxtrfull{inv}.
\item The \gls{Dispositio}.
\item The \gls{Elocutio}.
\item The \gls{Narratio}.
\item The \gls{Memoria}.
\item The \gls{Pronuntiatio}.
\end{enumerate}
\section*{In English I}
The \gls{charger} has three \glsxtrfull{usb} ports.
\chapter{List of entries II}
\begin{enumerate}
\item The \gls{Inventio} is \glsxtrfull[counter=empty]{inv}.
\item The \gls[counter=empty]{Dispositio}.
\item The \gls[counter=empty]{Elocutio}.
\item The \gls[counter=empty]{Narratio}.
\item The \gls[counter=empty]{Memoria}.
\item The \gls[counter=empty]{Pronuntiatio}.
\end{enumerate}
\section*{In English II}
The \gls{charger} has three \glsxtrfull[counter=empty]{usb} ports.
\printglossaries
\end{document}
这很好,但可能不太方便。来自同一链接:
另一种方法是将其设为默认值,并为那些必须注册页码的条目(仅限第一次)
counter=empty
添加选项。counter=page