Как использовать среду lstsample (пакет lstdoc) в статье?

Как использовать среду lstsample (пакет lstdoc) в статье?

Я хотел бы попробовать lstsampleсреду из lstdocпакета, распространяемого вместе сlistingsупаковка.

Для этого я написал следующий документ:

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

\begin{document}

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

\end{document}

Но компиляция завершается неудачей с сообщением:

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

Что я упускаю?

решение1

Пакет lstdocв первую очередь предназначен для использования в документах, использующих ltxdocкласс. Этот класс загружает docкласс изнутри, который содержит два макроопределения, которые здесь особенно актуальны:

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

Поскольку lstsampleсреде нужны эти два макроса, но используемый вами класс, article, не определяет их, LaTeX справедливо сообщает об этих макросах как о неопределенных, когда вы пытаетесь скомпилировать ваш код. Добавление двух определений, показанных выше в вашей преамбуле, решит эту проблему.

Также, одна из особенностей окружающей lstsampleсреды заключается в том, что для того, чтобы все работало правильно,все строки внутри него должны начинаться с буквы «a», %за которой должно следовать не менее 4 пробелов.. Следуйте этому правилу, и вы будете счастливы.

введите описание изображения здесь

\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}

Связанный контент