在LaTeX文档中使用glossaries包时,我有时想使用术语表条目作为章节或章节标题的一部分。例如:
\section{\Glsentrytext{big}}然而,这会导致错误。尝试使用\protect\Glsentrytext{}并不能解决问题。请注意,使用非大写版本(\glsentrytext)不会产生任何问题。
有没有人知道一种让它工作的方法?
我偶尔会使用glossaries包来以一致的方式格式化特定的字符串。例如,\gls{big}变成了“光束转化为气体”。显然,我可以创建两个词汇表条目,有大写的和没有大写的,以实现这一点,并且只在最终的词汇表中包含一个。然而,这是一个丑陋的解决方案。
发布于 2011-01-21 21:54:45
不幸的是,我不知道为什么这不起作用,也不知道如何修复它,但我知道一个变通方法:
注意:这需要glossaries包的最新版本。我用2.07版和2.03版测试了它,2.03版不工作,因为user1-user6键在那个版本中不存在。
解决方法
使用以下命令定义条目:
\newglossaryentry{big}{name=big,type=main,text={beam-into-gas},user1={Beam-into-gas}}然后像这样使用它:
\section{\glsentryuseri{big}}如果小节标题是该条目的唯一出现,则必须使用\glsadd{big}手动将该条目添加到词汇表中。
评论
此解决方法类似于您发布的创建两个条目的想法,不同的是您不必创建两个条目。:-)
然而,我可以想象,\Glsentrytext不能工作的事实是LaTeX的一个限制,这意味着它不能实现。但这只是一种猜测。
PS:也许你应该把这个问题发布到http://tex.stackexchange.com上,以便更快地得到答案。
https://stackoverflow.com/questions/3049851
复制相似问题