我有一个使用负数细空格(“\!”)的词汇表条目,但似乎makeglossaries
生成了错误的代码。我提交了一份错误报告,但也许有解决方法?
这是一个最小的工作示例:
\documentclass[12pt,a4paper,twoside]{memoir}
\usepackage{lipsum}
\usepackage[acronym,toc]{glossaries}
\newglossaryentry{foo}{text=foo,name=Foo,description={This is foo}}
\newglossaryentry{footoo}{text={foo-too},name={Foo-\!Too},description={This is foo-too}}
\makeglossaries
\begin{document}
\lipsum[1]
\gls{foo}
\lipsum[1]
\gls{footoo}
\lipsum[1]
\printglossaries{}
\end{document}
在词汇表中,“Foo”行的末尾,有一个残留的“Foo- ̈”。我Foo-\"\relax \glsresetentrylist
在 .gls 文件中发现,一旦删除它,就会清理输出pdflatex
,但根本原因很可能是在 glo 文件中,它将“\!”替换为“\”!”。
答案1
该字符在索引程序(后台使用)!
中具有特殊含义。我认为它们都不会查看是否“转义”。相反,我建议给出一个不同的名称,然后使用它。makeglossaries
!
\!
这似乎有效
\documentclass[12pt,a4paper,twoside]{memoir}
\usepackage{lipsum}
\usepackage[acronym,toc]{glossaries}
\let\ts\!
\newglossaryentry{foo}{text=foo,name=Foo,description={This is foo}}
\newglossaryentry{footoo}{text={foo-too},name={Foo-\ts Too},description={This is foo-too}}
\makeglossaries
\begin{document}
\lipsum[1]
\gls{foo}
\lipsum[1]
\gls{footoo}
\lipsum[1]
\printglossaries{}
\end{document}
答案2
daleif 的回答是正确的。但是,如果您在文档中只需要此操作一次,并且不想为此目的创建新的宏,您也可以插入手动字距调整:
\newglossaryentry{footoo}{text={foo-too},name={Foo-\kern-.1667emToo},description={This is foo-too}}