[Tex/LaTex] Minion Pro Symbols

fontsmathspecsymbolsxetex

I searched the site but I couldn't find an answer. I'm trying to use Minion Pro.
Some symbols don't seem good to me. Can you explain how to change them? (Maybe into mathpazo
or better one.)

enter image description here

\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}

Best Answer

This is extremely complicated to implement. The following code gives you a sense of how to do it but does not attempt to satisfy all of your desiderata. Nonetheless, this is a fairly extensive start relative to the complexity of the problem. (Perhaps it does not look much but that just goes to show that results are not always proportional to labour expended!) Whether it produces anything like the results you hoped for is a different issue.

\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}

Font Pick 'N Mix

There are two problems:

  1. Your preamble uses almost all of the available maths families. It is only possible to declare one additional symbol font before TeX's capacity is exceeded. This means that the solution provided by egreg in the link provided by Werner is the only way to do (most of) this.
  2. Your preferred substitutes include virtual fonts which are themselves based on re-encoded fonts. These fonts use glyphs from a mix of different fonts including not only mathpazo but also Palatino and Computer Modern. Each of these fonts has been re-encoded with at least the 8r 'raw' encoding. The creation of these particular virtual fonts involved unsetting glyphs and resetting them, renaming glyphs, and adjusting the positioning and kerning of particular characters. I tried to trace things backwards but then realised that the source is available so I'd suggest you trace forwards. In TeX Live, the source is at texmf-dist/source/latex/mathpazo/. (This does not include .pl files etc. for the Palatino fonts but the .tfm and .vf files include character mappings to 8r-encoded Palatino.)

Note that what is going on here is that either problem 1 or problem 2 alone would be relatively manageable. It is the combination which makes this so tangled. If you could just declare additional maths families, the fact that those families included virtual fonts would be neither here nor there. Or if the substitute characters were drawn from a non-virtual font (as in egreg's answer concerning mathabx), it would be relatively straightforward (given egreg's trick). It is the combination which makes the problem so complex.

Moreover, even if you trace the characters you want back to their source fonts, you would still need to adjust the spacing to recreate the characters as set by mathpazo. (The virtual fonts move characters horizontally and/or vertically, sometimes introducing kerning as well.) This is doable but it is obviously a further complication.

Note, too, that \implies is a combination character. I suggest you just redefine this directly to suit. You won't find a source font in this case as the symbol is a LaTeX construction as far as I can tell.