我添加了一个工具提示来显示带有pdfcomment
andglossaries
包的首字母缩略词长条目。但是,启用工具提示后,第一个词汇表外观不会显示。我认为问题可能与使用有关\glsentrylong
,也许pdftooltip
首先扩展了它,这可能会触发glossaries
条目的内部“首次使用标志”,但我通过测试消除了这种预感。
梅威瑟:
\documentclass{article}
\usepackage{glossaries}
\usepackage{pdfcomment}
%%% these command make the first use not work
\let\oldgls\gls
\RenewDocumentCommand{\gls}{ O{} m O{} }{%
\pdftooltip{\oldgls[#1]{#2}[#3]}{\glsentrylong{#2}}% tries glsentrytext, glsfmtlong
}%
\let\oldglspl\glspl
\RenewDocumentCommand{\glspl}{ O{} m O{} }{%
\pdftooltip{\oldglspl[#1]{#2}[#3]}{\glsentrylong{#2}}%
}%
%%%%%%
\makeglossaries
\newacronym{hw}{HW}{Hello World}
\newacronym{fb}{FB}{Foo Bar}
\begin{document}
\glsentrylong{hw} % when the pdf tooltip commands are commented out, it still shows the long use?
\gls{hw}, \gls{fb} ---first use
\gls{hw}, \gls{fb} ---second use
\printglossary
\end{document}
答案1
检查词汇表条目是否被使用,并且只在之前出现过时才生成工具提示,这样就可以解决问题——这应该没问题,因为您只需要在出现首字母缩略词时查看工具提示。我怀疑内部pdftooltip
扩展了 gls 条目,但没有打印它(可能是为了确定链接的区域?),这会在后台增加使用计数器。
\let\oldgls\gls
\RenewDocumentCommand{\gls}{ O{} m O{}}{%
\ifglsused{#2}{%
\pdftooltip{\oldgls[#1]{#2}[#3]}{\glsentrylong{#2}}% tries glsentrytext, glsfmtlong
}{%
\oldgls[#1]{#2}[#3]
}%
}%