
私は特別なヘッダーにディスプレイフォント(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
ビットを実行します。さらに、XeTeX で使用することはできませんinputenc
(そのため、実際には、そのコードが読み込まれないのは良いことです)。
ただし、ドキュメントの残りの部分には「通常の LaTeX フォント」を使用できます。 の 3 行のコードを使用し\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}
ただし、XeTeX を最大限に活用するには、OpenType/TrueType 形式の Droid フォントを使用することをお勧めします。
\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 が永久にハングアップするのを防ぐためにの値を変更したことに注意してください。