我正在尝试使用 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 名歌手和歌手有更多歌曲可供选择预防非拉提夫综合症,那。鉴于巴兹尔清真寺的规模和规模,以及其规模,巴兹尔清真寺的规模和规模。
当我添加一个\relax
之前c1
,ћ 被渲染但是 ш 仍然没有:
我不知道是什么原因导致了这个问题。
答案1
这是从记忆中得来的(我目前无法访问 TeX 系统)。
1982 年左右,我根据当时使用的音译系统开发了西里尔字母的输入代码。数学。评论。由多个拉丁字母表示的俄语字母被实现为连字。非俄语字母被实现为一个拉丁字母加一个数字的连字(我不记得先生等效(如果有)。
一个字母在音译中用四个拉丁字母表示——“shch”(我目前也无法使用西里尔字母)。这需要几个连字符步骤,并且为了避免与“真实”字母冲突(俄语字母表中的字母比拉丁字母表中的字母多),使用数字作为中间值。因此,“shc”变成“7”,当它后面跟着“h”时,就变成了预期的独特的俄语/西里尔字母。
这就解释了“7”。
这里描述的问题是由于在规划非俄语西里尔文本中“sh”后面可能跟有“c1”的可能性时遇到困难而导致的。TeX 的连字符机制无法轻松处理这种情况,但使用“/”(明确禁用连字符)可以提供必要的分隔。
我认为这种特殊情况没有在amsfonts
用户指南中得到正确记录,而用户指南是此字体的权威参考。(我没有检查过,但无论如何,官方政策是字体amsfonts
和用户指南将不再更新。)
答案2
一种解决方法是以fontspec
Unicode 格式加载并输入文本。
\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}
以上内容适用于 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}