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

StackOverflow https://stackoverflow.com/questions/414191

  •  03-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

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

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

Это было полезно?

Решение

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

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

Другие советы

Это FAQ .

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

например ,(с tcolorbox, но он работает с большей частью созданной newcommand)

\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}
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top