pdflatex 中是否有与 fontspec 的 Scale=MatchUppercase 等效的函数?或者如何找出两种字体的最佳比例?

pdflatex 中是否有与 fontspec 的 Scale=MatchUppercase 等效的函数?或者如何找出两种字体的最佳比例?

我正在使用XChartertgheroes。尽管我在连续文本中不使用 sans,但我想相应地缩放它。

除了对设置进行一些 T&E 之外,还有其他方法吗?在这方面,Fontspec 的选项确实很方便(至少我知道的那些)。

我认为问题实际上是基于...... scaleTeX Gyre Heros 的选项以哪种方式衡量?

(“剧透”:下面代码的最佳值似乎是 0.9)

MWE 输出的图片

在此处输入图片描述

平均能量损失

\documentclass[
fontsize=12pt,
]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\KOMAoptions{fontsize=11pt}

\usepackage{amsmath}
\usepackage{sansmath}
%
\usepackage[scale=0.96]{tgheros}
\usepackage{tgheros}
\usepackage[bitstream-charter,expert]{mathdesign}
\usepackage[sups]{XCharter}
\usepackage{beramono}

\begin{document}
\begin{center}
\begin{tabular}{rl}
\verb+AAaa\textsf{aaAA}AA+ & AAaa\textsf{aaAA}AA\\
\bfseries\verb+AAaa\textsf{aaAA}AA+ & \bfseries AAaa\textsf{aaAA}AA\\
\verb+XXxx\textsf{xxXX}XXxx+ & XXxx\textsf{xxXX}XXxx\\
\bfseries \verb+XXxx\textsf{xxXX}XXxx+ & \bfseries XXxx\textsf{xxXX}XXxx\\
\end{tabular}
\end{center}
Something else:
\begin{equation}
\sum_{x=3}^{12} \sin(x) \cdot \pi
\end{equation}
\end{document}}

答案1

一般来说,这很难实现,因为每个字体包都有不同的想法;例如,一些包有选项scale,其他包有scaled,但大多数都没有。

就您而言,您很幸运,因为和都tgheros支持beramono缩放,前者具有scale,后者具有scaled

最简单的方法是准备一份文件,例如

\documentclass{scrartcl}

\usepackage[T1]{fontenc}
\KOMAoptions{fontsize=11pt}

\usepackage[bitstream-charter,expert]{mathdesign}
\expandafter\let\csname T1+fvm\endcsname\relax
\usepackage[sups]{XCharter}
\usepackage{beramono}
\usepackage{tgheros}


\begin{document}
\sbox0{A}Charter: \the\ht0

\sbox0{\ttfamily A}Beramono: \the\ht0

\sbox0{\sffamily A}heros: \the\ht0
\end{document}

你得到

在此处输入图片描述

现在您知道 Beramono 和 TeX Gyre Heroes 必须缩小。缩小多少?使用计算器:

7.40767/8.17964 ≈ 0.9056
7.40767/8.10298 ≈ 0.9142

这样你就可以进行缩放:

\documentclass{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\KOMAoptions{fontsize=11pt}

\usepackage{amsmath}
\usepackage{sansmath}
%

\usepackage[bitstream-charter,expert]{mathdesign}
\expandafter\let\csname T1+fvm\endcsname\relax
\usepackage[sups]{XCharter}
\usepackage[scaled=0.9056]{beramono}
\usepackage[scale=0.9142]{tgheros}


\begin{document}
\begin{center}
A{\ttfamily A}\\
\begin{tabular}{rl}
\verb+AAaa\textsf{aaAA}AA+ & AAaa\textsf{aaAA}AA\\
\bfseries\verb+AAaa\textsf{aaAA}AA+ & \bfseries AAaa\textsf{aaAA}AA\\
\verb+XXxx\textsf{xxXX}XXxx+ & XXxx\textsf{xxXX}XXxx\\
\bfseries \verb+XXxx\textsf{xxXX}XXxx+ & \bfseries XXxx\textsf{xxXX}XXxx\\
\end{tabular}
\end{center}
\end{document}

在此处输入图片描述


为什么奇怪\expandafter\let\csname T1+fvm\endcsname\relax

mathdesign软件包对于 Bera Mono 的正确缩放比例有自己的想法。该指令让 LaTeX 认为它没有。

相关内容