Me gustaría agregar una nota al margen junto al entorno de Verbatim, pero aparece el error "No en modo par externo". Aunque esto funciona bien con el entorno de lista de listas. Alguna solución ?
\documentclass{article}
\usepackage{listings}
\lstset{
frame=single,
escapechar=!,
}
\usepackage{fancyvrb}
\begin{document}
\begin{lstlisting}
text inside listings... !\marginpar{Working well}!
\end{lstlisting}
\begin{Verbatim}[frame=single, commandchars=\\\{\}]
text inside Verbatim... \marginpar{Not working}
\end{Verbatim}
\end{document}
Respuesta1
Verbatim
escribe cada línea en un cuadro, por lo que \marginpar
está fuera de discusión.
Puedes hacerlo con marginnote
; \normalfont
es necesario, o obtendrías el tipo de máquina de escribir.
\documentclass{article}
\usepackage{fancyvrb}
\usepackage{marginnote}
\newcommand{\vmnote}[1]{\marginnote{\normalfont#1}}
\begin{document}
\begin{Verbatim}[frame=single, commandchars=\\\{\}]
text inside Verbatim... \vmnote{Working}
\end{Verbatim}
\end{document}
Para texto más complejo, es necesario volver a escanear el argumento con códigos de categoría estándar:
\documentclass{article}
\usepackage{fancyvrb}
\usepackage{marginnote}
\ExplSyntaxOn
\NewDocumentCommand{\vmnote}{m}
{
\marginnote
{
\normalfont % override verbatim font
% rescan the argument with normal category codes
\tl_rescan:nn { \cctab_select:N \c_document_cctab} { #1 }
}
}
\ExplSyntaxOff
\begin{document}
\begin{Verbatim}[frame=single, commandchars=\\\{\}]
text inside Verbatim... \vmnote{Working $\alpha^2$}
\end{Verbatim}
\end{document}