我正在为 LaTeX 包编写一些文档,其中我将包含一些示例 LaTeX 代码。排版该代码的最佳方法是什么?我知道我可以使用verbatim
,但如果能获得语法高亮就更好了。我意识到这是这个问题,其中的共识是使用listings
软件包。问题是listings
它似乎只有一个 TeX 驱动程序,而没有 LaTeX 驱动程序。例如,当我排版如下内容时:
\begin{lstlisting}[language=TeX,
keywordstyle=\bfseries,
identifierstyle=\itseries,
stringstyle=\ttfamily]
\begin{minipage}{\hsize}
This is a test!
\end{minipage}
\end{lstlisting}
结果是这样的:
\开始{小页面}{\水平尺寸}
这是一个测试!
\结尾{中心}
这显然是搞乱了。
是否有专门针对 LaTeX 的驱动程序listings
?如果没有,是否有其他软件包可以对 LaTeX 代码进行语法高亮?
答案1
您需要提供 TeX 的“子语言”:
language = [LaTeX]{TeX}
在编写包时,您可能还想使用键moretexcs
来添加“新”的 LaTeX 命令。例如,在我的siunitx
我有一个很长的清单:
moretexcs =
{
addto,
ampere,
ang,
angstrom,
...
涵盖它添加的所有新宏,以及来自文档中且未知的其他包的宏listings
。