我有这两个包含西里尔文和拉丁文的文本示例。这是我正在研究的一件个人事情,但我没有意识到在两个句子中输入相同的开头短语时,宽度有点不一致
以下代码使用 Windows 中的 Times New Roman .ttf 文件,对于使用本地 TeX 编辑器的 Windows 用户来说,加载应该没有问题。
\documentclass[letterpaper,12pt]{article}
\usepackage{microtype}
\usepackage{unicode-math} % loads fontspec
\setmainfont[Ligatures=TeX, BoldFont=Timesbd.ttf, ItalicFont=Timesi.ttf, BoldItalicFont=Timesbi.ttf]{Times.ttf}
\usepackage[main=english, russian]{babel} % english is using american english
\babelposthyphenation{russian}{ |[{0300}-{036F}] }{ remove, {} }
\begin{document}
When the unstressed vowels come at the end (\foreignlanguage{russian}{Б\'ыло}), beginning (\foreignlanguage{russian}{Алб\'анка}), or right before the stress (\foreignlanguage{russian}{Пот\'ом}), they sound like Spanish 'A'.
When the unstressed О and А appear two or more syllables before the stress (\foreignlanguage{russian}{Хорош\'о}), or after the stress (\foreignlanguage{russian}{С\'орок}) (but not at the end of the word), it will sound like english 'uh'
\end{document}
如果不在 Windows/在线编辑器上,请使用此代码
\documentclass[letterpaper,12pt]{article}
\usepackage{microtype}
\usepackage{unicode-math} % loads fontspec
\setmainfont[Ligatures=TeX]{Times New Roman}
\usepackage[main=english, russian]{babel} % english is using american english
\babelposthyphenation{russian}{ |[{0300}-{036F}] }{ remove, {} }
\begin{document}
When the unstressed vowels come at the end (\foreignlanguage{russian}{Б\'ыло}), beginning (\foreignlanguage{russian}{Алб\'анка}), or right before the stress (\foreignlanguage{russian}{Пот\'ом}), they sound like Spanish 'A'.
When the unstressed О and А appear two or more syllables before the stress (\foreignlanguage{russian}{Хорош\'о}), or after the stress (\foreignlanguage{russian}{С\'орок}) (but not at the end of the word), it will sound like english 'uh'
\end{document}
开头的短语“当非重音时”在两个句子中的宽度不同。应该是这样吗?我的代码是不是出了什么问题?我不太清楚为什么会这样。如果有人能帮我解决这个问题,我将不胜感激。
答案1
默认情况下,tex 会对齐段落。也就是说,通过调整单词间距将文本块的右边缘排列成直线,并且使用 microtype 对字母形状进行细微调整。
因此,出现在两行不同行上的短语几乎总是具有不同的宽度。
如果使用,\ragedright
则对齐将被禁用,并且单词之间的间距将全部为其自然宽度。