将 lstlisting 与 T2A 结合使用

将 lstlisting 与 T2A 结合使用

我想使用包显示代码列表listings。一切都很好,除非我有 fontenc T2A。当我这样做时,列表不再使用\ttfamily字体显示,而是使用常规字体显示。

一位 MWE 表示:

\documentclass{article}
\usepackage[T1,T2A]{fontenc}        %T2A causes a problem...
\usepackage[utf8]{inputenc}

\usepackage{courier}
\usepackage{listings}
%\renewcommand*{\ttdefault}{pcr} 
\lstset{
  basicstyle=\ttfamily,breaklines=true,keepspaces=true,columns=flexible,
  aboveskip=6pt,belowskip=6pt
}

\begin{document}

\begin{lstlisting}
GRD
  /SUBJECTSPERGROUP equal = 1000
  /WSFACTORS X (2)
  /SCORES population = "RV.MVN({0,0}, {5**2,.99*5*5;.99*5*5,5**2})"
  /CONTAMINANTS population = "RV.MVN({-5,5}, {1**2,-.01*1*1;-.01*1*1,1**2})" PROPORTION = .5.
\end{lstlisting}

\end{document}

在 fontenc 包调用中删除 T2A,一切正常。将它放进去,字体就不再是了\ttfamily。我尝试更新命令\ttdefault(参见注释行),但无济于事。有什么想法吗?

答案1

T2A该字体不支持编码courier,因此 LaTeX 将回退到 Computer Modern Roman。如果您不想使用其他打字机字体,并且代码清单不包含任何西里尔文,您可以切换到T1清单的编码:

\lstset{basicstyle=\fontencoding{T1}\ttfamily,
        ...
       }

相关内容