如何在 \acro 命令中转义“&”符号?

如何在 \acro 命令中转义“&”符号?

我正在尝试使用 acronym 包创建首字母缩略词列表。问题是我需要使用的其中一个首字母缩略词包含一个与号(“&”)。

但是当我尝试编译 .tex 文件时出现此错误:

! Missing \endcsname inserted.
<to be read again> 
                   \&
l.2 ...&M}[\AC@hyperlink{M\&M}{M\&M}]{I like them}

以下是一个例子:

\usepackage{amsmath}
\usepackage{acronym}

\begin{document}

\begin{acronym}
\acro{M\&M}{I like them}
\end{acronym}

\end{document}

那么,如何使用首字母缩略词包在首字母缩略词中使用“&”符号?

更一般地讲,如何将特殊格式应用于单个首字母缩略词?例如

\acro{\textit{IAF}}{Italic acronym frenzy}

答案1

与我之前的回答完全不同的是阅读软件包文档例如这里

\documentclass{article}

\usepackage{amsmath}
\usepackage{acronym}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\begin{document}

\begin{acronym}
\acro{FoobAR(tm)}[FoobAR™]{Copyrighted}
\end{acronym}

\begin{acronym}
\acro{MM}[M\&M]{I like them}

\acro{IAF}[\textit{IAF}]{Italic acronym frenzy}
\end{acronym}

\end{document}

答案2

这可能不是最好的输入方式,但是它可以起作用:

\acro{M\string&M}{I like them}

答案3

您可以定义类似于和 的宏\makeampletter和。这使得本地表现得像一个字母。\makeampcolsep\makeatletter\makeatother&

\documentclass{article}

\usepackage{amsmath}
\usepackage{acronym}

\def\makeampletter{\catcode`\&11\relax} % <-- HERE
\def\makeampcolsep{\catcode`\&4\relax} % <-- HERE

\begin{document}

\tracingmacros=1
\begin{acronym}
\makeampletter % <-- HERE
\acro{M&M}{I like them}
\makeampcolsep % <-- HERE
\end{acronym}

\begin{tabular}{cc}
Just to test & that ampersand works
\end{tabular}

\end{document}

相关内容