Minion Pro 符号

Minion Pro 符号

我搜索了网站,但找不到答案。我正在尝试使用 Minion Pro。有些符号对我来说似乎不太好。你能解释一下如何更改它们吗?(也许是变成mathpazo 更好的一个。)

在此处输入图片描述

\documentclass[12pt,a4paper]{article}%
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{graphicx}
\usepackage[MnSymbol]{mathspec}
\setmainfont[Numbers={Lining,Proportional}]{Minion Pro}
\setmathsfont(Digits,Latin,Greek)[Numbers={Lining,Proportional}]{Minion Pro}

\begin{document}
These symbols don't seem good.
\begin{equation}
\sim\implies\leqslant\geqslant=<>\int\partial
\end{equation}
\end{document}

答案1

实现起来非常复杂。以下代码让您大致了解了如何实现,但并未尝试满足您的所有要求。尽管如此,相对于问题的复杂性,这是一个相当广泛的开始。(也许看起来并不多,但这只是表明结果并不总是与付出的劳动成正比!)它是否产生与您所希望的结果类似的结果则是另一个问题。

\documentclass[12pt,a4paper]{article}%
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{graphicx}
\usepackage[MnSymbol]{mathspec}
\setmainfont[Numbers={Lining,Proportional}]{Minion Pro}
\setmathsfont(Digits,Latin,Greek)[Numbers={Lining,Proportional}]{Minion Pro}

% based on uflm.fd
\DeclareFontFamily{U}{mymathpazo}{}
\DeclareFontShape{U}{mymathpazo}{m}{n}{<-> fplmri}{}
\DeclareFontShape{U}{mymathpazo}{b}{n}{<-> fplmbi}{}
\DeclareFontFamily{U}{mypazo}{}
\DeclareFontShape{U}{mypazo}{m}{n}{<-> pplri}{}
\DeclareFontShape{U}{mypazo}{b}{n}{<-> pplbi}{}

% brazenly stolen from egreg's answer at http://tex.stackexchange.com/a/14406/39222
\usepackage{pifont}
\makeatletter
  \newcommand\Pimathsymbol[3][\mathord]{%
    #1{\@Pimathsymbol{#2}{#3}}}
  \def\@Pimathsymbol#1#2{\mathchoice
    {\@Pim@thsymbol{#1}{#2}\tf@size}
    {\@Pim@thsymbol{#1}{#2}\tf@size}
    {\@Pim@thsymbol{#1}{#2}\sf@size}
    {\@Pim@thsymbol{#1}{#2}\ssf@size}}
  \def\@Pim@thsymbol#1#2#3{%
    \mbox{\fontsize{#3}{#3}\Pisymbol{#1}{#2}}}
\makeatother
\newcommand{\varpartial}{\Pimathsymbol[\mathord]{mymathpazo}{182}}
\newcommand{\varleqslant}{\Pimathsymbol[\mathord]{mypazo}{160}}
\newcommand{\vargeqslant}{\Pimathsymbol[\mathord]{mypazo}{165}}
\newcommand{\varequals}{\Pimathsymbol[\mathord]{mypazo}{61}}
\newcommand{\varless}{\Pimathsymbol[\mathord]{mypazo}{60}}
\newcommand{\vargreater}{\Pimathsymbol[\mathord]{mypazo}{62}}

\DeclareSymbolFont{mpazosymbols}       {OMS}{zplm}{m}{n}% Use our last maths family for the symbol font
\SetSymbolFont{mpazosymbols}{bold}     {OMS}{zplm}{b}{n}

\DeclareMathSymbol{\sim}{\mathrel}{mpazosymbols}{"18}
\DeclareMathSymbol{\leqslant}     {\mathrel}{AMSa}{"36}% Try taking these from the AMS fonts since these families are defined already
\DeclareMathSymbol{\geqslant}     {\mathrel}{AMSa}{"3E}

\begin{document}
\thispagestyle{empty}

$\sim\leqslant\geqslant\varequals\varless\vargreater\varpartial$

\end{document}

字体选择与混合

存在两个问题:

  1. 您的序言使用了几乎所有可用的数学系列。在超出 TeX 的容量之前,只能声明一个额外的符号字体。这意味着 Werner 提供的链接中 egreg 提供的解决方案是完成(大部分)此任务的唯一方法。
  2. 您首选的替代字体包括虚拟字体,这些字体本身基于重新编码的字体。这些字体使用来自不同字体的字形,不仅包括 mathpazo,还包括 Palatino 和 Computer Modern。这些字体中的每一种都至少使用8r“原始”编码进行了重新编码。这些特定虚拟字体的创建涉及取消设置字形并重置它们、重命名字形以及调整特定字符的位置和字距。我试图向后追溯,但后来意识到源是可用的,所以我建议您向前追溯。在 TeX Live 中,源位于texmf-dist/source/latex/mathpazo/。(这不包括.plPalatino 字体的文件等,但.tfm.vf文件包括到 8r 编码 Palatino 的字符映射。)

请注意,这里发生的是问题 1 或问题 2独自的相对来说比较容易管理。组合这让事情变得如此复杂。如果你能声明额外的数学家族,那么这些家族包含虚拟字体就无关紧要了。或者,如果替代字符是从非虚拟字体中提取的(如 egreg 关于的回答中所述mathabx),那么它会相对简单(考虑到 egreg 的技巧)。正是这种组合让问题变得如此复杂。

此外,即使您将所需的字符追溯回其源字体,您仍然需要调整间距以重新创建 mathpazo 设置的字符。(虚拟字体水平和/或垂直移动字符,有时还会引入字距调整。)这是可行的,但显然会进一步复杂化。

还要注意,这\implies是一个组合字符。我建议你直接重新定义它以适应。在这种情况下,你不会找到源字体,因为据我所知,该符号是 LaTeX 构造。

相关内容