我想在俄语中使用 LaTeX:首先我想在源文件中输入西里尔文(并在该源文件中看到西里尔文,而不是英文音译),当然还要在编译后获得西里尔文。如果能提供示例类以及我需要下载的软件包列表,我将不胜感激。
答案1
答案2
我的建议是使用babel
LuaLaTeX 中的包,以及支持西里尔文的 TrueType 或 OpenType 字体。以 UTF-8 格式保存您的文档。
这样你就可以在文字处理器中使用任何字体了。(但在 Windows 上,请确保为所有用户安装了该字体,而不仅仅是为自己安装。)
\documentclass{book} % Or whatever is appropriate
\usepackage{babel}
\usepackage{fontspec}
\usepackage{microtype}
\babelprovide[main, import=ru]{russian}
\defaultfontfeatures{Scale = MatchLowercase}
% Substitute your fonts of choice:
\babelfont{rm}[Scale=1.0]{CMU Serif}
\babelfont[russian]{rm}[Ligatures=Common]{CMU Serif}
\babelfont{sf}{CMU Sans Serif}
\babelfont[russian]{sf}[Ligatures=Common]{CMU Sans Serif}
\babelfont{tt}{CMU Typewriter Text}
\babelfont[russian]{tt}{CMU Typewriter Text}
\begin{document}
\chapter{Матема́тика}
Матема́тика (др.-греч. μᾰθημᾰτικά < μάθημα «изучение; наука»)---наука
об отношениях между объектами, о которых ничего не известно, кроме
описывающих их некоторых свойств,---именно тех, которые в качестве
аксиом положены в основание той или иной математической теории.
Исторически сложилась на основе операций подсчёта, измерения и
описания формы объектов.
\end{document}
我把它做得比需要的稍微复杂一些,以便它能够扩展到一般情况。实际上,你可以用 替换所有命令,\babelfont
这样\setmainfont{Times New Roman}
一切都会正常工作。
这将为您提供合理的默认设置,但您需要根据自己的目的对其进行自定义。特别是,
- 您可能想要更改字体。
- 您想调整
\babelfont
命令以启用所选字体的功能。fontspec
文档列出了所有可用功能,命令otfinfo
将告诉您任何给定字体支持哪些功能。 - 例如,CMU 字体(Computer Modern Unicode)的特别之处在于,如果您选择一种脚本,它们会支持连字,但默认情况下不支持。这是一个令人讨厌的错误,因为它会让您为每种语言重新声明该字体才能获得连字。对于大多数字体,第二次声明
\babelfont[russian]
是不必要的。 - 您会收到一些错误消息,提示“
Language 'Russian' not available for font 'CMUSerif' woth script 'Cyrillic.'
这些都是无害的,但您可以通过添加Language=Default
选项来抑制它们”Ligatures=Common
。 - 该
microtype
软件包是可选的,但可以大大减少所需的连字符数量。在我看来,它会让你的文档看起来好很多。
2019 年的出版商应该不再强迫您使用 PDFLaTeX 而不是 LuaLaTeX。只要有足够的解决方案,就可以做到这一点。以下是该示例的转换:
\documentclass{book} % Or whatever is appropriate
\usepackage{iftex}
\ifPDFTeX
\usepackage[X2, LGR, T1]{fontenc}
\usepackage{textcomp}
\usepackage[greek, russian]{babel}
\usepackage{microtype}
\else
\usepackage{babel}
\usepackage{fontspec}
\usepackage{microtype}
\babelprovide[main, import=ru]{russian}
\babelprovide[import]{greek}
\defaultfontfeatures{Scale = MatchLowercase}
% Substitute your fonts of choice:
\babelfont{rm}[Scale=1.0]{CMU Serif}
\babelfont[russian]{rm}[Ligatures=Common]{CMU Serif}
\babelfont{sf}{CMU Sans Serif}
\babelfont[russian]{sf}[Ligatures=Common]{CMU Sans Serif}
\babelfont{tt}{CMU Typewriter Text}
\babelfont[russian]{tt}{CMU Typewriter Text}
\fi
\begin{document}
\chapter{Матем\'{а}тика}
Матем\'{а}тика (др.-греч. \foreignlanguage{greek}{μᾰθημᾰτικά} <
\foreignlanguage{greek}{μάθημα} «изучение; наука»)---наука об отношениях
между объектами, о которых ничего не известно, кроме описывающих их
некоторых свойств,---именно тех, которые в качестве аксиом положены в
основание той или иной математической теории. Исторически сложилась на
основе операций подсчёта, измерения и описания формы объектов.
\end{document}
由于 PDFLaTeX 使用了几种不同的、过时的 8 位编码,这些编码与任何其他软件都不兼容,因此您只能有少量西里尔字体可用。 (除非您想自己将另一种 OpenType 字体转换为 Type-1 和 T2A 编码,并且许可证允许您这样做。)其中大多数基于 Computer Modern,但也有 Times、Utopia、Libertine、DejaVu 和一些其他字体的转换。