LaTeX lstlisting не выделяет ключевые слова, когда основной стиль-ttfamily
Я работаю над документом LaTeX и использую lstlisting для отображения исходного кода Java. Моя настройка выглядит так:
lstset{
basicstyle=ttfamily,
keywordstyle=bfseries,
language=Java,
frame=single,
aboveskip=11pt,
belowskip=11pt,
breaklines=true,
breakatwhitespace=false,
showspaces=false,
showstringspaces=false
}
ключевые слова не выделяются жирным шрифтом при использовании ttfamily, но если я использую small или не указываю базовый стиль, они выделяются нормально.
что я упустил?
3 ответов
шрифт по умолчанию в LaTeX, Computer Modern, не содержит жирного шрифта семейства телетайпов. Вы можете установить это как ; см. этот FAQ запись для сведения.
другой вариант-поменять местами шрифты, которые вы используете для полужирного шрифта, как описано здесь:http://www.macfreek.nl/mindmaster/LaTeX_Bold_Typewriter_Font
просто поставив эту строку в верхней части моего документа, я работал над довольно стандартной сборкой Ubuntu:
\DeclareFontShape{OT1}{cmtt}{bx}{n}{<5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>cmttb10}{}
существует альтернативный подход (немного simplee IMHO) здесь использование шрифта Courier вместо современного компьютера по умолчанию:
% Using Courier font
\renewcommand{\ttdefault}{pcr}
\begin{lstlisting}[basicstyle=\ttfamily\bfseries]
y:=2
\end{lstlisting}
все кредиты идут на Марко Даниэля!