我发现新的 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
符号。