\documentclass{article}
\usepackage{listings}
\begin{document}
\lstset{language=Lisp,
keywordstyle=\ttfamily\color{keywordcolor},
stringstyle=\ttfamily\color{stringcolor},
commentstyle=\ttfamily\color{commentcolor},
identifierstyle=\texttt}
\begin{lstlisting}
(> 3 2)
(a 3 2)
\end{lstlisting}
\end{document}
生产
请注意,此输出中的“>”符号比上面的 latex 文件中的“>”符号大得多。有没有办法说“只给我一个看起来与该字体中的所有其他字符相同的字体”?(现在我看了一下,数字似乎也使用了不同的字体——不像我预期的那么像“Courier”。)
答案1
basicstyle=\ttfamily
在我看来,这比对语言的每个部分重复声明更容易。
但是,您可以采用间接的方式进行操作:
\documentclass{article}
\usepackage{listings}
\newcommand{\ttgt}{\texttt{\char`\>}}
\lstset{
language=Lisp,
keywordstyle=\ttfamily\color{keywordcolor},
stringstyle=\ttfamily\color{stringcolor},
commentstyle=\ttfamily\color{commentcolor},
identifierstyle=\texttt,
literate={>}{\ttgt}1,
}
\begin{document}
\begin{lstlisting}
(> 3 2)
(a 3 2)
\end{lstlisting}
\end{document}
不确定为什么更喜欢普通字体的数字。这是另一种方法:
\documentclass{article}
\usepackage{listings}
\lstset{
language=Lisp,
basicstyle=\ttfamily,
}
\begin{document}
\begin{lstlisting}
(> 3 2)
(a 3 2)
\end{lstlisting}
\end{document}
答案2
您需要使用具有良好>
良好源代码专业版:
\documentclass{article}
\usepackage{listings}
\usepackage[default]{sourcecodepro}
\usepackage[T1]{fontenc}
\begin{document}
\lstset{language=Lisp,
keywordstyle=\ttfamily\color{keywordcolor},
stringstyle=\ttfamily\color{stringcolor},
commentstyle=\ttfamily\color{commentcolor},
identifierstyle=\texttt}
\begin{lstlisting}
(> 3 2)
(a 3 2)
\end{lstlisting}
\end{document}