答案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
可能不需要更正。
上述代码中的一个主要假设是使用非段落文本作为“选项”文本。