使用 OT2,“sh”被渲染为“7”

使用 OT2,“sh”被渲染为“7”

我正在尝试使用 OT2 用西里尔文写一篇论文,但在某些情况下,它不会将“sh”渲染为“ш”,而是将其渲染为“7”。以下是一个例子。

\documentclass{memoir}
\usepackage[utf8]{inputenc}
\usepackage[T1, OT2]{fontenc}

\begin{document}

Ovim jednachinama se sa velikom preciznoshc1u mozhe opisati kretanje tela \textbf{pri nerelativistichkim brzinama}, tj. pri brzinama mnogo manjim od brzine svetlosti.

\end{document}

它应该产生这样的结果:

超过 500 名歌手和歌手有更多歌曲可供选择预防非拉提夫综合症,那。鉴于巴兹尔清真寺的规模和规模,以及其规模,巴兹尔清真寺的规模和规模。

而我得到的却是这样的: “шћ” 被渲染为“71”

当我添加一个\relax之前c1,ћ 被渲染但是 ш 仍然没有: “ш” 仍然被渲染为“7”

我不知道是什么原因导致了这个问题。

答案1

这是从记忆中得来的(我目前无法访问 TeX 系统)。

1982 年左右,我根据当时使用的音译系统开发了西里尔字母的输入代码。数学。评论。由多个拉丁字母表示的俄语字母被实现为连字。非俄语字母被实现为一个拉丁字母加一个数字的连字(我不记得先生等效(如果有)。

一个字母在音译中用四个拉丁字母表示——“shch”(我目前也无法使用西里尔字母)。这需要几个连字符步骤,并且为了避免与“真实”字母冲突(俄语字母表中的字母比拉丁字母表中的字母多),使用数字作为中间值。因此,“shc”变成“7”,当它后面跟着“h”时,就变成了预期的独特的俄语/西里尔字母。

这就解释了“7”。

这里描述的问题是由于在规划非俄语西里尔文本中“sh”后面可能跟有“c1”的可能性时遇到困难而导致的。TeX 的连字符机制无法轻松处理这种情况,但使用“/”(明确禁用连字符)可以提供必要的分隔。

我认为这种特殊情况没有在amsfonts用户指南中得到正确记录,而用户指南是此字体的权威参考。(我没有检查过,但无论如何,官方政策是字体amsfonts和用户指南将不再更新。)

答案2

一种解决方法是以fontspecUnicode 格式加载并输入文本。

\documentclass{article}
\usepackage[paperwidth=10cm]{geometry} % Solely to make the MWE fit on TeX.SX.
\usepackage{babel} % Needed for hyphenation.
\usepackage{fontspec}
\usepackage{microtype} % Allows font expansion.

\babelprovide[import, main]{serbian-cyrillic}

\setmainfont{CMU Serif}[Scale = 1.0,
                        Ligatures = {Common, TeX},
                        Script = Cyrillic,
                        Language = Serbian]

\begin{document}

Овим једначинама се са великом прецизношћу може описати кретање тела
\textbf{при нерелативистичким брзинама,} тј. при брзинама много мањим
од брзине светлости.

\end{document}

CMU Serif 字体示例

以上内容适用于 TeX Live 2019 中的 LuaLaTeX。不幸的是,TeX Live 2018 附带的版本已损坏microtype,您需要采取解决方法来编译这个例子,或者注释掉该行%\usepackage{microtype}并接受更丑陋的连字符。

如果您需要将 PDFLaTeX 用于塞尔维亚语文档,则需要加载支持该编码的传统 8 位编码(T2A 或 X2),以及支持该编码的 Type 1 字体包。否则,您将得到模糊、不匹配的位图字体。此示例选择 CM-super 字体(通过加载 T1 编码),然后选择 Babel 进行本地化和连字:

\documentclass{article}
\usepackage[paperwidth=10cm]{geometry} % Solely to make the MWE fit on TeX.SX.
\usepackage[T1,T2A]{fontenc}
\usepackage{textcomp}
\usepackage[utf8]{inputenc} % The default since 2018
\usepackage{babel} % Needed for hyphenation.

\babelprovide[import, main]{serbian-cyrillic}

\begin{document}

Овим једначинама се са великом прецизношћу може описати кретање тела
\textbf{при нерелативистичким брзинама,} тј. при брзинама много мањим
од брзине светлости.

\end{document}

CM-super 字体样本

相关内容