![俄罗斯选择巴别塔打破 Inconsolata](https://linux22.com/image/316225/%E4%BF%84%E7%BD%97%E6%96%AF%E9%80%89%E6%8B%A9%E5%B7%B4%E5%88%AB%E5%A1%94%E6%89%93%E7%A0%B4%20Inconsolata.png)
好的:
\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 选项。)
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
。