如何将 fontspec 与 palatino 包一起使用?

如何将 fontspec 与 palatino 包一起使用?

我正在尝试使用自定义字体 Rockwell 在 Palatino 中排版一本书,该字体用于标题。我可以使用软件包轻松地在 Palatino 中设置这本书palatino,如果我使用该fontspec软件包导入我的 Rockwell 文件,则所有正文文本都会恢复为默认设置。我尝试使用导入 TTF 版本的 Palatino,fontspec但结果比 Palatino 软件包附带的版本更丑陋。

基本上:

\documentclass[10pt]{book}
\usepackage[paperheight=9in,paperwidth=6in]{geometry}
\usepackage{palatino}
\usepackage{fontspec}

\newfontfamily\headingfont[]{Rockwell}
\setmainfont{Palatino}

\begin{document}
This text should be in Palatino.
\end{document}

答案1

我使用该类scrbook来轻松更改标题字体:

\documentclass{scrbook}
\usepackage[paperheight=9in,paperwidth=6in]{geometry}
\usepackage{fontspec}
\setmainfont{TeX Gyre Pagella}%% The Palatino from the TeX Gyre Project
\newfontfamily\headingfont{RockwellStd}%% I have only the RockwellStd.otf
\addtokomafont{sectioning}{\headingfont}
\begin{document}
    \chapter{foo}
    \section{bar}
    This text should be in Palatino.
\end{document}

enter image description here

答案2

palatino软件包使用传统的新字体选择方案来选择 8 位字体。要选择 Palatino(克隆)作为主字体fontspec,请使用

\defaultfontfeatures{Scale=MatchLowercase}
\setmainfont{TeX Gyre Pagella}[Scale=1.0]

在大多数安装中,该palatino软件包还会为您提供 TeX Gyre Pagella,但支持的字符较少。我不确定您是从哪里来的Palatino.ttf,但它可能是 Adob​​e 的旧版本。

请注意,如果您确实想结合 Unicode 和传统的 8 位编码,则不会同时加载palatino和。当您切换到 T1 等传统编码时,fontspec您可以选择\setmainfont加载Pagella。NFSSFamily=qpl

如果你的系统上有 Rockwell,那么你可能安装了 Microsoft Office,因此也拥有正版 Palatino。这让你可以编写

\defaultfontfeatures{Scale=MatchLowercase}
\setmainfont{Palatino Linotype}[Scale=1.0, Ligatures={Common,Discretionary,TeX}]

Apple 还随其 iWork 分发正版 Palatino。在 Mac 上,检查字体册中的 Palatino。

您还可以使用\IfFontExistsTF来加载真实内容(如果有),如果没有,则返回到克隆。您可能不希望这样做,因为如果在不同的安装上编译,您的文档将产生不同的输出。

\IfFontExistsTF{Palatino Linotype}%
  {\setmainfont{Palatino Linotype}[
    Scale=1.0,
    Ligatures={Common,Discretionary,TeX}]}%
  {\setmainfont{TeX Gyre Pagella}[
    Scale=1.0]}

\defaultfontfeatures命令会自动缩放文档中的所有其他字体以匹配 Palatino 的高度。如果您想要匹配大写字母高度而不是 x 高度,请更改Scale=MatchLowercaseScale=MatchUppercase

如果您想要匹配的 OpenType 数学字体,请加载unicode-math并添加到您的序言中:

\setmathfont{Asana Math}

或者您可以尝试 TeX Gyre Pagella Math。

Optima 是 Palatino 的一个很好的无衬线字体,也是由 Hermann Zapf 设计的。免费作为 URW Classico。由于许可证不是自由,你可以从 TUG 获得getnonfreefonts脚本,或者下载来自 CTAN 的文件。 一种很好的匹配等宽字体是 Inconsolata。

要加载 Rockwell,请使用以下命令

\newfontfamily\Rockwell{Rockwell}

如果您使用的是不同版本的字体,例如 Monotype 的字体,您可能希望更精确地指定您想要的文件,例如:

\newfontfamily\Rockwell{RockwellStd}[
  BoldFont = *-Bold,
  ItalicFont = *-Italic,
  BoldItalicFont = *-BoldItalic,
  Extension = .otf]

您可以在此处加载 Light、condensed 或 ExtraBold。添加您需要的任何选项以使用其字体功能。该otfinfo命令可以告诉您字体支持哪些功能。

然后,您可以添加\Rockwell标题的格式,无论您使用什么包。

答案3

您可以使用该titlesec包更改标题样式,包括字体。我没有 Rockwell 字体,所以我使用了另一种字体来显示差异。

enter image description here

\documentclass[12pt]{book}
\usepackage[a4paper]{geometry}
%\usepackage{palatino}
\usepackage{fontspec}
\usepackage{titlesec}

%\newfontfamily\headingfont{Rockwell}
\setmainfont{Palatino}
\newfontfamily\chapfont{Herculanum}

\titleformat{\chapter}[hang]
  {\huge\chapfont}{\thechapter}{20pt}{\Huge}

\begin{document}
\chapter{Chapter in another font}
My text is in Palatino, though.

\end{document}

答案4

我只需在 documentclass 后面加上 \usepackage{Palatino},它就会自动更改为 Palatino。我使用的编辑器是 Texpad,但它应该适用于任何 LaTex 编辑器。

相关内容