新的 TX 数学字体符号:使用包 newtxmath 进行倾斜下支撑

新的 TX 数学字体符号:使用包 newtxmath 进行倾斜下支撑

我发现新的 TX 数学字体newtxmath无法取代underbrace,请参阅:最新的 Texlive 2012

在此处输入图片描述

underbrace使用默认 CM 字体的 正确方法:在此处输入图片描述


奇怪的是,当我用一个简单的tex文件测试它时,它运行良好。

  \documentclass[12pt]{book}
  \usepackage{amssymb}
  \usepackage{amsmath}
  \usepackage[T1]{fontenc}
  \usepackage{newtxtext, newtxmath}  % new TX times

  \begin{document}


  \begin{eqnarray}
  \frac{\sin^{2}\vartheta}{\Theta_{lm}(\vartheta)}\left(\frac{\partial^{2}}{\partial\vartheta^{2}}+\frac{\cos\vartheta}{\sin\vartheta}\frac{\partial}{\partial\vartheta}\right)\Theta_{lm}(\vartheta)+\sin^{2}(\vartheta)(l(l+1)) =\underbrace{-\frac{1}{\Phi_{m}(\varphi)}\frac{\partial^{2}}{\partial\varphi^{2}}\Phi_{m}(\varphi)}_{blabla} \\
  P_l (x)\equiv\frac {1}{2^l}\sum_{k=0}^{\lfloor l/2\rfloor} (-1)^k \frac{(2l-2k)!}{k!(l-k)!(l-2k)!} x^{l-2k}\\
  \iint_\Omega \frac{x^2+1}{2y}dxdy = 0
  \end{eqnarray}

  \end{document}

但它不适用于我的报告所用的这些包:

 \usepackage{amssymb}
 \usepackage{amsmath}
 \usepackage{graphicx}
 \usepackage[table]{xcolor}
 \usepackage{enumerate}     % numbered items
 \usepackage{color}
 \usepackage{booktabs}    
 \usepackage{threeparttable}
 \usepackage{multirow}
 \usepackage[UKenglish]{babel}  % ngerman: "a "s "o "u
 \usepackage{subfigure}
 \usepackage[colorlinks]{hyperref}  % ref
 \usepackage{natbib}                % bibtex
 \usepackage{cases}
 \usepackage{algorithm}
 \usepackage{algpseudocode} 
 \usepackage{wallpaper}

 % | * * * * * * * * * * * * * * * * * * * * |
 % |        fonts with math support          |
 % | * * * * * * * * * * * * * * * * * * * * |

 \usepackage[T1]{fontenc}
 \usepackage{newtxtext, newtxmath}  % new TX times

 \usepackage{esint}     % Alternate integrals signs
 \usepackage{ngerman}  % after package mathdesign !

其余包和设置用于页面布局、边距等。


我确信newtxmath与某些特定的包有冲突,如何解决这个问题?


部分解决方案:放在esint前面newtxmath可以消除这个问题,但它会产生不变的\iint符号: 在此处输入图片描述

答案1

esint使用另一个名称从包中加载符号字体的重新定义,newtxmath因为两个包都使用相同的名称加载它largesymbolsA

 \documentclass[12pt]{book}
  \usepackage{amssymb}
  \usepackage{amsmath}
  \usepackage[T1]{fontenc}
  \usepackage{esint,newtxtext, newtxmath}  % new TX times
\makeatletter
\DeclareSymbolFont{largesymbolsB}{U}{esint}{m}{n}% esint uses largesymbolsA
\re@DeclareMathSymbol{\intop}{\mathop}{largesymbolsB}{'001}
        \def\int{\intop\nolimits}
\re@DeclareMathSymbol{\iintop}{\mathop}{largesymbolsB}{'003}
        \def\iint{\iintop\nolimits}
\re@DeclareMathSymbol{\iiintop}{\mathop}{largesymbolsB}{'005}
        \def\iiint{\iiintop\nolimits}
\re@DeclareMathSymbol{\iiiintop}{\mathop}{largesymbolsB}{'007}
        \def\iiiint{\iiiintop\nolimits}
\makeatother
 \begin{document}
  \begin{eqnarray}
  \int \iint \iiint 
  \frac{\sin^{2}\vartheta}{\Theta_{lm}(\vartheta)}\left(\frac{\partial^{2}}{\partial\vartheta^{2}}+\frac{\cos\vartheta}{\sin\vartheta}\frac{\partial}{\partial\vartheta}\right)\Theta_{lm}(\vartheta)+\sin^{2}(\vartheta)(l(l+1)) =\underbrace{-\frac{1}{\Phi_{m}(\varphi)}\frac{\partial^{2}}{\partial\varphi^{2}}\Phi_{m}(\varphi)}_{blabla} \\
  P_l (x)\equiv\frac {1}{2^l}\sum_{k=0}^{\lfloor l/2\rfloor} (-1)^k \frac{(2l-2k)!}{k!(l-k)!(l-2k)!} x^{l-2k}
  \end{eqnarray}
\end{document}

答案2

我刚刚发现这个问题:{newtxmath}与包不兼容{esint}

当使用{esint}显示整齐的\iint整数符号时,必须将其放在 的包之后math font,但在这种情况下,产生了错误的underbrace符号。

相关内容