\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
之间没有区别:两者都是类型,因为只有在类型设置为时才会调用。但如果没有包选项,则是默认的词汇表类型。您可以在以下位置看到这一点:foo
bar
main
\newacronym
\newglossaryentry
\acronymtype
acronym
\acronymtype
main
\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>}
。