从 newtxmath 中提取 +(加号)符号

从 newtxmath 中提取 +(加号)符号

+我想从newtx(包含)包中提取加号newtxmath。但我只想将此符号提取到我的文档中,而不是包含整个包(这会导致冲突)。我该怎么做?例如,似乎应该写成类似\DeclareMathSymbol{+}{...}{...}{...}重新定义+符号的内容,但我如何才能获得字体系列名称newtxmath?我检查了包文档,但找不到它。同时,我也检查了newtxmath.sty,但几乎看不懂。需要帮助。

答案1

newtxmath.sty重新定义数学中的加号的重要行是带有的行\DeclareMathSymbol{+}和符号字体的定义lettersA

此外,字体定义文件untxmia.fd使用\if反映选项libertineminion和 的开关cochineal

\documentclass{article}

\mathchardef\OldPlus=\mathcode`\+

\makeatletter
\newif\iftx@libertine
\newif\iftx@minion
\newif\iftx@coch
\makeatother
\DeclareSymbolFont{lettersA}{U}{ntxmia}{m}{it}
\SetSymbolFont{lettersA}{bold}{U}{ntxmia}{b}{it}
\DeclareMathSymbol{+}{\mathbin}{lettersA}{253}

\begin{document}
\begin{tabular}{ll}
  Old: & $\OldPlus$\\
  New: & $+$
\end{tabular}
\end{document}

结果

减号 或 的大小写有所\times不同。这里,包newtxmath重新定义了标准符号字体symbols。因此,在下面的示例中,将此字体重命名为 ,NTXsymbols以避免其他字母发生变化:

\documentclass{article}
\usepackage{booktabs}

\mathchardef\OldPlus=\mathcode`\+
\mathchardef\OldMinus=\mathcode`\-
\let\OldTimes\times

\makeatletter
\newif\iftx@libertine
\newif\iftx@minion
\newif\iftx@coch
\makeatother
\DeclareSymbolFont{lettersA}{U}{ntxmia}{m}{it}
\SetSymbolFont{lettersA}{bold}{U}{ntxmia}{b}{it}
\DeclareMathSymbol{+}{\mathbin}{lettersA}{253}

\DeclareSymbolFont{NTXsymbols}{OMS}{ntxsy}{m}{n}
\SetSymbolFont{NTXsymbols}{bold}{OMS}{ntxsy}{b}{n}
\DeclareMathSymbol{-}{\mathbin}{NTXsymbols}{0}
\DeclareMathSymbol{\times}{\mathbin}{NTXsymbols}{2}

\begin{document}
\begin{tabular}{ll}
  Old & New \\
  \midrule
  $\OldPlus$ & $+$ \\
  $\OldMinus$ & $-$ \\
  $\OldTimes$ & $\times$ \\
\end{tabular}
\end{document}

结果

答案2

如果你不想使用数学字母来表示单个符号(从 16 个可用符号中找出来并不难),你可以定义一个宏来访问该符号,方法是调整egreg 的回答以及来自的相关命令pifont。结合 Heiko Oberdiek 的回答中的信息:

\documentclass{article}
% ateb egreg: https://tex.stackexchange.com/a/14406/
\usepackage{pifont}
\makeatletter
\newcommand\Pimathsymbol[3][\mathord]{%
  #1{\@Pimathsymbol{#2}{#3}}}
\def\@Pimathsymbol#1#2{\mathchoice
  {\@Pim@thsymbol{#1}{#2}\tf@size}
  {\@Pim@thsymbol{#1}{#2}\tf@size}
  {\@Pim@thsymbol{#1}{#2}\sf@size}
  {\@Pim@thsymbol{#1}{#2}\ssf@size}}
\def\@Pim@thsymbol#1#2#3{%
  \mbox{\fontsize{#3}{#3}\Piitsymbol{#1}{#2}}}
% ateb Heiko Oberdiek: https://tex.stackexchange.com/a/354435/
\newif\iftx@libertine
\newif\iftx@minion
\newif\iftx@coch
% pifont.sty
\newcommand{\Piitfont}[1]{\fontfamily{#1}\fontencoding{U}%
\fontseries{m}\fontshape{it}\selectfont}
\newcommand{\Piitsymbol}[2]{{\Piitfont{#1}\char#2}}
\makeatother
\newcommand{\newplus}{\Pimathsymbol[\mathbin]{ntxmia}{253}}

\begin{document}

\[
      + \newplus
\]


\end{document}

plus 和 new plus

相关内容