我正在使用 nomencl 包。我需要创建一个包含 at 符号的条目,但包含 @ 的条目未出现在命名法中。
\usepackage{nomencl}
...
\nomenclature{abc@def}{Description.}
...
\printnomenclature{}
我已经尝试过 \@、{@}、"@"、{"@"}、\verb{@} 等
答案1
字符@
、 和 一样,对于 MakeIndex 来说!
也是|
特殊的,因此如果需要按字面意思转义,则必须对其进行转义。转义的方法是在其前面加上"
; ,babel
在这方面似乎没有问题。
% arara: pdflatex
% arara: nomencl
% arara: pdflatex
\documentclass{article}
%\usepackage[ngerman]{babel} % if you uncomment it it works the same
\usepackage{nomencl}
\makenomenclature
\begin{document}
x\nomenclature{abc"@def}{Description.}
\printnomenclature
\end{document}
这些arara
指令只是为了使编译更容易。如果你取消babel
注释加载,你会发现"
作为德语的简写与当前的问题无关。
答案2
由于是一个特殊字符,我通常只是在宏中将@
其隐藏:makeindex
\newcommand\atsign{@}
\nomenclature{abc\atsign def}{Description}
如果您希望@
在排序过程中被考虑,您可以使用"@
,正如Nicola在评论中所建议的那样,但由于"
可能处于活动状态,我建议仅在可选参数中使用它\nomenclature
:
\nomenclature[aabc"@def]{abc\atsign def}{Description}
请注意这里的“nomprefix”(默认情况下a
)。