我正在尝试使用显示字体来显示特殊标题——它是 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
位。此外,您不能使用inputenc
XeTeX(因此,最好永远不要读取该代码)。
不过,您可以将“普通 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}
\headerfont
请注意,由于我没有您使用的字体,我更改了值以防止 XeLaTeX 永远挂起。