命名法中的 AT 符号

命名法中的 AT 符号

我正在使用 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)。

相关内容