在 MathJax 中,我曾写过这样的代码:
\Big\| \Big( \,\underbrace{0,\ldots,0}_n, \frac 1 {n+1}, \frac 1 {n+2},
\frac 1 {n+3}, \ldots \Big) \Big\|
我使用了\Big
而不是\left
和\right|
。如果我使用了后者,分隔符将考虑下括号和下括号下标产生的垂直空间。但我希望它们的大小与没有下括号时的大小相同。在 LaTeX 和 MathJax 中是否有某种标准方法,或者两种标准方法(一种用于 LaTeX,一种用于 MathJax)可以做到这一点?
答案1
答案2
您还可以使用\smash[b]
可选参数,以防您想考虑上部的高度。我建议简化使用from引入\norm
命令的代码:它定义了一个星号版本,在分隔符前面添加了一对隐式。非星号版本接受、和之一作为可选参数,它添加了一个隐式的,&c。\DeclarePairedDelimiter
mathtools
\left ...\right
\big
\Big
\bigg
\Bigg
\bigl ... \bigr
请注意,在代码中添加一对用于分隔符的大小命令时,应始终使用一对\bigl
... \bigr
,而不是\big
... \big
,以确保适当的水平间距。
\documentclass{article}
\usepackage{mathtools}
\DeclarePairedDelimiter{\norm}\|\|
\begin{document}
\begin{gather*}
\norm*{\Bigl( \,\smash[b]{\underbrace{0,\ldots,0}_n}, \frac 1 {n+1}, \frac 1 {n+2}, \frac 1 {n+3}, \ldots \Bigr)}\\[1.5ex]
\norm[\Big]{\Bigl( \,\smash[b]{\underbrace{0,\ldots,0}_n}, \frac 1 {n+1}, \frac 1 {n+2}, \frac 1 {n+3}, \ldots \Bigr)} \\[1.5ex]
\norm[\bigg]{\Bigl( \,\smash[b]{\underbrace{0,\ldots,0}_n}, \frac 1 {n+1}, \frac 1 {n+2}, \frac 1 {n+3}, \ldots \Bigr)}
\end{gather*}
\end{document}
答案3
改进的解决方案(来自https://tex.stackexchange.com/a/503602/128042)具有正确的间距,并且在更一般的条件下有效:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathtools}
\usepackage{hyperref}
\DeclarePairedDelimiter{\norm}{\|}{\|_{\href{https://de.wikipedia.org/wiki/Euklidische_Norm\#\%E2\%84\%932-Norm}{\ell_2(\mathbb{R}^2)}}}
\begin{document}
Here could be text.
\[
\norm*{\left(2,\smash[b]{\underbrace{\frac{5}{3}}_{\mathclap{\approx 1.66666667}}} \right)}
\vphantom{\underbrace{\frac{5}{3}}_{\approx 1.66666667}}
\]
Here could be more text and this text has the correct distance to the line above, because of the vphantom outside of the delimiters.
\end{document}
\mathclap
避免水平调整分隔符。
\vphantom
避免与下一行出现不正确的间距(最坏的情况下是重叠)。
\DeclarePairedDelimiter
可以在这里找到简短的描述:轻松改变 \DeclarePairedDelimiter 的行为
详细描述\smash[b]
这里:https://tex.stackexchange.com/a/424204/128042