After a day of struggle I managed to install the full family of MinionPro
font on LaTeX.
After an hour of googling I cannot figure out how to use the medium (semibold) font. Ideally I would have something like a \sb
command, eg., {\sb This is medium bold.}
.
[Tex/LaTex] MinionPro semibold/medium
boldfontsfontspecminionpro
Related Solutions
The encoding for \ell
has changed in newer versions of the MinionPro font. The encoding in the LaTeX package still points at the old glyph code. To fix this, edit the base-MinionPro-ab.enc file. (In Windows, Search Everything is very helpful for this task.) Simply replace the text afii61289
with uni2113
and your script \ell
characters will magically reappear. This works either before or after the LaTeX font is installed.
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:
- Accents.
- Calligraphic.
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.
Best Answer
Here's a
fontspec
solution, which needs XeTeX or LuaTeX:Notes:
Here's the result (with XeLaTeX):