这:
\documentclass{minimal}
\begin{document}
$\left( 1 \right)$
$\left( \underbrace{1}_{456} \right)$
\end{document}
生成:
这非常丑陋。人们可以想象会发生几种不同的情况:
- 在调整括号大小时,下括号会被完全忽略(但当然,它会计入下一行文本的间距)。
- 下括号 + 实际线完全填满括号,即它们的中心位于无下括号括号和线的中心之下。
- 括号只是部分考虑了下括号。
我假设第一个是最简单的,那么 - 我该如何实现呢?也许使用幻影?
此外,如果您有其他处理这种情况的选择/习语,我们将不胜感激。
笔记:这道题是关于一个简单的情况,即括号内的全部内容都被一个下括号覆盖。
答案1
如果必须在\left
和之间对整个子公式进行支撑\right
:
\documentclass{article}
\usepackage{amsmath}
\newcommand\parensunderbrace[2]{%
\vphantom{\underbrace{#1}_{#2}}%
\left(%
\vphantom{#1}%
\,\smash{\underbrace{#1}_{#2}}\,%
\right)%
}
\makeatletter
\newcommand{\slowparensunderbrace}[2]{%
\vphantom{\underbrace{#1}_{#2}}%
\mathpalette\slow@parensunderbrace{{#1}{#2}}%
}
\newcommand\slow@parensunderbrace[2]{%
\slow@@parensunderbrace#1#2%
}
\newcommand\slow@@parensunderbrace[3]{%
\left(
\sbox\z@{$\m@th#1#2$}%
\vrule height 1.1\ht\z@ depth \z@ width \z@
\,\smash{\underbrace{#2}_{#3}}\,
\right)
}
\makeatother
\begin{document}
\begin{gather*}
\parensunderbrace
{\frac{4\cos^2\theta}{4\cos^2\theta + \sin^2\theta}}
{=\;(1+3\cos^3\theta)}
\\
\slowparensunderbrace
{\frac{4\cos^2\theta}{4\cos^2\theta + \sin^2\theta}}
{=\;(1+3\cos^3\theta)}
\end{gather*}
\end{document}
随意选择。
不同的策略:
\documentclass{article}
\usepackage{amsmath}
\usepackage{lipsum}
\makeatletter
\newcommand{\parenswithub}[1]{%
\mathpalette\parens@withub{#1}%
}
\newcommand\parens@withub[2]{%
\sbox\z@{$\m@th#1#2$}%
\vphantom{\copy\z@}%
\left(
\vrule height 1.1\ht\z@ depth \z@ width \z@
\smash{#2}%
\right)
}
\makeatother
\begin{document}
\lipsum*[3]
\begin{equation*}
\parenswithub{
1+{\underbrace{\frac{4\cos^2\theta}{4\cos^2\theta + \sin^2\theta}}_{=\;(1+3\cos^3\theta)}}+2
}
\end{equation*}
\lipsum[4]
\end{document}
周围的附加括号\underbrace{...}_{...}
是总是有必要确保间距正确。
以下是您获得的
\[
\Biggl(
1+{\underbrace{\frac{4\cos^2\theta}{4\cos^2\theta + \sin^2\theta}}_{=\;(1+3\cos^3\theta)}}+2
\Biggr)
\]
更简单,更高效。