記事で lstsample 環境 (lstdoc パッケージ) を使用するにはどうすればよいですか?

記事で lstsample 環境 (lstdoc パッケージ) を使用するにはどうすればよいですか?

試してみたいlstsamplelstdocパッケージに同梱されている環境を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を内部的に読み込みますが、このクラスにはここで特に関連する 2 つのマクロ定義が含まれています。

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

環境lstsampleではこれら 2 つのマクロが必要ですが、使用しているクラスではarticleこれらが定義されていないため、コードをコンパイルしようとすると、LaTeX は当然これらのマクロを未定義として報告します。上記の 2 つの定義をプリアンブルに追加すると、この問題は解決します。

また、この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}

関連情報