答案1
這圖式包旨在處理此類簡單和複雜的模式。如果您不使用數學內容,這種方法的一個優點是它主要是為排版文字模式而設計的。 (儘管毫無疑問,如果您願意,您可以將其與數學內容一起使用。)
例如:
\documentclass{article}
\usepackage{schemata}
\begin{document}
\schema{%
\schemabox{Main}%
}{%
\schema{%
\schemabox{Option A}%
}{%
\schemabox{%
Option AA\\
Option AB%
}%
}%
\schema{%
\schemabox{Option B}%
}{%
\schemabox{%
Option BA\\
Option BB%
}%
}%
}
\end{document}
編輯
如果您的架構非常簡單,您也可以將其繪製為樹:
\documentclass[tikz,border=10pt]{standalone}
\usepackage{forest}
\usetikzlibrary{decorations.pathreplacing}
\forestset{
forest scheme/.style={
for tree={
grow'=0,
anchor=west,
align=left,
if n=1{%
edge path={
\noexpand\path [\forestoption{edge}] (!ul.south west) -- (!u1.north west)\forestoption{edge label};
}
}{no edge},
edge={decorate, decoration={brace}},
},
}
}
\begin{document}
\begin{forest}
forest scheme
[Main
[Option A
[Option AA]
[Option AB]
]
[Option B
[Option BA]
[Option BB]
]
]
\end{forest}
\end{document}
但該解決方案不如使用專業包那麼強大或靈活。
答案2
替代過程可能是使用環境amsmath cases
。
\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
$\text{main}
\begin{cases}
\text{Case a} \begin{cases} \text{case 1} \\ \text{case 2} \end{cases} \\
\text{Case B} \begin{cases} \text{case 1} \\ \text{case 2} \end{cases}
\end{cases}$
\end{document}
產生以下範例:
答案3
以下可能是您的開始:
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{center}
\begin{tabular}{ m{5em} @{} m{11em} }
Main $\left\{\rule{0pt}{\dimexpr2\normalbaselineskip+.5\bigskipamount}\right.$ &
\begin{tabular}{@{}l@{}}
$\mbox{Option A }\left\{\begin{tabular}{@{~}l@{}}
Option AA \\[\bigskipamount]
Option AB
\end{tabular}\right.$\hspace{-\nulldelimiterspace} \\[\bigskipamount]
$\mbox{Option B }\left\{\begin{tabular}{@{~}l@{}}
Option BA \\[\bigskipamount]
Option BB
\end{tabular}\right.$\hspace{-\nulldelimiterspace}
\end{tabular}
\end{tabular}
\end{center}
\end{document}
我添加了一些空格作為列分隔的一部分,但可能不需要它們,這取決於您的應用程式。同樣,\nulldelimiterspace
可能不需要更正。
上述程式碼中的一個主要假設是使用非段落文字作為「選項」文字。