我想在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
文件中轻松找到这些标签。