Опция формата латексных списков-пакетов для прописных ключевых слов - PullRequest
2 голосов
/ 25 января 2010

Я использую пакет листингов для вставки исходного кода. Я хотел бы напечатать все ключевые слова в верхнем регистре в выходных данных, независимо от регистра во входных данных.

В руководстве указано, что

keywordstyle=[number][*]style

производит именно то, что я хочу. Однако следующий (почти) минимальный пример не работает. если я установлю значение ключевого слова "[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 для компиляции текстовых файлов. Так как же заставить прописные буквы для ключевых слов?

1 Ответ

1 голос
/ 25 января 2010

В руководстве скобки вокруг * выглядят несколько иначе, чем скобки вокруг number. Причина в том, что квадратные скобки * не предназначены для использования в латексном коде, они просто указывают на то, что наличие * необязательно. Так что попробуйте

keywordstyle=[1]*\bfseries

или

keywordstyle=*\bfseries

- у меня это сработало.

...