¿Cómo puedo utilizar el entorno lstsample (paquete lstdoc) en el artículo?

¿Cómo puedo utilizar el entorno lstsample (paquete lstdoc) en el artículo?

Me gustaría probar el lstsampleentorno del lstdocpaquete, distribuido con ellistingspaquete.

Para eso he escrito el siguiente documento:

\documentclass{article}
\usepackage{lstdoc}
\usepackage{lipsum}

\begin{document}

\begin{lstsample}{}{}
  \color{blue}
  \lipsum[68]
\end{lstsample}

\end{document}

Pero falla la compilación con el mensaje:

! Undefined control sequence.
\lst@sampleInput ->\MakePercentComment 
                                       \catcode `\^^M=10\relax \small \lst@s...
l.10     \end{lstsample}

¿Qué me estoy perdiendo?

Respuesta1

El lstdocpaquete está destinado principalmente a ser utilizado en documentos que utilizan la ltxdocclase. Esa clase carga la docclase internamente, que contiene dos definiciones de macro que son particularmente relevantes aquí:

\def\MakePercentIgnore{\catcode`\%9\relax}
\def\MakePercentComment{\catcode`\%14\relax}

Debido a que el lstsampleentorno necesita esas dos macros, pero la clase que estás usando articleno las define, LaTeX correctamente reporta esas macros como indefinidas cuando intentas compilar tu código. Agregar las dos definiciones que se muestran arriba en su preámbulo resolverá ese problema.

Además, una peculiaridad del lstsampleentorno es que, para que todo funcione correctamente,todas las líneas dentro de él deben comenzar con un %seguido de al menos 4 espacios. Sigue esa regla y serás feliz.

ingrese la descripción de la imagen aquí

\documentclass{article}

\usepackage{lstdoc}
\usepackage{xcolor}
\usepackage{lipsum}

% The following definitions are taken from doc.dtx.
% see http://mirrors.ctan.org/macros/latex/base/doc.dtx
\def\MakePercentIgnore{\catcode`\%9\relax}
\def\MakePercentComment{\catcode`\%14\relax}

\begin{document}

\begin{lstsample}{}{}
%    \color{blue}
%    \lipsum[68]  
\end{lstsample}

\end{document}

información relacionada