如何在不使用 Babel 的情况下更改连字语言?

如何在不使用 Babel 的情况下更改连字语言?

我想在pdlatex不使用的情况下更改连字模式babel,因为babel 杀死我的文档类采用我的语言(匈牙利语)。不幸的是,即使使用包中的提示,我也无法找到更改模式的方法hyph-utf8

\language=\l@hu

但是这个说的是“缺失数字,视为零”。另一个也不起作用:

\hyphenrules{langname}

并再次告诉我“缺少数字......”消息(我认为后者的宏使用\l@hu)。

答案1

该语言的符号名称是\l@hungarian;但为了确定,您需要查看在language.dat典型的 TeX Live 发行版中具有以下路径的文件

/usr/local/texlive/2012/texmf/tex/generic/config/language.dat

虽然真正使用的是

/usr/local/texlive/2012/texmf-var/tex/generic/config/language.dat

(通常,如果没有站点特定的更改,它们是相同的)。相关行是

% from hyphen-hungarian:
hungarian loadhyph-hu.tex

告诉 LaTeX\l@hungarian通过查看文件来定义一组连字模式loadhyph-hu.tex

有几种方法可以解决这个问题:

\RequirePackage[english=hungarian]{hyphsubst}
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\begin{document}

但是,这将导致无法在文档中使用英语(使用正确的连字模式)。您也可以这样做

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\begin{document}
\hyphenrules{hungarian}

并且,对于可能出现英语的部分,使用环境otherlanguage

在这两种情况下,您都必须重新定义固定标签,您可以在hungarian.ldf文件中轻松找到这些标签。

相关内容