유니코드 설정에서 lualatex를 사용하여 mtpro에서 적분 및 합산 기호만 가져옵니다.

유니코드 설정에서 lualatex를 사용하여 mtpro에서 적분 및 합산 기호만 가져옵니다.

mathtime 글꼴에서 정수 기호(\int, \oint, \iint 등)와 합계 기호를 가져오되 유니코드 글꼴과 unicode-math를 사용하는 작업 전략은 무엇입니까? 방법이 있을 텐데, 도저히 알 수 없었습니다. 어떤 아이디어가 있나요?

답변1

다음과 같이 할 수 있습니다:

\documentclass{article}
\usepackage{amsmath}
\usepackage{unicode-math}

\DeclareFontEncoding{LMP3}{}{}
\DeclareFontSubstitution{LMP3}{mtt}{m}{n}
\DeclareFontFamily{LMP3}{mtt}{}
\DeclareFontShape{LMP3}{mtt}{m}{n}{<->mt2exa}{}
\DeclareSymbolFont{mtprolargesymbols}{LMP3}{mtt}{m}{n}

\makeatletter
\AtBeginDocument{%
  \renewcommand{\sum}{\DOTSB\sum@\slimits@}%
  \renewcommand{\prod}{\DOTSB\prod@\slimits@}%
  \DeclareMathSymbol{\intop}{\mathop}{mtprolargesymbols}{"52}%
  \DeclareMathSymbol{\iintop}{\mathop}{mtprolargesymbols}{"92}%
  \DeclareMathSymbol{\iiintop}{\mathop}{mtprolargesymbols}{"94}%
  \DeclareMathSymbol{\ointop}{\mathop}{mtprolargesymbols}{"48}%
  \DeclareMathSymbol{\oiintop}{\mathop}{mtprolargesymbols}{"96}%
  \DeclareMathSymbol{\oiiintop}{\mathop}{mtprolargesymbols}{"98}%
  \DeclareMathSymbol{\cwointop}{\mathop}{mtprolargesymbols}{"9A}%
  \DeclareMathSymbol{\awointop}{\mathop}{mtprolargesymbols}{"9C}%
  \DeclareMathSymbol{\cwintop}{\mathop}{mtprolargesymbols}{"9E}%
  \DeclareMathSymbol{\barintop}{\mathop}{mtprolargesymbols}{170}%
  \DeclareMathSymbol{\slashintop}{\mathop}{mtprolargesymbols}{172}%
  \DeclareMathSymbol{\sum@}{\mathop}{mtprolargesymbols}{"50}%
  \DeclareMathSymbol{\prod@}{\mathop}{mtprolargesymbols}{"51}%
  \def\iint{\DOTSI\iintop\ilimits@}%
  \def\iiint{\DOTSI\iiintop\ilimits@}%
  \def\oiint{\DOTSI\oiintop\ilimits@}%
  \def\oiiint{\DOTSI\oiiintop\ilimits@}%
  \def\cwoint{\DOTSI\cwointop\ilimits@}%
  \def\awoint{\DOTSI\awointop\ilimits@}%
  \def\cwint{\DOTSI\cwintop\ilimits@}%
  \def\barint{\DOTSI\barintop\ilimits@}%
  \def\slashint{\DOTSI\slashintop\ilimits@}%
  \def\slsum{\DOTSB\slsumop\slimits@}%
  \def\slprod{\DOTSB\slprodop\slimits@}%
  \def\slcoprod{\DOTSB\slcoprodop\slimits@}%
  \def\upsum{\DOTSB\upsumop\slimits@}%
  \def\upprod{\DOTSB\upprodop\slimits@}%
  \def\upcoprod{\DOTSB\upcoprodop\slimits@}%
}
\makeatother

\begin{document}

$\int\oint\iint\sum\prod$

\[\int\oint\iint\sum\prod\]

\end{document}

테스트를 위해 실제로 사용해본 결과

\documentclass{article}
\usepackage{iftex}
\usepackage{amsmath}

\ifluatex
\usepackage{unicode-math}
\usepackage{kpfonts-otf}

\DeclareFontEncoding{LMP3}{}{}
\DeclareFontSubstitution{LMP3}{mtt}{m}{n}
\DeclareFontFamily{LMP3}{mtt}{}
\DeclareFontShape{LMP3}{mtt}{m}{n}{<->mt2exa}{}
\DeclareSymbolFont{mtprolargesymbols}{LMP3}{mtt}{m}{n}

\makeatletter
\AtBeginDocument{%
  \renewcommand{\sum}{\DOTSB\sum@\slimits@}%
  \renewcommand{\prod}{\DOTSB\prod@\slimits@}%
  \DeclareMathSymbol{\intop}{\mathop}{mtprolargesymbols}{"52}%
  \DeclareMathSymbol{\iintop}{\mathop}{mtprolargesymbols}{"92}%
  \DeclareMathSymbol{\iiintop}{\mathop}{mtprolargesymbols}{"94}%
  \DeclareMathSymbol{\ointop}{\mathop}{mtprolargesymbols}{"48}%
  \DeclareMathSymbol{\oiintop}{\mathop}{mtprolargesymbols}{"96}%
  \DeclareMathSymbol{\oiiintop}{\mathop}{mtprolargesymbols}{"98}%
  \DeclareMathSymbol{\cwointop}{\mathop}{mtprolargesymbols}{"9A}%
  \DeclareMathSymbol{\awointop}{\mathop}{mtprolargesymbols}{"9C}%
  \DeclareMathSymbol{\cwintop}{\mathop}{mtprolargesymbols}{"9E}%
  \DeclareMathSymbol{\barintop}{\mathop}{mtprolargesymbols}{170}%
  \DeclareMathSymbol{\slashintop}{\mathop}{mtprolargesymbols}{172}%
  \DeclareMathSymbol{\sum@}{\mathop}{mtprolargesymbols}{"50}%
  \DeclareMathSymbol{\prod@}{\mathop}{mtprolargesymbols}{"51}%
  \def\iint{\DOTSI\iintop\ilimits@}%
  \def\iiint{\DOTSI\iiintop\ilimits@}%
  \def\oiint{\DOTSI\oiintop\ilimits@}%
  \def\oiiint{\DOTSI\oiiintop\ilimits@}%
  \def\cwoint{\DOTSI\cwointop\ilimits@}%
  \def\awoint{\DOTSI\awointop\ilimits@}%
  \def\cwint{\DOTSI\cwintop\ilimits@}%
  \def\barint{\DOTSI\barintop\ilimits@}%
  \def\slashint{\DOTSI\slashintop\ilimits@}%
  \def\slsum{\DOTSB\slsumop\slimits@}%
  \def\slprod{\DOTSB\slprodop\slimits@}%
  \def\slcoprod{\DOTSB\slcoprodop\slimits@}%
  \def\upsum{\DOTSB\upsumop\slimits@}%
  \def\upprod{\DOTSB\upprodop\slimits@}%
  \def\upcoprod{\DOTSB\upcoprodop\slimits@}%
}
\makeatother
\else
\usepackage[lite]{mtpro2}
\fi

\begin{document}

$\int\oint\iint\sum\prod$

\[\int\oint\iint\sum\prod\]

\end{document}

pdflatex그래서 나는 또는 중 하나를 사용하여 동일하게 조판하고 lualatex출력을 비교할 수 있었습니다. 이는 동일한 것 같습니다(확인을 위해 고유한 수학 글꼴이 사용되었습니다).

경고.일부 다른 기호에는 처리가 필요할 수 있습니다.

여기에 이미지 설명을 입력하세요

관련 정보