连字命令对希腊语单词不起作用

连字命令对希腊语单词不起作用

我对 LaTex 还比较陌生。我正在努力编写一份包含希腊语和英语混合单词的报告。报告的主要语言是希腊语。因此,我使用了 babel 包。然而,latex 总是错误地将单词“είναι”连字符为“ε-ί-ναι”,而不是“εί-ναι”。因此,我尝试使用\hyphenation以下命令:

\documentclass[a4paper,12pt,twoside,openright]{report}
\usepackage{titlesec}
\usepackage[a4paper,inner=3.5cm,outer=2.5cm]{geometry}

\usepackage[english,greek]{babel}
\usepackage[utf8x]{inputenx}



\usepackage{graphicx}
\usepackage[tight]{subfigure}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{cite}

\begin{document}
\selectlanguage{greek}

\hyphenation{εί-ναι}

\end{document}

但是\hyphenation上面使用的命令会产生错误:Improper \hyphenation will be flushed \hyphenation{ε

这个问题有解决办法吗?请注意,我尝试了该\babelhyphenation[greek]{εί-ναι}命令,但 LaTeX 无法识别它。

我为 Win7 安装了 MikTex 2.9(32 位)。

任何帮助都感激不尽。

答案1

这是 的一个难题pdflatex。您不能在 中使用希腊字母\hyphenation,因为它们实际上被视为命令,最终指示 TeX 排版相应的字母。

此类问题应报告给连字模式的维护者,可通过邮件列表联系http://tug.org/mailman/listinfo/tex-hyphen

为了解决手头的问题,我们必须查看使用希腊字体时字符占用的字符位置。结果如下:

  • ε =0x65
  • 一 =0xD0
  • ν =0x6E
  • α =0x61
  • ι =0x69

完整表格如下:

在此处输入图片描述

因此我们必须使用 TeX 的内部机制来表示任意字符,即^^xy,其中xy为十六进制数字(字母为小写abcdef)。

但是,还有另一个问题:utf8utf8x选项inputenx使其中一些字符处于活动状态(这就是屏幕上的希腊字母如何转换为要排版的字形)。

好了,这是最终的成果;该\detokenize命令避免了以特殊方式解释字符。最后,我将单词排版为零宽度\parbox,因此 TeX 将显示所有可行的连字符点。

\documentclass[a4paper,12pt,twoside,openright]{report}
\usepackage{titlesec}
\usepackage[a4paper,inner=3.5cm,outer=2.5cm]{geometry}

%%% This is better than `utf8x`
\usepackage[LGRx,T1]{fontenc}
\usepackage[utf8]{inputenx}
%%% Comment the two lines above and uncomment the line below for using `utf8x`
%\usepackage[utf8x]{inputenx}


\usepackage[english,greek]{babel}

%%% Use Greek hyphenation rules   
\begin{hyphenrules}{greek}
\hyphenation{\detokenize{^^65^^d0-^^6e^^61^^69}}
\end{hyphenrules}

\usepackage{graphicx}
\usepackage[tight]{subfigure}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{cite}

\begin{document}

\parbox{0pt}{\hspace{0pt}είναι}

\end{document}

在此处输入图片描述

相关内容