命令中的 \verb 不起作用

命令中的 \verb 不起作用

我有一些选项可以排版带有注释的命令行选项

\verb|-interaction=nonstopmode -recorder -s prologues=2 -s outputtemplate="%j.mps"|

因为我在很多地方都需要(其实还有其他原因),所以我使用一个命令来代替:

\newcommand{\metapostOptions}{\verb|-interaction=nonstopmode -recorder -s prologues=2-s outputtemplate="%j.mps"|}

有一个原因,解释起来很复杂,这使得我无法像这样逃避百分比:\%;事实上命令中的文本是生成的。

只有将其包含在 catcode 更改中,我才能定义该命令。

\catcode`\%=12
\newcommand{\metapostOptions}{\verb|-interaction=nonstopmode -recorder -s prologues=2-s outputtemplate="%j.mps"|}
\catcode`\%=14

我仍然不能使用,因为

(./test.out) (./test-1.cpt

! LaTeX Error: \verb ended by end of line.

我真的不明白发生了什么,也无法控制自己。

非常感谢您的帮助。

答案1

您可以定义自己的宏,以逐字逐句的方式读取替换文本并将其存储在\metapostOptions

\documentclass{article}

\NewDocumentCommand \newverbcontent { m v }
  {\newcommand#1{\texttt{#2}}}

\newverbcontent\metapostOptions
  |-interaction=nonstopmode -recorder -s prologues=2-s outputtemplate="%j.mps"|

\begin{document}
Use the following command line options: \metapostOptions.
\end{document}

在此处输入图片描述

答案2

您不能\verb在命令的参数中使用它。

使用

\newcommand{\metapostOptions}{%
 \textt{-interaction=nonstopmode -recorder -s prologues=2-s outputtemplate="\%j.mps"}}

相关内容