我一直在笔记本电脑上使用 LyX 和 XeTeX 的设置,它运行得很好。但是,我将其安装在我的台式机上(使用相同的字体、软件包等所有内容),我发现每当我尝试在希伯来语文本上使用强调 (\emph) 时,它就不起作用。
问题似乎出在 David CLM 字体上,它是默认的罗马字体,在我的另一台电脑上可以正常工作。将任何其他字体设置为默认字体后,问题就消失了。我尝试在桌面上重新安装该字体,斜体选项在 MS Word 和其他地方都可以正常工作,但当我尝试在 LyX 中强调文本时(通过菜单使其倾斜和斜体也是一样),输出只是普通文本。
如果从第一段看不清楚的话,LaTeX 序言与我的笔记本电脑上的相同(它可以正常工作),但我将其附加在这里以防万一:
%%% Set Hebrew and English fonts
\setmonofont[Script=Hebrew]{Miriam Mono CLM}
\newfontfamily{\englishfont}[Ligatures=TeX]{TeX Gyre Pagella}
%\newfontfamily{\englishfont}[Ligatures=TeX]{Latin Modern Roman}
% Proper font size in math mode.
\setmathrm[Ligatures=TeX]{Latin Modern Math}
%%% Another way is to set just the Hebrew fonts:
% \newfontfamily\hebrewfont[Script=Hebrew]{David CLM}
% \newfontfamily\hebrewfonttt[Script=Hebrew]{Miriam Mono CLM}
% \newfontfamily\hebrewfontsf[Script=Hebrew]{Simple CLM}
% consider using \usepackage{iffont}
%%% Sets both header and footer
\fancyhf{} % sets to nothing
\renewcommand{\headrulewidth}{0pt}
\fancyfoot[C]{\textup{\thepage}}
\renewcommand*{\refname}{Bibliography}
%%% Some alternative styles
\ifcsname question\endcsname
\theoremstyle{definition}
\newtheorem{quesh}[thm]{שאלה}
\renewenvironment{question}{\begin{quesh}}{\end{quesh}}
\else
\fi
\ifcsname sol*\endcsname
\theoremstyle{remark}
\newtheorem*{emphsol*}{פתרון}
\renewenvironment{sol*}{\begin{emphsol*}}{\end{emphsol*}}
\else
\fi
\renewcommand{\labelenumi}{(\alph{enumi})}
\renewcommand{\labelenumii}{\arabic{enumii})}
答案1
首先,检查.log
文件中是否存在有关未找到字体的警告消息。
接下来,确保你已经下载并安装 Culmus 字体,包括DavidCLM-MediumItalic.otf
。您可能需要重新运行fc-cache -f -s -v
并luaotfload-tool -f -u -p -v
确保它们已被索引。
最后,您可以通过文件名加载字体:
\newfontfamily\hebrewfont{DavidCLM}[
Script = Hebrew ,
Ligatures = Discretionary ,
UprightFont = *-Medium ,
BoldFont = *-Bold ,
ItalicFont = *-MediumItalic ,
BoldItalicFont = *-BoldItalic ,
Extension = .otf ]
某些安装可能使用扩展名.ttf
或具有不同的文件名,因此解决这个问题的一种方法是将这些定义移动到名为的文件中DavidCLM.fontspec
:
\defaultfontfeatures[DavidCLM]{
Ligatures = Discretionary ,
UprightFont = *-Medium ,
BoldFont = *-Bold ,
ItalicFont = *-MediumItalic ,
BoldItalicFont = *-BoldItalic ,
Extension = .otf
}
然后您可以使用\newfontfamily\hebrewfont{DavidCLM}[Script=Hebrew]
或\babelfont[hebrew]{rm}[Language=Default]{DavidCLM}
。如果您需要在带有.ttf
文件名的安装上进行编译,那么您可以只编辑.fontspec
文件。