fixcmex は mlmodern フォントで動作しますか?

fixcmex は mlmodern フォントで動作しますか?

フォントに問題がありますlm。サイズによっては、区切り文字や大きな演算 (合計記号など) がフォントのサイズに比例しません。パッケージではfixcmexこれを修正しています。(最終的には元のフォントでこの問題が修正されることを期待しています)。

フォントmlmodernは の暗いバージョンですlmファッターコンピュータモダンこの暗いフォントの動機については、 mlmodernが直接依存しているようです。動作させるにはlmがインストールされている必要があります。lm

lmしたがって、次の疑問が生じます。によって提供されるへの修正fixcmexにより も修正されるでしょうかmlmodern?

答え1

問題はフォント自体にあるのではなく、デフォルトの数式設定におけるレガシー互換性宣言にあります。宣言が変更されるだけなのでcmex、同じ修正で改善されるでしょlmexう(または、メンテナーにそれをオプションとして提供するようomxmlex.fd提案したほうがよいでしょう)。mlmodern

cm拡張フォントとは異なり、1つのデザインサイズでのみ利用できるようです。そのため、同等の宣言は次のようになります。

\DeclareFontFamily{OMX}{mlmex}{}

\DeclareFontShape{OMX}{mlmex}{m}{n}{%
   <-> mlmex10%
   }{}

あるいは、cmフォントを小さいサイズで使用することもできます。

\DeclareFontFamily{OMX}{mlmex}{}

\DeclareFontShape{OMX}{mlmex}{m}{n}{%
    <-7.5> cmex7
    <7.5-8.5> cmex8
    <8.5-9.5> cmex9
    <9.5-> mlmex10
  }{}%


オリジナル

ここに画像の説明を入力してください

バージョン 1

ここに画像の説明を入力してください

バージョン2

ここに画像の説明を入力してください

\documentclass{article}

\usepackage{mlmodern}

\makeatletter
\def\fixcmex@fix{%
%\DeclareFontShape{OMX}{mlmex}{m}{n}{%
%   <-> mlmex10%
%}{}
%
\DeclareFontShape{OMX}{mlmex}{m}{n}{%
    <-7.5> cmex7
    <7.5-8.5> cmex8
    <8.5-9.5> cmex9
    <9.5-> mlmex10
  }{}%
%
\SetSymbolFont{largesymbols}{normal}{OMX}{mlmex}{m}{n}%
\SetSymbolFont{largesymbols}{bold}{OMX}{mlmex}{m}{n}%
}

\AtBeginDocument{%
  \begingroup
    \check@mathfonts
    \expandafter\expandafter\expandafter
      \split@name\expandafter\string\the\textfont\thr@@\@nil
      \aftergroup\fixcmex@fix
  \endgroup
}

\makeatother
 
\begin{document}


{\footnotesize $(x) + \left(\frac{a}{b}\right)$}
  }

\bigskip
{\normalsize $(x) + \left(\frac{a}{b}\right)$}

\bigskip
{\LARGE $(x) + \left(\frac{a}{b}\right)$}



\end{document}

関連情報