I'm not sure this will help much. I will delete it if not. Most of it is copied and pasted from MinionPro.sty
.
It is necessary to adapt the code from MinionPro.sty
, especially to get the integrals working while bringing other symbols over from kpfonts
. To do this, I've declared a new symbol font, intsymbols
, and defined the integrals in terms of that font. This should mean that the initial declaration by kpfonts
of symbols
is operative for all other symbols.
I've removed the commands declaring operators
because that's just overriding the declaration from kpfonts
but you want most of them, at least, from there. To get the accents from MinionPro, I think it is better to treat them as an exception as with the integrals. So I've set up another symbol font, accents
, for this.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{textcomp,parskip}
\usepackage[%
% x opticals,%
smallfamily,%
textosf,%
footnotefigures,%
swash,%
openg,%
fourierbb,%
minionint,%
italicgreek,%
mathlf,%
mathtabular,%
onlytext,%
]{MinionPro}
\usepackage[notext]{kpfonts}
\makeatletter
\DeclareMathVersion{tabular}
\DeclareMathVersion{boldtabular}
\DeclareSymbolFont{letters} {OML}{MinionPro-TOsF} {m} {\Mn@Math@LetterShape}
\SetSymbolFont{letters} {bold}{OML}{MinionPro-TOsF} {eb}{\Mn@Math@LetterShape}
\SetSymbolFont{letters} {tabular} {OML}{MinionPro-TOsF} {m}{\Mn@Math@LetterShape}
\SetSymbolFont{letters} {boldtabular}{OML}{MinionPro-TOsF} {eb}{\Mn@Math@LetterShape}
\DeclareSymbolFont{minoperators} {T1} {\Mn@Math@Family}{m} {n}
\SetSymbolFont{minoperators}{bold}{T1} {\Mn@Math@Family}{eb}{n}
\SetSymbolFont{minoperators}{tabular} {T1} {\Mn@Math@TFamily}{m}{n}
\SetSymbolFont{minoperators}{boldtabular}{T1} {\Mn@Math@TFamily}{eb}{n}
\DeclareMathAlphabet\mathbf {T1} {\Mn@Math@Family}{eb}{n}
\SetMathAlphabet\mathbf {tabular} {T1} {\Mn@Math@TFamily}{eb}{n}
\DeclareMathAlphabet\mathit {T1} {\Mn@Math@Family}{m} {it}
\SetMathAlphabet\mathit {bold}{T1} {\Mn@Math@Family}{eb}{it}
\SetMathAlphabet\mathit {tabular} {T1} {\Mn@Math@TFamily}{m}{it}
\SetMathAlphabet\mathit {boldtabular}{T1} {\Mn@Math@TFamily}{eb}{it}
\DeclareMathAlphabet\mathrm {T1} {\Mn@Math@Family}{m}{n}
\SetMathAlphabet\mathrm {bold}{T1} {\Mn@Math@Family}{eb}{n}
\SetMathAlphabet\mathrm {tabular}{T1} {\Mn@Math@TFamily}{m}{n}
\SetMathAlphabet\mathrm {bold}{T1} {\Mn@Math@TFamily}{eb}{n}
% for figures
\DeclareMathSymbol{0}{\mathalpha}{minoperators}{`0}
\DeclareMathSymbol{1}{\mathalpha}{minoperators}{`1}
\DeclareMathSymbol{2}{\mathalpha}{minoperators}{`2}
\DeclareMathSymbol{3}{\mathalpha}{minoperators}{`3}
\DeclareMathSymbol{4}{\mathalpha}{minoperators}{`4}
\DeclareMathSymbol{5}{\mathalpha}{minoperators}{`5}
\DeclareMathSymbol{6}{\mathalpha}{minoperators}{`6}
\DeclareMathSymbol{7}{\mathalpha}{minoperators}{`7}
\DeclareMathSymbol{8}{\mathalpha}{minoperators}{`8}
\DeclareMathSymbol{9}{\mathalpha}{minoperators}{`9}
% for accents
\DeclareMathAccent{\grave} {\mathalpha}{minoperators}{0}
\DeclareMathAccent{\acute} {\mathalpha}{minoperators}{1}
\DeclareMathAccent{\hat} {\mathalpha}{minoperators}{2}
\DeclareMathAccent{\tilde} {\mathalpha}{minoperators}{3}
\DeclareMathAccent{\ddot} {\mathalpha}{minoperators}{4}
\DeclareMathAccent{\mathring}{\mathalpha}{minoperators}{6}
\DeclareMathAccent{\check} {\mathalpha}{minoperators}{7}
\DeclareMathAccent{\breve} {\mathalpha}{minoperators}{8}
\DeclareMathAccent{\bar} {\mathalpha}{minoperators}{9}
\DeclareMathAccent{\dot} {\mathalpha}{minoperators}{10}
% % for blackboard - I prefer this commented out but I suppose it is a matter of taste
% \Mn@load@bb
% for greek
\newcommand\Mn@greek@list@upper{}
\newcommand\Mn@greek@list@lower{}
\let\Mn@greek@list@upper\@gobble
\let\Mn@greek@list@lower\@gobble
\newcommand\Mn@greek@list{}
\newcommand*\Mn@greek@letter[3]{%
\expandafter\DeclareMathSymbol
\expandafter{\csname it#1\endcsname}{\mathord}{letters}{#2}%
\expandafter\DeclareMathSymbol
\expandafter{\csname up#1\endcsname}{\mathord}{letters}{#3}%
\edef\@tempa{`\@car#1\@nil}%
\edef\Mn@greek@list{\expandafter\noexpand\csname
Mn@greek@list@\ifnum\uccode\@tempa=\@tempa upper\else lower\fi\endcsname}%
\expandafter\edef\Mn@greek@list{\Mn@greek@list,#1}%
}
\Mn@greek@letter{Gamma} {'000}{'200}
\Mn@greek@letter{Delta} {'001}{'201}
\Mn@greek@letter{Theta} {'002}{'202}
\Mn@greek@letter{Lambda} {'003}{'203}
\Mn@greek@letter{Xi} {'004}{'204}
\Mn@greek@letter{Pi} {'005}{'205}
\Mn@greek@letter{Sigma} {'006}{'206}
\Mn@greek@letter{Upsilon} {'007}{'207}
\Mn@greek@letter{Phi} {'010}{'210}
\Mn@greek@letter{Psi} {'011}{'211}
\Mn@greek@letter{Omega} {'012}{'212}
\Mn@greek@letter{alpha} {'013}{'213}
\Mn@greek@letter{beta} {'014}{'214}
\Mn@greek@letter{gamma} {'015}{'215}
\Mn@greek@letter{delta} {'016}{'216}
\Mn@greek@letter{epsilon} {'017}{'217}
\Mn@greek@letter{zeta} {'020}{'220}
\Mn@greek@letter{eta} {'021}{'221}
\Mn@greek@letter{theta} {'022}{'222}
\Mn@greek@letter{iota} {'023}{'223}
\Mn@greek@letter{kappa} {'024}{'224}
\Mn@greek@letter{lambda} {'025}{'225}
\Mn@greek@letter{mu} {'026}{'226}
\Mn@greek@letter{nu} {'027}{'227}
\Mn@greek@letter{xi} {'030}{'230}
\Mn@greek@letter{pi} {'031}{'231}
\Mn@greek@letter{rho} {'032}{'232}
\Mn@greek@letter{sigma} {'033}{'233}
\Mn@greek@letter{tau} {'034}{'234}
\Mn@greek@letter{upsilon} {'035}{'235}
\Mn@greek@letter{phi} {'036}{'236}
\Mn@greek@letter{chi} {'037}{'237}
\Mn@greek@letter{psi} {'040}{'240}
\Mn@greek@letter{omega} {'041}{'241}
\Mn@greek@letter{varepsilon} {'042}{'242}
\Mn@greek@letter{vartheta} {'043}{'243}
\Mn@greek@letter{varpi} {'044}{'244}
\Mn@greek@letter{varrho} {'045}{'245}
\Mn@greek@letter{varsigma} {'046}{'246}
\Mn@greek@letter{varphi} {'047}{'247}
\Mn@greek@letter{varbeta} {'260}{'250}
\Mn@greek@letter{varkappa} {'261}{'251}
\Mn@greek@letter{backepsilon} {'262}{'252}
\Mn@greek@letter{varbackepsilon}{'263}{'253}
\Mn@greek@letter{digamma} {'264}{'254}
\Mn@greek@letter{eth} {'266}{'256}
\newcommand*\Mn@greek@select[2]{%
\expandafter\let\expandafter\Mn@greek@list\csname Mn@greek@list@#2\endcsname
\@for\@tempa:=\Mn@greek@list\do{%
\expandafter\let\csname\@tempa\expandafter\endcsname
\csname#1\@tempa\endcsname
}%
}
\newcommand*\Mn@greek@Upright{%
\Mn@greek@select{up}{upper}%
\Mn@greek@select{up}{lower}%
}
\newcommand*\Mn@greek@Italic{%
\Mn@greek@select{it}{upper}%
\Mn@greek@select{it}{lower}%
}
\newcommand*\Mn@greek@Mixed{%
\Mn@greek@select{up}{upper}%
\Mn@greek@select{it}{lower}%
}
\Mn@load@greek
% for symbols
\let\hbar\undefined
\DeclareMathSymbol{\hbar} {\mathord}{letters}{'265}
\DeclareMathSymbol{\uphbar} {\mathord}{letters}{'255}
\DeclareMathSymbol{\partial} {\mathord}{letters}{'100}
\DeclareMathSymbol{\uppartial} {\mathord}{letters}{'300}
\DeclareMathSymbol{\ell} {\mathord}{letters}{'140}
\DeclareMathSymbol{\upell} {\mathord}{letters}{'340}
\DeclareMathSymbol{\slashedzero} {\mathord}{letters}{'257}
\DeclareMathSymbol{\upimath} {\mathord}{letters}{'373}
\DeclareMathSymbol{\upjmath} {\mathord}{letters}{'374}
\DeclareMathSymbol{\varsmallint} {\mathord}{letters}{'376}
\DeclareMathSymbol{\openg} {\mathalpha}{letters}{'267}
\DeclareRobustCommand\lambdabar {\middlebar\lambda}
\DeclareRobustCommand\lambdaslash {\middleslash\lambda}
% integrals
\newcommand\Mn@Decl@Minion@Ints{%
\DeclareFontFamily{U}{MnSymbolFI}{}
\DeclareFontShape{U}{MnSymbolFI}{m}{it}{
<-6> MnSymbolFI\Mn@minionint@opticals5
<6-7> MnSymbolFI\Mn@minionint@opticals6
<7-8> MnSymbolFI\Mn@minionint@opticals7
<8-9> MnSymbolFI\Mn@minionint@opticals8
<9-10> MnSymbolFI\Mn@minionint@opticals9
<10-12> MnSymbolFI\Mn@minionint@opticals10
<12-> MnSymbolFI\Mn@minionint@opticals12
}{}
\DeclareFontShape{U}{MnSymbolFI}{b}{it}{
<-6> MnSymbolFI\Mn@minionint@bold\Mn@minionint@opticals5
<6-7> MnSymbolFI\Mn@minionint@bold\Mn@minionint@opticals6
<7-8> MnSymbolFI\Mn@minionint@bold\Mn@minionint@opticals7
<8-9> MnSymbolFI\Mn@minionint@bold\Mn@minionint@opticals8
<9-10> MnSymbolFI\Mn@minionint@bold\Mn@minionint@opticals9
<10-12> MnSymbolFI\Mn@minionint@bold\Mn@minionint@opticals10
<12-> MnSymbolFI\Mn@minionint@bold\Mn@minionint@opticals12
}{}
\DeclareSymbolFont{intsymbols} {U}{MnSymbolFI}{m}{it}
\SetSymbolFont{intsymbols}{bold}{U}{MnSymbolFI}{b}{it}
\let\varint\tint
\let\variint\tiint
\let\variiint\tiiint
\let\variiiint\tiiiint
\let\varidotsint\tidotsint
\let\varlandupint\tlandupint
\let\varlanddownint\tlanddownint
\let\varstrokedint\tstrokedint
\let\varoint\toint
\let\varoiint\toiint
\let\varrcirclerightint\trcirclerightint
\let\varlcirclerightint\tlcirclerightint
\let\varrcircleleftint\trcircleleftint
\let\varlcircleleftint\tlcircleleftint
\let\varsumint\tsumint
\DeclareMathSymbol\tint \mathop{intsymbols}{112}
\DeclareMathSymbol\tiint \mathop{intsymbols}{114}
\DeclareMathSymbol\tiiint \mathop{intsymbols}{116}
\DeclareMathSymbol\tiiiint \mathop{intsymbols}{118}
\DeclareMathSymbol\tidotsint \mathop{intsymbols}{120}
\DeclareMathSymbol\tlandupint \mathop{intsymbols}{122}
\DeclareMathSymbol\tlanddownint \mathop{intsymbols}{124}
\DeclareMathSymbol\tstrokedint \mathop{intsymbols}{126}
\DeclareMathSymbol\toint \mathop{intsymbols}{128}
\DeclareMathSymbol\toiint \mathop{intsymbols}{130}
\DeclareMathSymbol\trcirclerightint\mathop{intsymbols}{132}
\DeclareMathSymbol\tlcirclerightint\mathop{intsymbols}{134}
\DeclareMathSymbol\trcircleleftint \mathop{intsymbols}{136}
\DeclareMathSymbol\tlcircleleftint \mathop{intsymbols}{138}
\DeclareMathSymbol\tsumint \mathop{intsymbols}{140}
\let\intop\tint
\let\ointop\toint
}
\Mn@load@integrals
% % openg
% \Mn@Define@Open@g
% for cal
\Mn@load@cal
\makeatother
\begin{document}
{\fontfamily{jkp}\selectfont
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
\marginpar{\fontfamily{jkp}\selectfont kpfonts}\\
0123456789
\textit{AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz\marginpar{\fontfamily{jkp}\itshape\selectfont kpfonts}}}
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
\marginpar{minion}\\
0123456789\marginpar{\small osf: prop, tab}
{\tbfigures 0123456789}\\
{\lnfigures 0123456789\marginpar{\small ln: prop, tab}
\tbfigures 0123456789}
\textit{AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz\marginpar{\itshape minion}}
\[
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
\]
\[
0123456789
\]
\[
\int_a^b f(x') \, \mathrm{d}x = 3 + 2 = 5 \subset \mathbb{N}
\]
\[
\alpha \beta \varbeta \Gamma \varGamma \gamma \Delta \varDelta \delta \varepsilon \zeta \eta \Theta \varTheta \theta \vartheta \iota \kappa \Lambda \varLambda \lambda \mu \nu \Xi \varXi \xi \Pi \varPi \pi \varpi \rho \varrho \Sigma \varSigma \sigma \varsigma \tau \Upsilon \varUpsilon \upsilon \Phi \varPhi \phi \varphi \chi \Psi \varPsi \psi \Omega \varOmega \omega
\]
\[
\mathcal{AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz}
\]
\[
\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}
\]
\[
\times \div + - \Re \aleph \wp \eth \imath \Bbbk \partial \nabla \mho
\]
\[
\acute{a}\grave{a}\check{a}\check{a}\hat{a}\tilde{a}\bar{a}\breve{a}\dot{a}\ddot{a}\mathring{a}
\]
\[
\rightarrow\leftarrow\leftrightarrow\mapsto\longleftarrow\longleftrightarrow\longrightarrow\longmapsto\downarrow\updownarrow\uparrow\nwarrow\searrow\nearrow\swarrow\Leftarrow\nleftarrow\nleftrightarrow\nrightarrow\Leftrightarrow\Rightarrow\Longleftarrow\Longleftrightarrow\Longrightarrow\Updownarrow\Uparrow\Downarrow\nLeftarrow\nLeftrightarrow\nRightarrow
\]
\end{document}
will produce:
I'm not sure but I think this should take the following from kpfonts
:
- All relation symbols except for any explicitly defined from MinionPro.
- All the operators except for any explicitly defined from MinionPro, including the integrals.
- All the arrows except for any explicitly defined from MinionPro.
- All the delimiters except for any explicitly defined from MinionPro.
- Blackboard.
The following should, I hope, come from MinionPro:
- All the symbols from the original font (like
\partial
).
- All the Greek letters and
\mathrm
, \mathit
, \mathnormal
, and the numbers.
- Integrals.
It also takes the following from MinionPro:
These are both marked up in the code so you can comment them out to get them from kpfonts
if you prefer. Personally, I prefer the results with the blackboard bit commented but your kilometres may vary.
I currently have no idea how to pick and choose delimiters or how to pull the prime symbol only out. (I guess this is meant to come from MnSymbol but I don't know how to make that work.)
I also have no idea what you can do about the sizes in the absence of a scaling option. Usually, this is built into the font definition files. I think you might be able to adjust MinionPro since you have the opticals. I cannot play with this as I don't but perhaps using the normalsize/nonormalsize
option or similar might be useful.
=
,+
,\subset
,\mathbb{N}
… It's explained above (also explained the parts in which I have doubts, e.g.minionint
). If you want to compile you only need to removeopticals
andsmallfamily
(I think).opticals
is enough. I'm a bit confused. Why do you tell LaTeX to take theoperators
from Minion if you don't want them?