русский вариант для babel breaks Inconsolata

русский вариант для babel breaks Inconsolata

ХОРОШО:

\documentclass[14pt]{extarticle}

\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{zi4}

\begin{document}
\Huge \texttt{I need only latin here} % I see Inconsolata here
\end{document}

Не в порядке:

\documentclass[14pt]{extarticle}

\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{zi4}

\begin{document}
\Huge \texttt{I need only latin here}
\end{document}

Последний отличается только опцией babel russianи даёт странный результат: шрифт CM в какой-то яркой версии.

Есть ли какие-нибудь предложения, как это исправить? (А именно, использовать и Inconsolata, и russianопцию Babel.)

P.S. Я использую TeX Live 2015.

решение1

Если эта russianопция активна, выходная кодировка шрифта устанавливается на T2A, и эта кодировка не поддерживается Inconsolata, а LaTeX использует резервный шрифт.

LaTeX Font Warning: Font shape `T2A/zi4/m/n' undefined
(Font)              using `T2A/cmr/m/n' instead on input line 8.

Если вам нужны только латинские символы в моноширинном шрифте, лучше всего определить новую команду:

\documentclass[14pt]{extarticle}
\usepackage[OT1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{zi4}

\newcommand{\latinttfamily}{\fontencoding{OT1}\ttfamily}
\DeclareTextFontCommand{\ltexttt}{\latinttfamily}

\begin{document}
\Huge Спасибо \ltexttt{abc}
\end{document}

Можно также переопределить \texttt.

введите описание изображения здесь

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