¿Usando \ verbatim como parte de un argumento para una macro?
-
03-07-2019 - |
Pregunta
La mayoría de las cosas que he querido hacer en LaTeX han sido sencillas o fáciles de encontrar en la web, pero esta me ha estado impidiendo.
Tengo una macro 'solución': para aplicar algún formato común a cada solución:
\newcommand\solution[1]{{\\ \\* \bf Solution.}#1\qed \newpage}
Lo que ha funcionado bien hasta ahora, pero ahora quería incluir un dibujo que hice rápidamente usando 'Arte ASCII', así que me gustaría usar \ verbatim. Pero no funciona, produce los siguientes errores:
Runaway argument? ... ! File ended while scanning use of \@xverbatim.
De lo que leí en la introducción de " No tan breve a LaTeX " ;, \ verbatim no se puede utilizar de esta manera. Supongo que hay una mejor manera de hacer lo que estoy tratando de hacer?
Solución
Puedes intentar cambiar \ newcommand
a \ newenvironment
y luego usar algo como
\begin{solution}
\begin{verbatim}
[ascii art here]
\end{verbatim}
\end{solution}
Otros consejos
Esta es una Preguntas frecuentes .
Use el paquete cprotect
por ejemplo (con tcolorbox pero está funcionando con la mayoría del nuevo comando creado)
\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}
}