babel 的俄羅斯選項中斷了 Inconsolata

babel 的俄羅斯選項中斷了 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 和russianbabel 選項。)

PS 我正在使用 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

在此輸入影像描述

相關內容