创建准确显示输入的命令

创建准确显示输入的命令

我想创建一个命令,其参数在命令中使用\label{}。我还想要一个布尔开关,用于打开/关闭此标签的显示以供编辑。以下是我想要执行的操作的伪代码:

\newcommand{\foo}[1]{%
  \refstepcounter{foocount}\label{#1}%
  ... do other things ... %
  \ifthenelse{\boolean{showlabel}}%
  {DISPLAY #1}%
  {}%
  }

问题出在DISPLAY #1部分。无论标签包含什么内容,我都想显示标签。例如,我的许多标签都采用“ ex:function_continuous_everywhere”的形式,但下划线会导致数学模式错误。使用变体\verbatim有其自身的一系列问题。

有没有巧妙的方法来实现这一点?我知道我可以更改所有标签,但我宁愿不这样做。

答案1

您可以使用\texttt{\detokenize{#1}}DISPLAY #1部分。这会将参数转换为文本(例如,它们_将变成普通字符,不再是数学移位序列)并将其排版为电传打字机字体。

请注意,这\detokenize是一个 e-TeX 原语,因此非常旧或过时的 LaTeX 发行版不会拥有它。

相关内容