Как загрузить математический глиф и настроить его как \int

Как загрузить математический глиф и настроить его как \int

Я хочу изменить глиф для интеграла, а затем использовать его как \myint иногда вместо \int. По этой причине мне нужно выяснить, как загрузить глиф интеграла из какого-нибудь шрифта и придать ему типичный вид \int (используяЛуалатекс). Возьмем в качестве примера шрифт Latin Modern, загрузим его математическую часть с сайтаLM Математика скачать. В настоящее время я получаю это:

введите описание изображения здесь

Обратите внимание на лишний пробел после интеграла и пределы, которые не на месте. Мой вопрос: как исправить эти две вещи?

Код, создавший вышеприведенное, следующий:

% !TEX program = lualatex
\documentclass[ngerman,10pt]{scrartcl}
\usepackage{fontspec}
%\usepackage{unicode-math}
\setlength{\fboxsep}{0pt}
%\usepackage{newcomputermodern}

% from https://tex.stackexchange.com/a/439983/294323
\newfontface{\mysymbolsfontface}{latinmodern-math.otf}[
    %Path = ./,          % Adjust the path to where the font is located
    Extension = .otf,
    NFSSFamily=mysymbolsfontfamily %use some name for the font family
]
\DeclareSymbolFont{mysymbolsfont}{TU}{mysymbolsfontfamily}{m}{n}
\Umathchardef\displaymyint="1 \symmysymbolsfont "222B %"\sym" then symbolsfontname then glyph code. The "1 stands for mathoperator
\Umathchardef\inlinemyint="1 \symmysymbolsfont "222B

\DeclareRobustCommand\myint{\mathchoice
{\displaymyint\nolimits}
{\inlinemyint\nolimits}
{\inlinemyint\nolimits}
{\inlinemyint\nolimits}}



\begin{document}

Inline: \qquad\qquad\qquad \fbox{$\myint$} \quad \fbox{$\myint_\infty^\infty g(x)$}\\
Displaymode: \qquad\qquad\qquad \fbox{$\displaystyle\myint$} \quad \fbox{$\displaystyle\myint_\infty^\infty g(x)$}\\

Supposed Inline: \quad \fbox{$\int$} \quad \fbox{$\int_\infty^\infty g(x)$}\\
Supposed Displaymode: \quad \fbox{$\displaystyle\int$} \quad \fbox{$\displaystyle\int_\infty^\infty g(x)$}\\
\end{document}

решение1

При использовании шрифтов Unicode Math (например, latinmodern-math.otfв качестве основного шрифта и texgyrepagella-math.otfдля альтернативных символов) все работает без проблем. Я попробовал это с помощью OpTeX:

\fontfam[lm]  % latinmodern-math is loaded here
\addUmathfont \pagella {[texgyrepagella-math]]}{} {}{} {} % load font and register it at math-font family \pagella
\Umathchardef\myintop 1 \pagella `∫  \protected\def\myint{\myintop\nolimits} % \myint declaration

Test: $\int_a^b f(x), \myint_a^b f(x), \displaystyle \myint_a^b f(x) $

\bye

Я выбрал Pagella, чтобы вы могли видеть, что символ интеграла действительно использовался в макросе \myint. Вы, конечно, можете использовать вместо него свой специальный шрифт.

OpTeX работает с LuaTeX. Вы упомянули, что используете LuaLaTeX, который тоже работает с LuaTeX. Это значит, что в LuaLaTeX тоже не должно быть проблем, но я не знаю LaTeX, так что не ждите от меня советов по LaTeX

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