使用 MinionPro 垂直对齐数字

使用 MinionPro 垂直对齐数字

首先,感谢您的大力帮助和支持 - 我几乎可以在这里找到所有关于乳胶问题的答案。然而,对于这个问题,我找不到解决方案。

我目前在使用 MinionPro 字体时遇到了数字垂直放置的问题。从下面的最小工作示例和附图可以看出,Latex 正确地将第一个数字与文本对齐。但是,一些后续数字设置得较低。

我觉得它影响了可读性,特别是在包含大量数字、目录和页眉的页面上。

我怎样才能强制乳胶以相同的方式垂直对齐所有数字?

提前谢谢您!

示例图像显示了 mwe 中数字的垂直对齐

\documentclass[twoside,11pt,openright]{scrbook}
\usepackage{MinionPro}

\begin{document} 

This tests vertical digit placement as regular text: 1.99 and in math context: $1.8$.

\end{document}

答案1

Minion Pro 提供 4 种数字,根据您选择的 Lining/Oldstyle 和 Tabular/Proportional 功能的组合。表格数字(或等宽)具有相同的字符宽度,这使得它们适合于类似数组的环境。下面是一个简单的演示:

        \documentclass{article}
        \usepackage{fontspec} 
        \setmainfont{Minion Pro}
        \usepackage{array, makecell}
        \newcommand*\nml{\addfontfeatures{Numbers={Monospaced,Lining}}}%
        \newcommand*\nmo{\addfontfeatures{Numbers={Monospaced,OldStyle}}}%
        \newcommand*\npl{\addfontfeatures{Numbers={Proportional,Lining}}}%
        \newcommand*\npo{\addfontfeatures{Numbers={Proportional,OldStyle}}}%


        \begin{document}

       \begin{center}
        \begin{tabular}{|>{\nml}c| >{\nmo}c|@{\quad}|>{\npl}c |>{\npo}c|}
        \multicolumn{2}{c}{\bfseries Tabular\quad} &  \multicolumn{2}{c}{\bfseries Proportional}\\
        \hline
        \thead{Lining} & \thead{OldStyle} & \thead{Lining} & \thead{OldStyle}\\
        \hline
       12345 & 12345  & 12345 & 12345  \\
        67890& 67890 & 67890& 67890 \\
        \hline
        \end{tabular}
        \end{center}

        \end{document}

在此处输入图片描述

据我所知,大多数专业版Opentype字体有这4种图形。

为了充分利用 opentype 功能,您可以考虑使用 XeLaTeX 或 LuaLaTeX 进行编译,使用(如示例所示)fontspec仅用于文本的包(nomath选项)和MinionPro用于数学的包(选项onlymath

相关内容