%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
試してみたい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
を内部的に読み込みますが、このクラスにはここで特に関連する 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}