我正在用 Latex (pdflatex) 编写文档,必须使用预定义的自定义样式。现在,我想要/需要使用 打印代码列表\lstlisting
,我需要使用等宽无衬线字体。
我现在的问题是,我创建的列表是等宽的,但不是无衬线的。无论我怎么尝试,我的列表最终都是衬线的。我需要改变这一点。
该风格非常广泛(超过 1500 行)并且不能更改,因此我认为将其全部粘贴是没有帮助的。
无论如何,我仔细检查了一下,并认为我发现了有趣的部分:
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage{lmodern,textcomp}
\RequirePackage{microtype}
\RequirePackage[ngerman]{babel}
\RequirePackage{ae,pifont}
\Requirepackage{courier}
% ...
\usepackage{listings}
\lstloadlanguages{
[Visual]Basic,
Pascal,
C,
[ISO]C++,
XML,
HTML,
Java,
bash
}
\lstset{
breakatwhitespace=false,
upquote=true,
keepspaces=true,
language=Java,
numbers=none,
numbersep=5pt,
tabsize=2,
extendedchars=true,
breaklines=true,
basicstyle=\scriptsize\ttfamily\color{basicStyleColor},
identifierstyle=\color{identifierStyleColor},
keywordstyle=[1]\color{keywordStyle1Color},
keywordstyle=[2]\color{keywordStyle2Color},
keywordstyle=[3]\color{keywordStyle3Color},
stringstyle=\color{stringStyleColor},
commentstyle=\itshape\color{commentStyleColor},
numberstyle=\tiny\color{commentStyleColor},
rulecolor=\color{black},
showspaces=false,
showtabs=false,
xleftmargin=17pt,
frame=none,
framexleftmargin=17pt,
%framexrightmargin=5pt,
framexbottommargin=4pt,
%backgroundcolor=\color{lightgray},
showstringspaces=false,
{á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
{Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
{à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
{À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
{ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
{Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
{â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
{œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1
{ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1
{ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
{€}{{\euro}}1 {£}{{\pounds}}1 {«}{{\guillemotleft}}1
{»}{{\guillemotright}}1 {ñ}{{\~n}}1 {Ñ}{{\~N}}1 {¿}{{?`}}1
{€}{{\texteuro}}1
}
文件序言如下
\documentclass[12pt]{mystyle}
\usepackage{ulem}
\usepackage{enumerate}
\begin{document}
\sloppy
现在,我想要打印类似这样的内容,并且希望它采用无衬线字体:
\begin{lstlisting}
import akka.actor.{ActorSystem, Props}
object Main extends App {
}
\end{lstlisting}
但无论我做什么,列表的字体始终保持不变。
我如何更改列表的字体(含义:不仅仅是字体系列(\tttype),而是整个字体?)同时不更改文档其余部分的字体?