
我正在嘗試使用特殊標題的顯示字體——它是 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
將預設係列設為拉丁現代。
\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 永遠掛起,因為我沒有您正在使用的字體。