“overbrace”下的文字太大

“overbrace”下的文字太大

我有一个方程式,其中一部分位于“过度括号”下。问题是括号下的数字太大了。当我只写带有过度括号的部分时,大小就没问题了。有什么办法可以解决这个问题吗?非常感谢!附有代码和图片

\documentclass[a4paper, 10pt]{article}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath}
\usepackage[top=1cm,bottom=1.5cm,left=2.5cm,right=1cm]{geometry}
\begin{document}

$\sqrt[n]{n} =^{(1)} \sqrt[n]{n \cdot 1^{n-1}} =\sqrt[n]{n \cdot 
\smash[b]{\underbrace{1 \cdots 1}_{n-1~times}
}} <^{(2)} \frac{n+\overbrace{1+\ldots+1}^{n-1~ times}}{n}=\frac{n+(n-1)}{n}=\frac{2n-1}{n}=2-\frac{1}{n}$

\end{document}

答案1

问题是 Knuth 的宏\overbrace(用于 Plain TeX)明确声明了\displaystyle它的参数,参见 plain.tex 文件的第 959 行。不幸的是,LaTeX 也采用了这个想法。

解决方案:您可以使用 Unicode Math,因为 Unicode Math\overbrace以完全不同且更好的方式声明。或者,您必须\scriptstyle在 的参数中明确说明\overbrace。但这是一个糟糕的解决方案:当您决定将公式从内联数学切换$...$到显示$$...$$时,您必须删除此\scriptstyle命令。最佳解决方案:使用 Uncode Math(例如 OpTeX 使用 Unicode Math,XeLaTeX 或 LuaLaTeX 也可以使用 Unicode Math)。

答案2

我建议您使用该mathtools包(顺便说一下,它会amsmath自动加载该包)并使用它\mathclap宏。

哦,别忘了插入一条\vphantom指令来弥补由于\smash[b]{\sqrt{...}}包装器而丢失的深度。

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools} % for \mathclap macro
\usepackage[top=1cm,bottom=1.5cm,left=2.5cm,right=1cm]{geometry}

\begin{document}

\[
\sqrt[n]{n} 
=^{(1)} \sqrt[n]{n \cdot 1^{n-1}} 
=\sqrt[n]{n \cdot \smash[b]{
   \underbrace{1\cdots 1}_{ \mathclap{\text{$n-1$ times}} }}} 
   \vphantom{\underbrace{1}_{1}}
<^{(2)} \frac{n+\overbrace{1+\dots+1}^{\text{$n-1$ times}}}{n}
=\frac{n+(n-1)}{n}=\frac{2n-1}{n}=2-\frac{1}{n}
\]

\end{document}

相关内容