如何将系统字体与乳胶字体一起使用

如何将系统字体与乳胶字体一起使用

我正在尝试使用显示字体来显示特殊标题——它是 truetype 格式的 Anton,但要继续使用普通的 Latex 字体来显示文档的其余部分。我认为这可以通过以下方式实现

\usepackage{droid}
\usepackage{ifxetex}
\ifxetex
  \usepackage{fontspec}
  \defaultfontfeatures{Ligatures=TeX} % To support LaTeX quoting style
  \newfontfamily\headerfont{Anton}
\else
  \usepackage[T1]{fontenc}
  \usepackage[utf8]{inputenc}
\fi

但是如果使用 xelatex 编译,droid 包会被忽略,如果使用 pdflatex 编译,Anton 字体不可用。有办法解决这个问题吗?

答案1

\ifxetex检测您是否使用 XeTeX 进行编译。如果是,则执行该if位。如果不是,则执行该else位。此外,您不能使用inputencXeTeX(因此,最好永远不要读取该代码)。

不过,您可以将“普通 LaTeX 字体”用于文档的其余部分。只需使用三行代码,然后\usepackage{fontspec}输入\usepackage{droid}配置,因为加载fontspec会将默认系列设置为 Latin Modern。

\documentclass{article}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX} % To support LaTeX quoting style
\newfontfamily\headerfont{Quintessential}
\usepackage[T1]{fontenc}
\usepackage{droid}
\begin{document}
Some text.
\end{document}

但是,您可能更喜欢使用 opentype/truetype 格式的 Droid 字体来充分利用 XeTeX。

\documentclass{article}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX} % To support LaTeX quoting style
\newfontfamily\headerfont{Quintessential}
\setmainfont{Droid Serif}
\setsansfont{Droid Sans}
\setmonofont{Droid Sans Mono}
\begin{document}
  Some text. Serif. \textsf{Sans}. \texttt{Mono}.
\end{document}

Droid truetype

\headerfont请注意,由于我没有您使用的字体,我更改了值以防止 XeLaTeX 永远挂起。

相关内容