MiKTeX 上 newtxsf 包的 \underbrace 问题

MiKTeX 上 newtxsf 包的 \underbrace 问题

以下简单示例在我的计算机上显示了一个损坏的下括号符号。上括号也是如此。有什么想法可以解决这个问题或变通吗?我在 Win10 和 MiKTeX / TeXworks 上运行,安装了更新的软件包和所有已安装的更新。

\documentclass[border=1cm, varwidth=\maxdimen]{standalone}
\usepackage{amsmath}
\usepackage{newtxsf}
\begin{document}
\fontsize{80px}{80px}\selectfont
$\underbrace{n \cdot n \cdot n}_{n}= \Omega$
\end{document}

\underbrace 命令与 newtxsf

答案1

newtxsf包重新定义了\upbracefill\downbracefill使用字形,而不是像标准 LaTeX 中那样用规则填充括号。不幸的是,这个字形没有存在(并且您会Missing character在日志文件中发现警告)。

第一个解决方法:保留原始定义。

\documentclass[border=4]{standalone}
\usepackage{fix-cm} % avoid a spurious warning
\usepackage{amsmath}

\let\oriupbracefill\upbracefill
\let\oridownbracefill\downbracefill

\usepackage{newtxsf}

\let\upbracefill\oriupbracefill
\let\downbracefill\oridownbracefill

\begin{document}
$\underbrace{n \cdot n \cdot n}_{n}=\overbrace{n\cdot n\cdot n}$
\end{document}

在此处输入图片描述

第二种解决方法:取消注释一行newtxsf.sty

\documentclass[border=4]{standalone}
\usepackage{fix-cm} % avoid a spurious warning
\usepackage{amsmath}

\usepackage{newtxsf}

\makeatletter
\re@DeclareMathSymbol{\br@cext}{\mathord}{largesymbolsTXA}{32}
\makeatother

\begin{document}
$\underbrace{n \cdot n \cdot n}_{n}=\overbrace{n\cdot n\cdot n}$
\end{document}

在此处输入图片描述

相关内容