Шрифт MinionPro с некоторыми символами из kpfonts

Шрифт MinionPro с некоторыми символами из kpfonts

В данный момент я использую пакет MinionPro. Но мне не нравится большинство MnSymbolсимволов '. Я обнаружил, что мне очень нравятся некоторые символы из kpfonts(если кто-то предложит что-то лучшее, я вас выслушаю, но я ищу тольконет округленногосимволы).

Я хотел бы получить от kpfontsэтого:

  • Все символы отношений ( =, , >, , ~, \subset, ... все из них).
  • Все операторы ( \times, +, , ÷, ... ).
  • Что касается больших операторов, я бы хотел сохранить интегралы из пакета MinionPro ( minionintопция), а все остальное приветствуется (ну, я \sumв любом случае заменю символ, так что неважно, придет он или нет).
  • Все стрелки (или похожие на стрелки).
  • Все разделители, за исключением, если возможно,базаскобки ибазаскобки (оригинальные от шрифта Minion Pro, выглядят хорошо).Я не уверен в этом, но что я действительно ненавижу в minion, так это \langle/ \rangleи скобки (кроме базовых).
  • Также меня интересует алфавит, написанный жирным шрифтом, но не каллиграфический алфавит (который я использую swashв Minion Pro).
  • Насчет акцентов я вообще не уверен, так как не могу легко их сравнить. Так что это на ваше усмотрение.

Кстати, вот что я хочу оставить от MinionPro:

  • Все символы из оригинального шрифта (например \partial, ).
  • Все греческие буквы и \mathrm, \mathit, \mathnormal, и цифры из MinionPro.
  • Главный символ и (повторяю) возможно ударения, я не уверен, стоит ли прислушиваться к вашему мнению.

Может я что-то забыл, но это все на данный момент. Любая идея или предложение приветствуются. Любое приближение (не все пункты, но некоторые из них) также будет приветствоваться.

Причина, по которой я хочу этого (дать вам идею, чтобы вы могли подумать сами и высказать свое мнение), заключается в том, что я предпочитаюрезатьсимволы, а неокруглыйone. Кстати, я думаю, что некоторые другие символы просто не выглядят хорошо или не подходят шрифту Minion Pro. И я думаю, что kpfontsдовольно много хороших символов, которые могут лучше подойти Minion. Опять же, я выслушаю все, что вы можете предложить.

Для начала вот мой реальный шаблон:

\documentclass{scrartcl}
\usepackage[%
    opticals,%
    smallfamily,%
    textosf,%
    footnotefigures,%
    swash,%
    openg,%
    fourierbb,%
    minionint,%
    italicgreek,%
    mathlf,%
    mathtabular,%
    onlytext,%
]{MinionPro}
\usepackage[notext]{kpfonts}
\makeatletter
  \DeclareSymbolFont{operators}  {T1} {\Mn@Math@Family}{m} {n}
  \DeclareSymbolFont{letters}    {OML}{MinionPro-TOsF} {m} {\Mn@Math@LetterShape}
  \SetSymbolFont{operators}{bold}{T1} {\Mn@Math@Family}{eb}{n}
  \SetSymbolFont{letters}  {bold}{OML}{MinionPro-TOsF} {eb}{\Mn@Math@LetterShape}
  \DeclareMathAlphabet\mathbf    {T1} {\Mn@Math@Family}{eb}{n}
  \DeclareMathAlphabet\mathit    {T1} {\Mn@Math@Family}{m} {it}
  \SetMathAlphabet\mathit  {bold}{T1} {\Mn@Math@Family}{eb}{it}
  \DeclareMathVersion{tabular}
  \SetSymbolFont{operators}{tabular}    {T1} {\Mn@Math@TFamily}{m}{n}
  \SetSymbolFont{letters}  {tabular}    {OML}{MinionPro-TOsF}  {m}{\Mn@Math@LetterShape}
  \SetMathAlphabet\mathit  {tabular}    {T1} {\Mn@Math@TFamily}{m}{it}

  \DeclareMathVersion{boldtabular}
  \SetSymbolFont{operators}{boldtabular}{T1} {\Mn@Math@TFamily}{eb}{n}
  \SetSymbolFont{letters}  {boldtabular}{OML}{MinionPro-TOsF}  {eb}{\Mn@Math@LetterShape}
  \SetMathAlphabet\mathit  {boldtabular}{T1} {\Mn@Math@TFamily}{eb}{it}
\makeatother
\begin{document}
\[
    \int_a^b f(x) \, \mathrm{d}x = 3 + 2 = 5 \subset \mathbb{N}
\]
\end{document}

решение1

Я не уверен, что это поможет. Я удалю это, если нет. Большая часть скопирована и вставлена ​​из MinionPro.sty.

Необходимо адаптировать код из MinionPro.sty, особенно для того, чтобы заставить работать интегралы, одновременно перенося другие символы из kpfonts. Для этого я объявил новый шрифт символов, intsymbols, и определил интегралы в терминах этого шрифта. Это должно означать, что начальное объявление от kpfontsof symbolsдействует для всех других символов.

Я удалил команды, объявляющие, operatorsпотому что это просто переопределяет объявление из , kpfontsно вы хотите, чтобы большинство из них, по крайней мере, оттуда. Чтобы получить акценты из MinionPro, я думаю, лучше рассматривать их как исключение, как и с интегралами. Поэтому я установил другой шрифт символов, accents, для этого.

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

будет производить:

Математика: MinionPro, kpfonts

Я не уверен, но думаю, что это должно быть взято из следующего kpfonts:

  • Все символы отношений, за исключением явно определенных в MinionPro.
  • Все операторы, за исключением явно определенных в MinionPro, включая интегралы.
  • Все стрелки, за исключением явно определенных в MinionPro.
  • Все разделители, за исключением явно определенных в MinionPro.
  • Доска.

Я надеюсь, что MinionPro выпустит следующее:

  • Все символы из оригинального шрифта (например \partial, ).
  • Все греческие буквы и \mathrm, \mathit, \mathnormal, и цифры.
  • Интегралы.

Также из MinionPro взято следующее:

  • Акценты.
  • Каллиграфический.

Они оба отмечены в коде, так что вы можете закомментировать их, чтобы получить их, kpfontsесли хотите. Лично я предпочитаю результаты с закомментированным битом доски, но ваши километры могут отличаться.

В настоящее время я понятия не имею, как выбирать разделители или как вытащить только символ штриха. (Я предполагаю, что это должно исходить от MnSymbol, но я не знаю, как это сделать.)

Я также не представляю, что можно сделать с размерами при отсутствии опции масштабирования. Обычно это встроено в файлы определения шрифтов. Я думаю, что вы сможете настроить MinionPro, поскольку у вас есть оптика. Я не могу играть с этим, так как у меня ее нет, но, возможно, использование этой normalsize/nonormalsizeопции или аналогичной может быть полезно.

Связанный контент