
Я пытаюсь использовать шрифт отображения для специальных заголовков -- это Anton в формате truetype, но продолжать использовать обычные шрифты 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}
Однако вы можете предпочесть использовать шрифты Droid в формате opentype/truetype, чтобы в полной мере воспользоваться преимуществами 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, поскольку у меня нет шрифта, который вы используете.