我正在使用自訂lstlisting
環境來突出顯示 LaTeX 程式碼。為了使用它,我另外輸入了一些關鍵字。但是,該multirow
套件使用其名稱作為命令。如何在這一實例中刪除關鍵字突出顯示,就像\mathrm
在數學環境中所做的那樣?
這是環境(簡化為必要的):
\lstnewenvironment{customtex}
{\lstset{%
language=[LaTeX]{TeX},
...
keywordstyle=\color{darkred}\bfseries,
morekeywords={multirow},
}}{}
在套件的實例中\RequirePackage{multirow}
不應突出顯示,而在使用時應\multirow{...}{...}{...}
將其突出顯示為關鍵字。
答案1
對於包含 LaTeX 程式碼的列表,有一些特殊lstset
選項可設定 LaTeX 命令的外觀,以及相應的選項可將條目新增至突出顯示的命令列表。它們是texcsstyle
(TeX Control Sequence Style) 和moretexcs
.如果您希望反斜線也突出顯示(例如在此網站上所做的),那麼您可以使用=*
而不是=
.
微量元素:
\documentclass{article}
\usepackage{listings}
\usepackage[svgnames]{xcolor}
\lstnewenvironment{customtex}
{\lstset{%
language=[LaTeX]{TeX},
texcsstyle=*\color{DarkRed}\bfseries,
moretexcs={RequirePackage,multirow},
}}{}
\begin{document}
\begin{customtex}
\RequirePackage{multirow}
\multirow{1}{2}{3}
\end{customtex}
\end{document}
結果: