我需要用希伯来语写一份摘要。
在帮助下我设法让下一个 MWE 工作(我使用 LuaLaTeX):
\documentclass[12pt]{article}
\usepackage[english,bidi=default]{babel} %bidi=default with xelatex
\babelprovide[import,main]{hebrew}
\babelfont{rm}[Language=Default]{Latin Modern Roman}
%\babelfont[hebrew]{rm}{DejaVu Sans}
\babelfont[hebrew]{rm}[Language=Default]{DejaVu Sans}
%\babelfont[hebrew]{rm}[Language=Default]{David} -Not Working: Does not contain script Hebrew
%\babelfont[hebrew]{rm}[Language=Default]{DejaVu Serif}-Not Working: Does not contain script Hebrew
%\babelfont[hebrew]{rm}{Noto Sans Hebrew}
\usepackage{setspace}
\setlength\headheight{15pt}
\usepackage[a4paper,top=25mm,bottom=20mm,outer=2.5cm,inner=4cm]{geometry}
\pagenumbering{gobble}
\begin{document}
\doublespacing
\begin{center}
\Huge
\textbf{תקציר}
סתם
\end{center}
\end{document}
然而,字体看起来像“Arial”字体: 而我需要它看起来像“David”字体:
我不知道如何找到不会产生错误的正确字体。对于所有 TeX 技术细节,我都是真正的新手。
只需将“DejaVu Sans”更改为“David”就会产生一个警告Font 'David' does not contain script 'Hebrew'
,并且生成的 pdf 会显示奇怪的符号而不是希伯来字母。
有人可以一步一步解释如何使正确的字体工作吗?
答案1
网上有几种不同的免费版本的 David。一个很好的资源是开放西杜尔项目。这里我使用 Culmus 项目的 David CLM,但您也可以尝试 David Libre。对于匹配的英文字体,我选择了 TeX Gyre Bonum,它是 Bookman 的克隆版。
\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage[bidi=default, english]{babel}
\usepackage{parskip}
\babelprovide[import, main]{hebrew}
\defaultfontfeatures{ Ligatures = TeX, Scale = MatchUppercase }
\babelfont{rm}[Scale = 1.0, Ligatures = Common, Language = Default]{TeX Gyre Bonum}
\babelfont{sf}[Ligatures = Common, Language = Default]{TeX Gyre Heros}
\babelfont{tt}[Language = Default]{Inconsolata}
\babelfont[hebrew]{rm}[Language = Default]{David CLM}
\babelfont[hebrew]{sf}[Language = Default]{Miriam CLM}
\babelfont[hebrew]{tt}[Language = Default]{Miriam Mono CLM}
% This prevents the minipage environment from suppressing the space between
% paragraphs. You could also save \parindent to keep paragraph indentation, but
% this example alternates right-to-left and left-to-right paragraphs.
\makeatletter
\newlength\savedparskip
\setlength\savedparskip{\parskip}
\newcommand{\@minipagerestore}{\setlength{\parskip}{\savedparskip}}
\makeatother
\begin{document}
\begin{minipage}{10cm} % To fit both RTL and LTR text inside a TeX.SX image.
\section*{תקציר}
ניסוי ותהייה, או ניסוי וטעיה?
\foreignlanguage{english}{(We shall see.)}
\begin{otherlanguage}{english}
some text \foreignlanguage{Hebrew}{בעברית}
\end{otherlanguage}
\end{minipage}
\end{document}
这是 David Libre 和 的替代方案polyglossia
。它使用 David CLM 来实现斜体样式。它还演示了如何设置希伯来语无衬线字体和等宽字体。
\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{parskip}
\setdefaultlanguage{hebrew}
\setotherlanguage{english}
\defaultfontfeatures{ Ligatures = TeX, Scale = MatchUppercase }
\setmainfont{TeX Gyre Pagella}[
Scale = 1.0 ,
Numbers = OldStyle ,
Ligatures = {Common, Discretionary}]
%\setsansfont{URWClassico}[
% UprightFont = *-Regular ,
% ItalicFont = *-Italic ,
% BoldFont = *-Bold ,
% BoldItalicFont = *-BoldItalic ,
% Extension = .otf ]
%\setmonofont{Inconsolata}
\newfontfamily\hebrewfont{David Libre}[
Script = Hebrew ,
Language = Hebrew ,
UprightFeatures = { Ligatures = {Common, Discretionary} } ,
BoldFeatures = { Ligatures = {Common, Discretionary} } ,
ItalicFont = [DavidCLM-MediumItalic] ,
BoldItalicFont = [DavidCLM-BoldItalic] ]
%\newfontfamily\hebrewfontsf{Miriam Libre}[
% Script = Hebrew ,
% Ligatures = Common ]
%\newfontfamily\hebrewfonttt{Miriam Mono CLM}[
% Script = Hebrew]
% This prevents the minipage environment from suppressing the space between
% paragraphs. You could also save \parindent to keep paragraph indentation, but
% this example alternates right-to-left and left-to-right paragraphs.
\makeatletter
\newlength\savedparskip
\setlength\savedparskip{\parskip}
\newcommand{\@minipagerestore}{\setlength{\parskip}{\savedparskip}}
\makeatother
\begin{document}
\begin{minipage}{10cm} % To fit both RTL and LTR text inside a TeX.SX image.
\section*{תקציר}
ניסוי ותהייה, או ניסוי וטעיה?
\textenglish{(We shall see.)}
\begin{english}
some text \texthebrew{בעברית}
\end{english}
\end{minipage}
\end{document}
我发现 David Libre 与 Palatino 很匹配(因此是它的克隆版 Pagella),而 Miriam Libre 与 Optima 很匹配(因此是它的克隆版 Classico)。就我个人而言,我更喜欢这种字体组合。
如果您需要混合使用两种语言的斜体字体,需要考虑的一点是,许多希伯来语斜体字体的倾斜方向与其他字体相反。(或者您可以使用从左到右倾斜的希伯来语斜体,或使用 Drugulin 来强调。)这在数学定理中尤其会给您带来麻烦。因此,您可以考虑加载\usepackage[math-style = upright]{unicode-math}
如果您要混合使用相反方向的倾斜,您可能需要考虑加载。Hermann Zapf 的少数用直立字母设计的数学字体之一是欧拉。
附言:
感谢 Ulrike Fischer 提到 Babel 自 3.27 版本起支持希伯来语 Unicode。