Исключить запись из глоссария? - PullRequest
3 голосов
/ 15 мая 2010

Я использую пакет глоссариев в LaTeX. У меня есть \gls{foo} в моем документе, но я не хочу, чтобы запись для "foo" появлялась в глоссарии. Как я могу сохранить (т.е. расширить) \gls{foo} в теле моего документа, но исключить запись для "foo" из глоссария?

РЕДАКТИРОВАТЬ: я хочу использовать \gls{foo}, чтобы указать «как здесь,« foo »имеет конкретное значение в этом документе». Однако в некоторых случаях я получал «foo», определение которого слишком очевидно - или трудно - сформулировать в глоссарии.

Итак, я хочу, чтобы \gls{foo} был расширен как обычно, но я не хочу, чтобы запись "foo" появлялась в глоссарии.

Надеюсь, это добавит немного больше информации о том, чего я пытаюсь достичь. Это может быть злоупотребление глоссариями, но я считаю полезным, чтобы при написании технических документов я всегда использовал одни и те же слова и правильные слова.

Ответы [ 3 ]

2 голосов
/ 16 мая 2010

Если вы используете пакет glossaries, вы можете создать «игнорируемый» глоссарий, например

\documentclass{article}

\usepackage{glossaries}
\newglossary[glignoredl]{ignored}{glignored}{glignoredin}{Ignored Glossary}
\makeglossaries

\newglossaryentry{foofoo}{name={FOOFOO},description={foofoo stuff}}
\newglossaryentry{foo}{name={FOO},type={ignored},description={no good description}}
\newglossaryentry{bar}{name={BAR},description={bar of stuff}}

\begin{document}

Here is a \gls{foo} that is also a \gls{bar}, but of course it's also a \gls{foofoo}.
Why not consider buying a \gls{foo}?

\printglossary
% \printglossary[type={ignored}]

\end{document}
2 голосов
/ 15 мая 2010

Понятия не имею, зачем вам это делать, но должно работать следующее:

\let\oldgls\gls% store the original meaning of \gls in a new command named \oldgls
\let\gls\relax$ make \gls do nothing
Some text with \gls{foo} no links to the glossary, 
and no ``foo'' entry in the glossary.
\let\gls\oldgls% restore the original meaning of \gls
Some more text with \gls{bar} that links to the glossary,
and with a ``bar'' entry in the glossary.
1 голос
/ 05 января 2015

Это может быть достигнуто путем добавления терминов в специальный common словарь. Это на самом деле встроенная функция пакета glossaries, и даже , примером которого является автор пакета . Из указанного примера:

\documentclass{article}

\usepackage{glossaries}
\newignoredglossary{common}
\makeglossaries

\newglossaryentry{sample}{name={sample},description={an example}}
\newglossaryentry{commonex}{type=common,name={common term}}

\begin{document}
\gls{sample}. \gls{commonex}.
\printglossaries
\end{document}

Обратите внимание на использование команды \newignoredglossary.

...