Listings (Lisp) 和 > 符号

Listings (Lisp) 和 > 符号
\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}

在此处输入图片描述

相关内容