如何在普通的 Xe/luaTeX 中使用西里尔语言支持?

如何在普通的 Xe/luaTeX 中使用西里尔语言支持?

不幸的是,我从未使用过纯 TeX,所以我不知道如何使用该格式的语言支持。如何将 babel 连接到纯 Xe/luaTeX(而不是 Xe/LuaLaTeX)?更具体地说,我对纯 TeX(带有前缀 Xe/lua)对基于西里尔语的语言(乌克兰语、俄语)的支持感兴趣。

% !TeX program = luatex

\input luaotfload.sty
\font\tenrm="Times New Roman"

\tenrm
\TeX --- мова розмітки даних спеціального призначення, 
яка є основним ядром системи набору публікацій (комп'ютерної 
верстки); зокрема для набору математичних та інших технічних
текстів. 

З самого початку \TeX став популярним серед математиків, фізиків, астрофізиків, астрономів, різних вчених-дослідників, яким бракувало необхідних символів на друкарських машинках, а якість документів, створених в інших системах, була незадовільною.

Ядро \TeX --- це інтерпретатор. Базові команди мови дуже низького рівня, але на їх основі можна створювати макрокоманди вищого рівня.
\bye

在此处输入图片描述

答案1

您已经知道如何加载字体:输入luaotfload.sty,然后使用\font带有要加载的字体名称的命令。西里尔文有几个字符根据语言的不同而有不同的外观,因此建议明确设置使用的语言(尽管乌克兰语/俄语变体几乎总是默认的)。您还应该设置tlig,否则---``''将显示为文字---和,``''而不是预期的“”

设置连字模式相对简单:只需\uselanguage{ukrainian}。这在texdoc etex_src(你会绝不除非您知道要专门寻找,否则找不到。

但我认为这就是正确的乌克兰语排版所需的全部内容,除非我遗漏了其他一些要求。(我不会说任何西里尔语。)

%% Load the font
\input luaotfload.sty  % Lets us use otf/ttf fonts
% "language=ukr;+locl;" to make sure that we use the Ukranian glyph variants (which are almost always the default anyways)
% "tlig" makes "---" and "``quotes''" work as expected
\font\tenrm="CMU Serif Roman:language=ukr;+locl;+tlig" at 10pt
\tenrm  % Set the font

%% Set the hyphenation patterns
\uselanguage{ukrainian}

%% Set the page size (just for the demo, ignore)
\hsize=0pt
\overfullrule=0pt
\hoffset=-0.75in
\pagewidth=1.5in
\voffset=-0.75in
\vsize=6.5in
\pageheight=7in
\nopagenumbers

%% Demo text given in the question
\TeX --- мова розмітки даних спеціального призначення, яка є основним
ядром системи набору публікацій (комп'ютерної верстки); зокрема для
набору математичних та інших технічних текстів.

З самого початку \TeX став популярним серед математиків, фізиків,
астрофізиків, астрономів, різних вчених-дослідників, яким бракувало
необхідних символів на друкарських машинках, а якість документів,
створених в інших системах, була незадовільною.

Ядро \TeX --- це інтерпретатор. Базові команди мови дуже низького рівня,
але на їх основі можна створювати макрокоманди вищого рівня.

%% End
\bye

输出

答案2

澄清已经发生了一些变化,因此这里有一个使用 pdflatex 的示例:

结果

\documentclass[10pt,a4paper]{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ukrainian,english]{babel}

\begin{document}
 
\TeX --- мова розмітки даних 
спеціального призначення, 
яка є основним ядром системи 
набору публікацій (комп'ютерної 
верстки); зокрема для набору 
математичних та інших технічних
текстів.  
\bigskip
 
\TeX~ is a special-purpose data markup language that is the main
core of a publication typesetting system (computer layout); in 
particular, for the typesetting of mathematical and other
technical texts. 
 
\end{document}

尽管我不清楚您的情况,即我不明白您从哪里开始,沿着哪条路线前往哪里,但我想向您指出一个有时似乎有用的网站。

https://www.phind.com与 ChatGPT 类似,但专为编程目的而设计。因此,这是一个链接到我的缓存按照这个顺序prompts查询序列;至少它可以作为一种不同类型的搜索引擎使用,它巧妙地提到了它的来源。旨在您自己的(改进的)一系列提示的起点。

  1. 如何在 tex 而不是 latex 中获得乌克兰语和英语的语言支持?给出代码示例
  2. 如何在 tex 而不是 latex 中获得乌克兰语和英语的语言支持?给出代码示例。避免使用 \documentclass、\usepackage 和类似命令。
  3. 如何用纯 TeX 创建自己的语言定义文件?

首先产生了不需要的 Latex 代码,如下所示(无需尝试编译它:我们仍然必须意识到人工智能的幻觉效应,即看上去不错,但实际上是错误的

\documentclass{article}
\usepackage[ukrainian,english]{babel}
\begin{document}
This is English text. \foreignlanguage{ukrainian}{Це український текст.} This is again English text.
\end{document}

第二更有趣,给出了一些(通用?)示例和对具有多语言功能的 Xetex 或 LiaTex 的提示;不知道这是否真的有效:

% Define a new command to switch to Ukrainian
\def\switchtolatin{\language=0 }
\def\switchtoukrainian{\language=1 }

% Define the language number for English and Ukrainian
\language=0

% Start the document
\switchtolatin
This is English text.
\switchtoukrainian
Це український текст.
\switchtolatin
This is English text again.

% End the document
\bye

第三第一个是 phind 提出的后续提案,它讨论了.ldf一些文件,省略了一些有用的文本,

% Define the character encoding for Ukrainian
\catcode`й=1
\catcode`ї=1
...

% Define hyphenation patterns for Ukrainian
\patterns{ukrainian}
\hyphenation{
  при-в-и-ту-м % Example hyphenation pattern
  ...
}

% Define language-specific settings
% For example, you might define the opening and closing quotation marks
\def\"{\cyrdq}
\def\`{\cyra}
...

% Save this in a file named ukrainian.tex

及其用途:

% To use this language definition in your TeX document, you would include it using the \input command:

\input{ukrainian.tex}

% Now you can use Ukrainian characters and hyphenation
Привіт! Це простий текст на українській мові.

下一个提示可能会研究例如概括,因为您可能需要连字符规则而不是列出字典中的所有单词。

希望这能让您充分利用 phind、这个地方、google 以及您拥有的一切,并取得丰硕成果。

例如,打开一个新的 phind 窗口并提示“向我解释一下在纯 tex 中使用的 .ldf 文件”,这至少可以指导你安装 .LDF 语言文件。好的,你已经明白这个概念了。

相关内容