LyX 与 XeTeX 拒绝使用 David CLM 的斜体版本

LyX 与 XeTeX 拒绝使用 David CLM 的斜体版本

我一直在笔记本电脑上使用 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 -vluaotfload-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文件。

相关内容