LuaLaTeX 中 mathpazo 和 Tex Gyre Pagella 的字母间距

LuaLaTeX 中 mathpazo 和 Tex Gyre Pagella 的字母间距

我正在排版我的博士论文,我希望使用 Palatino 作为主要字体。对于一些标题,我想使用花哨的 TTF 字体,因此我从 pdfLaTeX 切换到 LuaLaTeX 来编译我的文档。使用一些技巧,我似乎仍然可以使用 mathpazo 的旧字体,它们看起来不错 [*]。然而,避免使用技巧并只使用据说相似的 Tex Gyre Pagella 并使用 fontspec 正确包含字体似乎是个好主意。但是,使用 TG Pagella 时,文本看起来明显不同/更糟。请参见下面的屏幕截图:

在此处输入图片描述

  • 右图:使用 mathpazo 的版本,
  • 左上:Tex Gyre Pagella,
  • 左下:使用 mathpazo + tgpagella 的版本。

使用 Tex Gyre Pagella 排版的文件版本看起来比其他两个版本暗得多,我不太喜欢。似乎字母间距已经改变。对于“略有不同的版本”的字体来说,这似乎是一个相当大的变化。

有没有办法避免这种“变暗”?也就是说,使用 Tex Gyre Pagella 使整个文本看起来更亮,以便看起来类似于仅使用 mathpazo 或 tgpagella 的结果?

[*] 当然有人会说:如果它有效,为什么不坚持下去:当然我现在正在尝试改变更多的东西,为此我需要更多的 LuaLaTeX 功能。这会破坏这个设置。

用于生产上述版本的乳胶源:

\documentclass{article}

\usepackage{fontspec}        % used only for top left
\usepackage{unicode-math}    % used only for top left

% \usepackage[osf,sc]{mathpazo}  % used for right + bottom left
% \usepackage{tgpagella}         % used only for bottom left
\linespread{1.05}
% \usepackage[T1]{fontenc}       % for bottom left and right 

\setmainfont{TeX Gyre Pagella} 
\setmathfont{TG Pagella Math}


\newcommand{\R}{\mathbb{R}}
\begin{document}

\section{General Approach}

We study the problem of segmenting a trajectory with respect to a criterion.
In the continuous case, this problem can be defined as follows.  We define a
trajectory $T$ as a function from the interval $I=[0,1]$ to $\R^2$ (or $\R^d$)
and a subtrajectory, also called \emph{segment}, $T[a,b]$ as the function
restricted to the subinterval $[a,b] \subseteq I$.
A criterion $C$ is a function $C \colon I \times I \rightarrow
\{\textsc{True}, \textsc{False}\}$, which is defined on all possible segments of $T$.
We say an interval $[a,b] \subseteq I$ \emph {satisfies} a criterion $C$ if
$C(a,b) = \textsc{True}$; in this case we call the segment \emph{valid}.  A
partitioning of $I$ (or of $T$) into non-overlapping segments
whose union covers $I$ is called a \emph{segmentation}.
A segmentation of \emph{size} $k$ can be denoted by its segments
$[\tau_0,\tau_1],[\tau_1,\tau_2],\ldots,[\tau_{k-1},\tau_k]$; $\tau_0 = 0$
and $\tau_k = 1$.
A segmentation is \emph{valid} if and only if all of its segments are valid,
and \emph{segmenting} a function refers to partitioning into valid segments.
We say a valid segmentation is \emph{minimal} (optimal)
with respect to $C$ if its size is minimum;
the segmentation problem is to compute a valid minimal segmentation.
We will often omit the word ``valid'' because only
valid segmentations are useful.
\end{document}

相关内容