如何在使用 lstinputlisting 时获取源代码的等宽无衬线字体

如何在使用 lstinputlisting 时获取源代码的等宽无衬线字体

我有一个类似的文档:

\usepackage{listings}
\begin{document}
\lstset{language=Matlab,%
  basicstyle=...
}

\subsection*{Matlab code}
\lstinputlisting{../myScript.m}

\end{document}

我找到了几个关于如何使用lstlisting等宽字体的答案,以及一些关于如何通过分别设置basicstyle等于\ttfamily或来获得无衬线字体的答案\sffamily

但是如果我想以等宽字体和无衬线字体显示我的源代码,我该怎么办?

答案1

假设您可以使用操作系统提供的字体,那么实现您的目标很简单:(a)使用 LuaLaTeX(或 XeLaTeX)代替 pdfLaTeX;(b)加载包fontspec并通过指令加载合适的等宽字体\setmonofont;(c)加载listings包后,将选项添加basicstyle=\ttfamily到 的参数中\lstset

在此处输入图片描述

\documentclass{article}
\usepackage{fontspec}
%\setmainfont{...} % select a suitable main text font
%\setsansfont{...} % select a sans-serif font
\setmonofont{Lucida Console}[Scale=MatchLowercase] % select a suitable monospaced font

\usepackage{listings}
\lstset{basicstyle=\ttfamily}

\begin{document}
Hello World. \lstinline{Hello World.}
\end{document}

答案2

一个不错的无衬线等宽字体是源代码专业版来自 Google。您只需导入它即可使用它:

\usepackage{sourcecodepro}

梅威瑟:

\documentclass{article}
\usepackage{sourcecodepro}

\begin{document}
\texttt{This text is in source code pro.}
\end{document}

源代码专业版

相关内容