![词汇表和 csquotes:如何在 gls 描述中使用自动引号?](https://linux22.com/image/375483/%E8%AF%8D%E6%B1%87%E8%A1%A8%E5%92%8C%20csquotes%EF%BC%9A%E5%A6%82%E4%BD%95%E5%9C%A8%20gls%20%E6%8F%8F%E8%BF%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E8%87%AA%E5%8A%A8%E5%BC%95%E5%8F%B7%EF%BC%9F.png)
我正在尝试使用' csquotes
s - 到目前为止还没有成功。读取描述时,定义的自动引号不再有效。\MakeAutoQuote
glossaries
以下是 MWE:
\documentclass[german]{article}
\usepackage{babel}
\usepackage[autostyle,english=american,german=guillemets]{csquotes}
\MakeAutoQuote{“}{”}
\usepackage[xindy,nonumberlist,numberedsection=nolabel]{glossaries}
\newglossaryentry{Test}{
name={Test},
text={Test},
description={Here “it doesn't” work.}} % <--- quotes not active!
\makeglossaries
\begin{document}
“works”
\glsaddall
\printglossary
\end{document}
结果:
我不太明白。字符串不会写入任何文件,引号字符是非标准的(因此不太可能被覆盖),并且它们在宏之前处于活动状态\newglossaryentry
。有什么想法吗?
PS:要编译MWE,请将其保存为glossary.tex
,然后:
lualatex glossary.tex
makeglossaries glossary
lualatex glossary.tex
答案1
啊,阅读csquotes
源代码(然后我也在文档中找到了它,呵呵!)有帮助。活动引号仅启用\AtBeginDocument
。因此,如果在序言中使用,这两种解决方案都有效:
\@enablequotes
\newglossaryentry{Test}{...}
或者
\AtBeginDocument{\newglossaryentry{Test}{...}}