使用 listings 包,我可以使用deletekeywords
删除关键字,这样关键字就不会以粗体显示。例如,for
以下内容不是粗体:
\lstset{language=[]C++}
\begin{lstlisting}[deletekeywords={for}]
for (int i = 0; i < 8; i++) {}
\end{lstlisting}
这很有用,因为我喜欢在正文中使用相同的字体来显示小代码片段,但并不总是希望它与关键字一起以粗体显示。为了方便起见,我想出了两个命令:
\newcommand{\code}[1]{\lstinline[deletekeywords=#1]{#1}}
\newcommand{\codeb}[1]{\lstinline[morekeywords=#1]{#1}}
然而,使用 Fortran 则不行。do
下文中的 仍以粗体显示。
\lstset{language=[]Fortran}
\begin{lstlisting}[deletekeywords={do}]
do i = 1,8
end do
\end{lstlisting}
有办法吗? 更普遍地在本地覆盖关键字/语言突出显示设置?
答案1
关键字“DO”在中定义为大写lstlang1.sty
,而 Fortran 代码则表示sensitive=f
;因此
deletekeywords={DO}
成功了。