Использование \ verbatim как часть аргумента для макроса? - PullRequest
4 голосов
/ 05 января 2009

Большинство вещей, которые я хотел сделать в LaTeX, были либо простыми, либо их легко найти в Интернете, но это меня озадачило.

У меня есть макрос «решение»: чтобы применить общее форматирование к каждому решению:

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

Который до сих пор работал хорошо, но теперь я хотел включить рисунок, который я сделал быстро, используя 'ASCII Art', поэтому я хотел бы использовать \ дословно. Но это не работает, выдает следующие ошибки:

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

Из того, что я прочитал в "Не очень коротком введении в LaTeX", \ verbatim не может использоваться таким образом. Я предполагаю, что есть лучший способ сделать то, что я пытаюсь сделать?

Ответы [ 3 ]

2 голосов
/ 10 января 2009

Вы можете попробовать изменить \newcommand на \newenvironment, а затем использовать что-то вроде

\begin{solution}
  \begin{verbatim}
    [ascii art here]
  \end{verbatim}
\end{solution}
2 голосов
/ 05 января 2009

Это FAQ .

0 голосов
/ 30 марта 2017

Используйте пакет cprotect

например. (с 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}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...