我有以下相当大的方程。
\begin{alignat*}{16}
1 &= &&b_m && &c_n + &b_m && &c_{n-1} &&R_L + &b_m && &c_{n-2} &R_L^2 + &\cdots + &b_m && &&c_1 &R_L^{n-1} \\
&+ &&b_{m-1} &&R_S^1 &c_n + &b_{m-1} &&R_S^1 &c_{n-1} &&R_L + &b_{m-1} &&R_S^1 &c_{n-2} &R_L^2 + &\cdots + &b_{m-1} &&R_S^1 &&c_1 &R_L^{n-1} \\
&+ &&b_{m-2} &&R_S^2 &c_n + &b_{m-2} &&R_S^2 &c_{n-1} &&R_L + &b_{m-2} &&R_S^2 &c_{n-2} &R_L^2 + &\cdots + &b_{m-2} &&R_S^2 &&c_1 &R_L^{n-1} \\
& && && & & && & && & \vdots \\
&+ &&b_1 &&R_S^{m-1} &c_n + &b_1 &&R_S^{m-1} &c_{n-1} &&R_L + &b_1 &&R_S^{m-1} &c_{n-2} &R_L^2 + &\cdots + &b_1 &&R_S^{m-1} &&c_1 &R_L^{n-1}
\end{alignat*}
我想使用上括号和下括号来分解事物,例如使用:
&+ &&b_1 &&R_S^{m-1} &c_n + &b_1 &&R_S^{m-1} &c_{n-1} &&R_L + &b_1 &&R_S^{m-1} &c_{n-2} &R_L^2 + &\cdots + \underbrace{&b_1 &&R_S^{m-1} &&c_1 &R_L^{n-1}}_{Explanation}
然而,对齐环境似乎不喜欢这样;也许是因为对齐符号被藏在了下括号调用里面。
是否可以同时对齐和过度/不足支撑我的方程式?
答案1
这是一个使用的解决方案array
包。这并不理想,因为您必须指定括号应该跨越的宽度。有一种方法可以使用 来跨越列\extracolsep{\fill}
,但我不知道将其放在哪里以便\hphantom
跨越整个列。但希望这能让您开始:
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\newcolumntype{L}{l@{}}%
\begin{document}
\newcommand*{\WidthToSpan}{{R_L^2}{+}{\cdots +}b_{m-2} R_S^{m-1} c_1 R_L^{n-1}}%
\[
\begin{array}{LLLLLLLLLLLLLLLLLL}
1 &= &b_m & &c_n + &b_m & &c_{n-1} &R_L + &b_m & &c_{n-2} &R_L^2 + &\cdots + &b_m & &c_1 &R_L^{n-1} \\
&+ &b_{m-1} &R_S^1 &c_n + &b_{m-1} &R_S^1 &c_{n-1} &R_L + &b_{m-1} &R_S^1 &c_{n-2} &R_L^2 + &\cdots + &b_{m-1} &R_S^1 &c_1 &R_L^{n-1} \\
&+ &b_{m-2} &R_S^2 &c_n + &b_{m-2} &R_S^2 &c_{n-1} &R_L + &b_{m-2} &R_S^2 &c_{n-2} &R_L^2 + &\cdots + &b_{m-2} &R_S^2 &c_1 &R_L^{n-1} \\
& & & & & & & & & \vdots \\
&+ &b_1 &R_S^{m-1} &c_n + &b_1 &R_S^{m-1} &c_{n-1} &R_L + &b_1 &R_S^{m-1} &c_{n-2} &R_L^2 + &\cdots + &b_1 &R_S^{m-1} &c_1 &R_L^{n-1}\\
& & & & & & & & & & & & \multicolumn{6}{@{}c}{\underbrace{\hphantom{\WidthToSpan}}_{\text{Explanation}}}
\end{array}
\]
\end{document}
答案2
难以置信这竟然没有tikz
解决方案。我在这里改编了以下解决方案花括号用于在等式中插入内容?例如倒置的下括号。
这用于\tikzmark{}
标记括号的起点和终点:
... &\tikzmark{StartBrace}R_L^2 + &\cdots + &b_1 &R_S^{m-1} &c_1 &R_L^{n-1}\tikzmark{EndBrace}
StartBrace
此处和端点使用的名称EndBrace
是任意的,因此,如果需要多个括号,您可以选择不同的名称。然后,在数组完成后,您将传递这两个名称以及所需的任何可选样式更改,以及要放置在括号下的文本:
\InsertUnderBrace[draw=red,text=blue]{StartBrace}{EndBrace}{Explanation}
得出:
笔记:
- 这确实需要两次运行。第一次确定位置,第二次进行绘图。
- 提供的代码片段中二元运算符周围的数学间距不正确。我也调整了这些间距,同时保持了您想要的对齐方式。
参考:
- 该支架改编自在正文旁边添加一个大括号
代码:
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{decorations.pathreplacing}
\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}
\newcommand*{\BraceAmplitude}{0.5em}% Can be tweaked if
\newcommand*{\VerticalOffset}{0.5ex}% necessary.
\newcommand*{\InsertUnderBrace}[4][]{%
\begin{tikzpicture}[overlay,remember picture]
\draw [decoration={brace,amplitude=\BraceAmplitude},decorate, thick,draw=blue,text=black,#1]
($(#3)+(0,-\VerticalOffset)$) --
($(#2)+(0,-\VerticalOffset)$)
node [below=\VerticalOffset, midway] {#4};
\end{tikzpicture}%
}%
\begin{document}
\begin{alignat*}{16}
1 &= b_m && &&c_n + b_m && &&c_{n-1} R_L + b_m && &c_{n-2} &R_L^2 + \cdots + b_m && &&c_1 &R_L^{n-1} \\
&+ b_{m-1} &&R_S^1 &&c_n + b_{m-1} &&R_S^1 &&c_{n-1} R_L + b_{m-1} &&R_S^1 &c_{n-2} &R_L^2 + \cdots + b_{m-1} &&R_S^1 &&c_1 &R_L^{n-1} \\
&+ b_{m-2} &&R_S^2 &&c_n + b_{m-2} &&R_S^2 &&c_{n-1} R_L + b_{m-2} &&R_S^2 &c_{n-2} &R_L^2 + \cdots + b_{m-2} &&R_S^2 &&c_1 &R_L^{n-1} \\
& && && && && \vdots \\
&+ b_1 &&R_S^{m-1} &&c_n + b_1 &&R_S^{m-1} &&c_{n-1} R_L + b_1 &&R_S^{m-1} &c_{n-2} &\tikzmark{StartBrace}R_L^2 + \cdots + b_1 &&R_S^{m-1} &&c_1 &R_L^{n-1}\tikzmark{EndBrace}
\end{alignat*}
\InsertUnderBrace[draw=red,text=blue]{StartBrace}{EndBrace}{Explanation}
\end{document}
答案3
Richard:以下代码有三组方程。第一组基本上是使用alignat
结构的表达式集,但使用{}+{}
项而不是简单+
项来帮助 TeX 找到更好的水平间距(通过将加号视为 rel 运算符)。第二个结构复制了第一个结构,但使用环境align*
;请注意使用\phantoms
(在序言中定义)来强制正确的列对齐。然后,第三个结构演示了如何使用\overbrace
命令向组中的 $n$ 个组添加注释align
。
\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath}
\newcommand{\pa}{\phantom{{}-1}}
\newcommand{\pb}{\phantom{R_S^{1-1}}}
\newcommand{\pc}{\phantom{.-1}}
\newcommand{\pp}{\phantom{{}+{}}}
\newcommand{\pq}{\phantom{{}+}}
\begin{document}
\begin{alignat*}{16}
1 =& &&b_m && &c_n {}+{} &b_m && &c_{n-1} &&R_L {}+{} &b_m && &c_{n-2} &R_L^2 {}+{} &\dots {}+{} &b_m && &&c_1 &R_L^{n-1} \\
&{}+{} &&b_{m-1} &&R_S^1 &c_n {}+{} &b_{m-1} &&R_S^1 &c_{n-1} &&R_L {}+{} &b_{m-1} &&R_S^1 &c_{n-2} &R_L^2 {}+{} &\dots {}+{} &b_{m-1} &&R_S^1 &&c_1 &R_L^{n-1} \\
&{}+{} &&b_{m-2} &&R_S^2 &c_n {}+{} &b_{m-2} &&R_S^2 &c_{n-1} &&R_L {}+{} &b_{m-2} &&R_S^2 &c_{n-2} &R_L^2 {}+{} &\dots {}+{} &b_{m-2} &&R_S^2 &&c_1 &R_L^{n-1} \\
& \phantom{c}\vdots \\
&{}+{} &&b_1 &&R_S^{m-1} &c_n {}+{} &b_1 &&R_S^{m-1} &c_{n-1} &&R_L {}+{} &b_1 &&R_S^{m-1} &c_{n-2} &R_L^2 {}+{} &\dots {}+{} &b_1 &&R_S^{m-1} &&c_1 &R_L^{n-1}
\end{alignat*}
\begin{align*}
1 = &\pp b_{m\pc}\pb c_n + b_{m\pc}\pb c_{n-1} R_L + b_{m\pc}\pb c_{n-2} R_L^2 + \dots + b_{m\pc}\pb c_1 R_L^{n-1} \\
&+ b_{m-1} R_S^{1\pc}c_n + b_{m-1} R_S^{1\pc}c_{n-1} R_L + b_{m-1} R_S^{1\pc} c_{n-2} R_L^2 + \dots + b_{m-1} R_S^{1\pc} c_1 R_L^{n-1} \\
&+ b_{m-2} R_S^{2\pc}c_n + b_{m-2} R_S^{2\pc}c_{n-1} R_L + b_{m-2} R_S^{2\pc} c_{n-2} R_L^2 + \dots + b_{m-2} R_S^{2\pc} c_1 R_L^{n-1} \\
&\pp\vdots \\
&+ b_{1\pc}R_S^{m-1} c_n + b_{1\pc}R_S^{m-1\phantom{.}} c_{n-1} R_L + b_{1\pc}R_S^{m-1} c_{n-2} R_L^2 + \dots + b_{1\pc}R_S^{m-1} c_1 R_L^{n-1}
\end{align*}
\begin{align*}
1 = &\pq \overbrace{b_{m\pc}\pb c_n}^{\text{First Group}} {}+ \overbrace{b_{m\pc}\pb c_{n-1} R_L}^{\text{Second Group}} {}+ \overbrace{b_{m\pc}\pb c_{n-2} R_L^2}^{\text{Third Group}} {}+ \dots + \overbrace{b_{m\pc}\pb c_1 R_L^{n-1}}^{\text{$n$-th Group}} \\[1ex]
&+ b_{m-1} R_S^{1\pc}c_n + b_{m-1} R_S^{1\pc}c_{n-1} R_L + b_{m-1} R_S^{1\pc} c_{n-2} R_L^2 + \dots + b_{m-1} R_S^{1\pc} c_1 R_L^{n-1} \\[2ex]
&+ b_{m-2} R_S^{2\pc}c_n + b_{m-2} R_S^{2\pc}c_{n-1} R_L + b_{m-2} R_S^{2\pc} c_{n-2} R_L^2 + \dots + b_{m-2} R_S^{2\pc} c_1 R_L^{n-1} \\
&\pp\vdots \\[2ex]
&+ b_{1\pc}R_S^{m-1} c_n + b_{1\pc}R_S^{m-1\phantom{.}} c_{n-1} R_L + b_{1\pc}R_S^{m-1} c_{n-2} R_L^2 + \dots + b_{1\pc}R_S^{m-1} c_1 R_L^{n-1}
\end{align*}
\end{document}