我在 Windows 机器上安装了 MiKTeX。
我有这个简单的文档,我正在尝试使用希伯来语:
\documentclass[12pt]{article}
\usepackage{ucs} % package to add unicode support
\usepackage[utf8x]{inputenc} % adding the UTF-8 encoding
\usepackage[english,hebrew]{babel}
\usepackage{hebfont}
\begin{document}
\sethebrew
Hello world % \textshold{ שלום עולם!}
\end{document}
编译器对我说:
Package babel Warning: No hyphenation patterns were loaded for
(babel) the language `Hebrew'
(babel) I will use the patterns loaded for \language=0 instead.
)) ("D:\MiKTeX 2.9\tex\generic\babel\lheenc.def")
("D:\MiKTeX 2.9\tex\generic\babel\hebfont.sty") (C:\u1.aux)
("D:\MiKTeX 2.9\tex\generic\babel\lhecmr.fd")
("D:\MiKTeX 2.9\tex\latex\ucs\ucsencs.def")Running miktex-makemf.exe...
miktex-makemf: The jerus source file could not be found.
Running hbf2gf.exe...
hbf2gf (CJK ver. 4.8.0)
Couldn't find `jerus.cfg'
miktex-maketfm: No creation rule for font jerus10.
! Font LHE/cmr/m/n/12=jerus10 at 12.0pt not loadable: Metric (TFM) file not found.
问题是什么?
答案1
缺乏连字符模式并不是问题,因为提及。
您很可能缺少合适的希伯来语字体。下载并安装 Culmus 包。如果您在 Windows 上使用 MiKTeX,请从这里。如果你使用的是 Linux,你的发行版应该有支持希伯来语的 LaTeX 软件包或特定的 Culmus 软件包;或者你可以下载两个 ivritex tarball,其中之一包括 Culmus 字体。
此外,没有必要使用\hebfont
;看看来源看看它提供了什么(即使你不是 LaTeX 专家,它也非常易读)。
如果由于某种原因安装 Culmus 无法解决问题,请尝试按照说明操作这里;它们适用于 TeXLive,但也可能适用于 MiKTeX。
答案2
使用 TeX 排版希伯来语的一种方法是使用多语包,它需要XeLaTeX
引擎而不是通常的LaTeX
或pdfLaTeX
。
所有现代 TeX 实现都包含该程序。要从命令行XeLaTeX
运行,只需键入而不是通常的或。如果您通常从文本编辑器中的按钮运行 LaTeX,则应该有一个设置可以将其更改为 XeLaTeX。 XeLaTeX
xelatex
latex
pdflatex
取决于编辑器,在 TeX 源文件顶部添加以下“TeX 指令”可能会指示编辑器自动使用 XeLaTeX:
% !TeX TS-program = xelatex
(确保同一行上没有其他内容,甚至没有后续注释。)
下面说明了 Polyglossia 的基本用法,其中的文档包含英语和希伯来语。
重要提示:该线路\setotherlanguage{hebrew}
加载比迪包,因此此行必须在大多数其他包加载后运行,否则将生成“Package bidi Error”。因此,如果您需要任何其他\usepackage
行,请确保将它们放在此行之前。
插入在括号后面的强制参数中的字体名称\newfontfamily
可以是系统上包含希伯来字符的任何字体。(在我的示例中为SBL Hebrew
.)字体名称前后的括号内不得有多余的空格(因此,例如{ SBL Hebrew}
或 {SBL Hebrew }
不起作用)。可选参数[Script=Hebrew]
对于正确放置元音(nekudot)是必需的。
% !TeX program = xelatex
\documentclass{article}
\usepackage{polyglossia}
\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text, Scale=MatchLowercase}
\setdefaultlanguage{english}
\setotherlanguage{hebrew}
\newfontfamily\hebrewfont[Script=Hebrew]{SBL Hebrew}
\begin{document}
This is a regular paragraph in English.
\begin{hebrew}
עכשיו אני כותב קטע שלם בעברית.
\end{hebrew}
Now back to English, the default language.
I will insert some \texthebrew{מלים בעברית} into this sentence.
\begin{hebrew}
עכשיו אני כותב קטע בעברית עם \textenglish{English words} באמצע.
אֶפְשָׁר לִכְתּוֹב גַּם עִם נְקוּדוֹת!
\end{hebrew}
\end{document}