Работает ли fixcmex со шрифтами mlmodern?

Работает ли fixcmex со шрифтами mlmodern?

Проблема со lmшрифтами. При некоторых размерах разделители и большие операции (знак суммы и т. д.) не масштабируются вместе с размером шрифта. Пакет fixcmexисправляет это. (Надеюсь, проблема будет исправлена ​​в исходных шрифтах в конце концов?).

Шрифты mlmodernпредставляют собой более темную версию lm. СмотретьБолее толстый компьютер Современныйдля мотивации этого более темного шрифта. mlmodernпо-видимому, напрямую зависит от lmтого, что он должен lmбыть установлен для работы.

Поэтому возникает вопрос: будет ли исправление, lmпредоставленное пользователем, fixcmexтакже исправлением mlmodern?

решение1

Проблема не в шрифтах как таковых, а только в объявлении совместимости с устаревшими версиями в настройках математики по умолчанию. Он просто изменяет объявления cmexи, lmexесли посмотреть на omxmlex.fdэто, то это принесет пользу (или лучше предложить сопровождающему mlmodernпредложить это как вариант)

В отличие от шрифта расширения cm, он, по-видимому, доступен только в одном размере, поэтому эквивалентное объявление будет выглядеть так:

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

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