缩写中的主题标签

缩写中的主题标签

我正在尝试设置我的首字母缩略词列表,并尝试将其用作C#首字母缩略词,但

\acro{C#}{Eine Programmiersprache von Microsoft}

不起作用,因为#是保留字符,所以会出现错误

\reserved@a 定义中的参数数量非法。\acro{C#}

所以我尝试将其转义为\#。但这也不起作用:

\acro{C\#}{Eine Programmiersprache von Microsoft}

缺少插入的 \endcsname。 \acro{C\#}{Microsoft 的程序员语言}

我也在 Google 上搜索过,Missing \endcsname这似乎是由此处的非法字符引起的\

我也看到了一些关于的答案,catcode但如果有其他解决方案,建议不要使用它。
还有其他解决方案吗?
或者我应该C Sharp在首字母缩略词列表中使用它?如果是这样,我该如何C#在文本中使用它?

答案1

(免责声明:我绝对确定有重复的,但我找不到它。)

来自acronym文档:

acronym环境中,缩写词使用以下命令定义:

\acro{<acronym>}[<short name>]{<full name>}

第一个参数 <缩写> 是首字母缩略词字符串本身,用于上一节的命令(例如\ac或 )\acl,用于打印首字母缩略词的不同形式。因为内部命令采用 <缩写> 为了存储首字母缩略词的不同形式,首字母缩略词的 TEX 代码受 限制\csname。如果首字母缩略词需要有问题或复杂的 TEX 内容(字体命令,...),则可以在可选参数 < 中给出此代码简称>. 第一个参数 <缩写> 是一个更简单的字符串,用于识别首字母缩略词。例如,water 的首字母缩略词可能如下所示:

\acro{H2O}[$\mathrm{H_2O}$]{water}

然后\acs{H2O}获取 H 2 O 并 \acl{H2O}打印“水”。

的第一个参数\acro就像一个标签,因此应该只包含 中允许的字符\csname...\endcsname。“复杂”格式(例如,在本例中为升号)可以作为可选参数传递。

\acro{Csharp}[C\#]{Eine Programmiersprache von Microsoft}

或者

\acro{Csharp}[C$\sharp$]{Eine Programmiersprache von Microsoft}

有关输入升号的可能方法,请参阅如何在 C Sharp(C#)中创建正确的井号

相关内容