2

我使用 Listings 包来插入源代码。无论输入中的大小写如何,我都想在输出中打印所有关键字大写。

该手册指出

keywordstyle=[number][*]style

产生我想要的东西。但是,以下(几乎)最小示例不起作用。如果我将 keywordstyle 设置为 "[1][ ]{\bfseries}" 我最终会在每个关键字前面加上 "[ ]" 并且 "[*]{\bfseries}" 在文档的开头给我一个星号。

我还为关键字样式尝试了“\MakeUppercase”和“{\MakeUppercase}”,这导致了几个错误,第一个是:

! Incomplete \iffalse; all text was ignored after line 11

最小的例子:

\documentclass{article}
\usepackage{listings}
\lstdefinelanguage{KA_assembler}
{morekeywords={add,and,or,xor},
keywordstyle=[1][*]{\bfseries},
sensitive=false,
}
\lstset{language=KA_assembler}
\begin{document}
\begin{lstlisting}
and %r1, %r2
xor %r2, %r3
and %r4, %r5
\end{lstlisting}
\end{document}

我使用 Miktex 来编译 tex 文件。那么如何强制关键字大写?

4

1 回答 1

1

在手册中,* 周围的括号看起来与 . 周围的括号有点不同number。原因是 * 周围的括号并不意味着在乳胶代码中使用,它们只是表明 * 的存在是可选的。所以试试

keywordstyle=[1]*\bfseries

或者

keywordstyle=*\bfseries

- 它对我有用。

于 2010-01-25T19:58:44.220 回答