词汇表:如何确定某个条目在哪个词汇表中定义?

词汇表:如何确定某个条目在哪个词汇表中定义?

\newglossaryentry {term} ...我使用 Glossaries 包创建词汇表和首字母缩略词列表。现在我需要一种方法来确定给定术语是否在词汇表 ( ) 或首字母缩略词列表 ( ) 中定义\newacronym {term} ...

该包确实提供了\ifglsentryexists,但它仅检查条目是否存在。

梅威瑟:

\documentclass[english]{article}

\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{glossaries}

\makeglossaries

\newglossaryentry{foo} {name = {Foo}, description = {``foo'' glossary entry}}
\newacronym{bar} {BAR} {``bar'' acronym}

\begin{document}

If \gls{foo} is a normal glossary entry a ``X'' should follow, if
its an acronym we want its long form (\\glsentrylong{foo}) instead: ???

\printglossary

\end{document}

答案1

在您使用的表单中,和glossaries之间没有区别:两者都是类型,因为只有在类型设置为时才会调用。但如果没有包选项,则是默认的词汇表类型。您可以在以下位置看到这一点:foobarmain\newacronym\newglossaryentry\acronymtypeacronym\acronymtypemain

\documentclass[english]{article}

\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{glossaries}

\makeglossaries

\newglossaryentry{foo} {name = {Foo}, description = {``foo'' glossary entry}}
\newacronym{bar} {BAR} {``bar'' acronym}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}

If \gls{foo} is a normal glossary entry a ``X'' should follow, if
its an acronym we want its long form (\\glsentrylong{foo}) instead: ???

\gls{bar}

\glsentrytype{foo}, \glsentrytype{bar}

\acronymtype

\printglossary

\end{document}

如图所示,通常可以根据 推断出类型\glsentrytype{<name>}

相关内容