Использование lstlisting с T2A

Использование lstlisting с T2A

Я хотел бы отобразить листинг кода с помощью пакета listings. Все работает хорошо, за исключением того, если у меня есть fontenc T2A. Когда я это делаю, листинг перестает отображаться с использованием \ttfamilyшрифта и отображается с использованием обычного шрифта.

МВЭ:

\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}

Удалите T2A в вызове пакета fontenc, и все заработает нормально. Поставьте его, и шрифта больше нет \ttfamily. Я пробовал обновить команду \ttdefault(см. закомментированную строку), но безрезультатно. Есть идеи?

решение1

Шрифт не поддерживает кодировку T2A, courierпоэтому LaTeX вернется к Computer Modern Roman. Если вы не хотите использовать другой шрифт пишущей машинки и при условии, что листинги кода не содержат кириллицы, вы можете переключиться на T1кодировку для листингов:

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

Связанный контент