我有以下等式
\begin{align*}
\hat{\boldsymbol{\eta}} = \underset{(\boldsymbol{\beta}_{1}, \ldots,
\boldsymbol{\beta}_{d}, \boldsymbol{\theta}) \in B_{1} \times
\cdots \times B_{d} \times \Theta}{\text{arg max }}
\ell(\boldsymbol{\beta}_{1}, \ldots, \boldsymbol{\beta}_{d}, \boldsymbol{\theta})
\end{align*}
导致
我希望“arg max”下的表达式位置稍微低一点,这样大的水平空间就会消失。
答案1
在下面的例子中,第一个方程重现了您现在所拥有的内容,而第二个方程实现了您所述的目标(通过将下标材料包含在指令中\mathclap
)。请注意使用来\strut
强制两行之间留出更多空白。即便如此,读者可能仍需要花比实际需要更多的时间来研究方程,才能弄清楚第二行中的材料涉及什么。
下面的第三个等式使用\substack
宏在下标材料中插入一个精心选择的换行符。IMNSHO,将下标材料分成两部分在紧凑的外观和等式的可读性之间取得了合理的平衡。
请注意,代码还定义了一个名为的专用“数学运算符” \argmax
。
\documentclass{article}
\usepackage{mathtools,bm}
\DeclareMathOperator*{\argmax}{arg\,max}
\begin{document}
\[
\hat{\bm{\eta}} = \argmax_{(\bm{\beta}_{1}, \dots,
\bm{\beta}_{d}, \bm{\theta}) \in B_{1} \times
\cdots \times B_{d} \times \Theta}
\ell(\bm{\beta}_{1}, \dots, \bm{\beta}_{d}, \bm{\theta})
\]
\bigskip
\[
\hat{\bm{\eta}} = \argmax_{\strut\mathclap{(\bm{\beta}_{1}, \dots,
\bm{\beta}_{d}, \bm{\theta}) \in B_{1} \times
\cdots \times B_{d} \times \Theta}}
\ell(\bm{\beta}_{1}, \dots, \bm{\beta}_{d}, \bm{\theta})
\]
\bigskip
\[
\hat{\bm{\eta}} = \argmax_{\substack{(\bm{\beta}_{1}, \dots,
\bm{\beta}_{d}, \bm{\theta}) \in \\ (B_{1} \times
\cdots \times B_{d} \times \Theta)}}
\ell(\bm{\beta}_{1}, \dots, \bm{\beta}_{d}, \bm{\theta})
\]
\end{document}
附录:\substack
和\mathclap
方法可以结合起来,创造出以下外观:
\documentclass{article}
\usepackage{mathtools,bm}
\DeclareMathOperator*{\argmax}{arg\,max}
\begin{document}
\[
\hat{\bm{\eta}} = \argmax_{\mathclap{\substack{
(\bm{\beta}_{1}, \dots,\bm{\beta}_{d}, \bm{\theta}) \in \\
(B_{1} \times \cdots \times B_{d} \times \Theta)}}} \,
\ell(\bm{\beta}_{1}, \dots, \bm{\beta}_{d}, \bm{\theta})
\]
\end{document}
答案2
我建议使用另一种符号:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\hat{\boldsymbol{\eta}} = \operatorname{arg\,max}\bigl\{
\ell(\boldsymbol{\beta}_{1}, \ldots, \boldsymbol{\beta}_{d},
\boldsymbol{\theta}) : (\boldsymbol{\beta}_{1}, \dots,
\boldsymbol{\beta}_{d}, \boldsymbol{\theta}) \in B_{1} \times
\cdots \times B_{d} \times \Theta \bigl\}
\end{equation*}
\end{document}
答案3
两种方式:(\mathclap
需要mathtools
包)或\stackunder
(需要stackengine
包),允许设置垂直下移距离。
\documentclass{article}
\usepackage{amsmath,stackengine,mathtools}
\stackMath
\begin{document}
\begin{align*}
\hat{\boldsymbol{\eta}} = \underset{\mathclap{(\boldsymbol{\beta}_{1}, \ldots,
\boldsymbol{\beta}_{d}, \boldsymbol{\theta}) \in B_{1} \times
\cdots \times B_{d} \times \Theta}}{\text{arg max }}
\ell(\boldsymbol{\beta}_{1}, \ldots, \boldsymbol{\beta}_{d}, \boldsymbol{\theta})
\end{align*}
\begin{align*}
\renewcommand\useanchorwidth{T}
\hat{\boldsymbol{\eta}} = \stackunder[5pt]{\text{arg max }}{
\scriptstyle(\boldsymbol{\beta}_{1}, \ldots,
\boldsymbol{\beta}_{d}, \boldsymbol{\theta}) \in B_{1} \times
\cdots \times B_{d} \times \Theta}
\ell(\boldsymbol{\beta}_{1}, \ldots, \boldsymbol{\beta}_{d}, \boldsymbol{\theta})
\end{align*}
\end{document}
答案4
第三种第四种方式:(\smashoperator
需要mathtools
包),其功能与上标和下标相同\mathclap
,但也提供了一个可选参数,以防您只想“鼓掌”一侧,例如\smashoperator[r]{..}
。
\documentclass{scrartcl}
\usepackage{mathtools,amssymb}
\DeclareMathOperator*{\argmax}{arg\,max}
\begin{document}
\begin{align*}
\hat{\boldsymbol{\eta}} = \smashoperator{\argmax_{(\boldsymbol{\beta}_{1}, \ldots,
\boldsymbol{\beta}_{d}, \boldsymbol{\theta}) \in B_{1} \times
\cdots \times B_{d} \times \Theta}}
\ell(\boldsymbol{\beta}_{1}, \ldots, \boldsymbol{\beta}_{d}, \boldsymbol{\theta})
\end{align*}
\end{document}
无论如何,我都会手动添加一些空格,例如\quad \smashoperator{..} \quad
。或者甚至是普通文本,而不是下标。