如何创建新语言(包、样式、babel 脚本?)

如何创建新语言(包、样式、babel 脚本?)

我写了一本人工语言词典。哪里有关于如何创建新语言的教程。我有 12 个 unicode 字符和 2 个字符,它们有两种不同的表示形式,还有普通的罗马字符和希腊字符。(连接 2 个字形,例如 o+' = ó)有些字符顶部有点(类似 i 或 2 个点)和 ogonek(类似 cedila?)。

答案1

从 TeX 的角度来看,“语言”只是一组连字符模式,允许处理器的段落分割算法完成其排版工作:对段落进行连字符处理。因此,一旦您弄清楚了人工语言的音位学,您只需将一组连字符模式定义为命令的参数\patterns(以及可选的例外列表),并将其定义为 iniTeX/LuaTeX 处理器的\hyphenation下一个参数。因此,例如,对于\language利利铺lilihyph.tex,可以生成以下文件:

\begingroup
\lefthyphenmin=2 \righthyphenmin=2
\catcode`\'=11 % the glottal stop ' is a consonant!
\patterns{1k 1l 1m 1p 1v 1'}
\endgroup
\endinput

此操作的详细信息在 TeXbook 的附录 H 中说明。

现在,如何激活“语言”取决于您的格式和引擎:LaTeX 和 eTeX(现在流行的格式),pdf[enc]TeX、XeTeX 或 LuaTeX(Unicode 感知引擎)的方法略有不同;因此您的里程可能会有所不同。要添加您的语言连字文件对于 LaTeX 和 bplain,您需要编辑文件language.dat并添加行

lilipu lilihyph.tex

对于基于 eTeX 的格式,你需要编辑language.def文件

\addlanguage{lilipu}{lilihyph.tex}{}{2}{2}

然后您可以使用 babel 或 etex 的界面来激活您的语言设置。

在实验方面,我强烈建议您在 LuaTeX 引擎中使用 Plain 格式:Lu​​aTeX 完全支持 Unicode,并且可以直接加载连字模式,而无需重新组合格式。

相关内容