![对齐下部和上部牙套](https://linux22.com/image/479134/%E5%AF%B9%E9%BD%90%E4%B8%8B%E9%83%A8%E5%92%8C%E4%B8%8A%E9%83%A8%E7%89%99%E5%A5%97.png)
我有一个“简单”的表示,由以下 MWE 给出
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\underbrace{\ldots%
\overbrace{\text{ turning }}^{p(w_{t-2}|w_t)}%
\overbrace{\text{ into }}^{p(w_{t-1}|w_t)}}_{\text{output context words - m-word window}}%
\underbrace{\text{ banking }}_{\text{position }t}%
\underbrace{\overbrace{\text{ crises }}^{p(w_{t+1}|w_t)}%
\overbrace{\text{ as }}^{p(w_{t+2}|w_t)}%
\ldots}_{\text{output context words - m-word window}}
\end{equation*}
\end{document}
第三个\underbrace
似乎与内容的其他部分不一致,我看不出其中的原因。
另外,有没有办法在文本中添加新行output context words - m-word window
?插入\n
谎言-
?
答案1
第三个下括号排版在较高的位置,因为其上方的文本没有带降部的字母(如前两个中的“g”)。我插入了 a\vphantom{gh}
和 anh
以便对齐\overbrace
s。对于下括号下的两行描述,您可以使用\substack
宏(也来自amsmath
):
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\underbrace{\ldots%
\overbrace{\text{ turning }}^{p(w_{t-2}|w_t)}%
\overbrace{\text{ into }}^{p(w_{t-1}|w_t)}}_{\substack{\text{output context words}\\\text{m-word window}}}%
\underbrace{\text{ banking }}_{\text{position }t}%
\underbrace{\overbrace{\text{ crises }}^{p(w_{t+1}|w_t)}%
\overbrace{\text{ as\vphantom{gh} }}^{p(w_{t+2}|w_t)}%
\ldots}_{\substack{\text{output context words}\\\text{m-word window}}}
\end{equation*}
\end{document}
答案2
“turning into” 和 “banking” 都有一个降部,即“g”,即字符的某些部分低于基线。但是,“crises as” 没有;这解释了您看到的行为。
您可以\strut
在文本中使用命令来在使用它的位置强制最小高度和深度。它是一个宽度为零的不可见框,这样当两个支柱相互叠放时,它们的参考点正好相隔一个标准基线。1
是解决您示例中的问题的建议(前两个支柱不是必要的这里,但宏观可以系统地放置它们:在这种情况下它们只能提供帮助,而不会造成伤害)。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\underbrace{\ldots%
\overbrace{\text{ \strut turning }}^{p(w_{t-2}|w_t)}%
\overbrace{\text{ into }}^{p(w_{t-1}|w_t)}}_{\text{output context words - m-word window}}%
\underbrace{\text{ \strut banking }}_{\text{position }t}%
\underbrace{\overbrace{\text{ \strut crises }}^{p(w_{t+1}|w_t)}%
\overbrace{\text{ as }}^{p(w_{t+2}|w_t)}%
\ldots}_{\text{output context words - m-word window}}
\end{equation*}
\end{document}
如果您还将支柱添加到“into”和“as”,这还会将顶部支架置于与其他顶部支架相同的高度:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\underbrace{\ldots%
\overbrace{\text{ \strut turning }}^{p(w_{t-2}|w_t)}%
\overbrace{\text{ \strut into }}^{p(w_{t-1}|w_t)}}_{\text{output context words - m-word window}}%
\underbrace{\text{ \strut banking }}_{\text{position }t}%
\underbrace{\overbrace{\text{ \strut crises }}^{p(w_{t+1}|w_t)}%
\overbrace{\text{ \strut as }}^{p(w_{t+2}|w_t)}%
\ldots}_{\text{output context words - m-word window}}
\end{equation*}
\end{document}
脚注
\strutbox
在 LaTeX 中定义为\hbox
包含宽度、高度和深度\vrule
为零的 (TeX 垂直规则)的宏。在数学模式下,宏只是将 复制到正在构建的数学列表中。在其他模式下,它用于(1) 如果尚未处于此模式,则切换到水平模式,以及 (2) 复制0.7\baselineskip
0.3\baselineskip
\strut
\strutbox
\unhcopy
内容\hbox
(即)添加\vrule
到当前水平列表。