使用\ verbatim作为宏的参数的一部分?

时间:2009-01-05 19:24:07

标签: latex

我想在LaTeX中做的大多数事情都是直截了当的,或者很容易在网上找到,但是这一件事一直困扰着我。

我有一个宏'解决方案':为每个解决方案应用一些常见格式:

\newcommand\solution[1]{{\\ \\* \bf Solution.}#1\qed \newpage}

到目前为止哪个方面效果很好,但是现在我想要包含一个我使用'ASCII Art'快速完成的绘图,所以我想使用\ verbatim。但它不起作用,它会产生以下错误:

Runaway argument?
...
! File ended while scanning use of \@xverbatim.

根据我在“不那么简短的LaTeX介绍”中所读到的,\ verbatim不能以这种方式使用。我认为有更好的方法可以做我想做的事情吗?

3 个答案:

答案 0 :(得分:2)

这是FAQ

答案 1 :(得分:2)

您可以尝试将\newcommand更改为\newenvironment,然后使用类似

的内容
\begin{solution}
  \begin{verbatim}
    [ascii art here]
  \end{verbatim}
\end{solution}

答案 2 :(得分:0)

使用包cprotect

e.g。 (使用tcolorbox但它与大多数新命令一起使用)

\usepackage{tcolorbox}
\usepackage{cprotect}

\newcommand{\tcb}[1] {
 \begin{tcolorbox}   [arc=0mm,colback=bginf,coltitle=black!70!black,colframe=black!30!white,width=\linewidth,fontupper=\bfseries\small,halign title=flush center,halign upper=center]
#1
\end{tcolorbox}
}


\cprotect\tcb{\scriptsize
     \begin{verbatim}
...
     \end{verbatim}
}