我試圖將大括號跨越兩行,同時在以下範例中保持對齊
在這種情況下,對齊是正確的。我想我已經快到了,任何幫助將不勝感激。
上圖是由生成的
\begin{equation}
\begin{array}[t]{ccccccccccl}
& & & & & a & a & a &a & \} & d \vspace{0.1cm} \\
\hline \vspace{-0.4cm}\\
& & & & &a & a & a &a\\
& & & & & & b & b & b& \Big\} &d\\
& & & c & c & c & c &c& c \\
\hline \vspace{-0.4cm}\\
& & & a &a & a & a & a &a\\
& & & & b &b &b & b & b & \Big\} & d\\
& c &c & c & c&c& &c& c\vspace{0.1cm} \\
\end{array}\label{eq:diagramm}
\end{equation}.
大括號應該看起來像
但這會破壞對齊方式。這次嘗試是基於這個問題
\documentclass{article}
\usepackage{amsmath,amsthm,array}% http://ctan.org/pkg/{amsmath,amsthm,array}
\newcommand{\twolinebrace}{\left.\kern-\nulldelimiterspace\begin{array}{@{}c@{}} \\\\\end{array}\right\}}
\newtheorem{theorem}{Theorem}
\begin{document}
\[
\renewcommand{\arraystretch}{1.25}
\begin{array}{@{}l@{\quad}l@{}}
\begin{array}{lllllllll}
& & & & &a & a & a &a\\ % RHS
& & & & & & b & b & b \\ % RHS
& & & &c& c& c &c& c % RHS
\end{array} & \twolinebrace\text{d} \\
\begin{array}{lllllllll}
& & & & a &a & a & a &a\\ % RHS
& & & & & b & b & b & b \\ % RHS
& & & c&c& c& c &c& c % RHS
\end{array} & \twolinebrace\text{d}
\end{array}
\]
\end{document}
答案1
您可以使用該blkarray
軟體包輕鬆做到這一點。它需要比程式碼中少兩列的內容:
\documentclass{article}
\usepackage{amsmath}
\usepackage{blkarray}%
\begin{document}
\[
\renewcommand{\arraystretch}{1.3}
\begin{blockarray}{*{9}{l}}
\begin{block}{*{8}{l}l<{\,}\Right{\}}{\,$ d $}}
& & & & &a & a & a &a \\
& & & & & & b & b & b \\
& & & &c& c& c &c& c \\
\end{block}
\begin{block}{*{8}{l}l<{\,}\Right{\}}{\,$ d $}}
& & & & a & a & a & a & a \\
& & & & & b & b & b & b \\
& & & c & c & c & c & c & c \\
\end{block}
%\end{block}
\end{blockarray}
\]
\end{document}
答案2
為了保持對齊,您只需使用一個陣列。
大括號可以被\smash
編輯,避免行散開。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\renewcommand{\arraystretch}{1.25}
\begin{array}{lllllllllll}
& & & & &a & a & a &a &&\\ % RHS
& & & & & & b & b & b & \smash{\Bigg\}} & d\\ % RHS
& & & &c& c& c &c& c \\% RHS
& & & & a &a & a & a &a &&\\ % RHS
& & & & & b & b & b & b & \smash{\Bigg\}} & d\\ % RHS
& & & c&c& c& c &c& c % RHS
\end{array}
\]
\end{document}
為了方便起見,這裡使用現有的最大尺寸 ,\Bigg
但如果需要的話可以建造一個更大的尺寸,擴大用於建造“大”柵欄的尺寸:
\def\Big#1{{\hbox{$\left#1\vbox to11.5\p@{}\right.\n@space$}}}
\def\bigg#1{{\hbox{$\left#1\vbox to14.5\p@{}\right.\n@space$}}}
\def\Bigg#1{{\hbox{$\left#1\vbox to17.5\p@{}\right.\n@space$}}}
步驟之間的差異是 3pt,因此接下來的兩個步驟將是
\def\biggg#1{{\hbox{$\left#1\vbox to20.5\p@{}\right.\n@space$}}}
\def\Biggg#1{{\hbox{$\left#1\vbox to23.5\p@{}\right.\n@space$}}}
(這些定義來自plain.tex
,並假定電腦現代字體。)
答案3
\phantom{c}
在第一個大的第三行的早期儲存格中加入 a array
,您的程式碼不需要進一步調整。
\documentclass{article}
\usepackage{amsmath,amsthm,array}% http://ctan.org/pkg/{amsmath,amsthm,array}
\newcommand{\twolinebrace}{\left.\kern-\nulldelimiterspace\begin{array}{@{}c@{}} \\\\\end{array}\right\}}
\newtheorem{theorem}{Theorem}
\begin{document}
\[
\renewcommand{\arraystretch}{1.25}
\begin{array}{@{}l@{\quad}l@{}}
\begin{array}{lllllllll}
& & & & &a & a & a &a\\ % RHS
& & & & & & b & b & b \\ % RHS
& & & \phantom{c}&c& c& c &c& c % RHS
\end{array} & \twolinebrace\text{d} \\
\begin{array}{lllllllll}
& & & & a &a & a & a &a\\ % RHS
& & & & & b & b & b & b \\ % RHS
& & & c&c& c& c &c& c % RHS
\end{array} & \twolinebrace\text{d}
\end{array}
\]
\end{document}
附錄:你的一段程式碼看起來確實可以經受一些調整,那就是巨集\twolinebrace
:因為大括號跨越三您可能想要定義(並使用)一個新的宏,而不僅僅是兩行,我將其命名為\threelinebrace
:
\newcommand{\threelinebrace}{\left.\kern-\nulldelimiterspace\begin{array}{@{}c@{} \\\\\\ \end{array}\right\}}
與 相比\twolinebrace
,新宏多了一\\
對。