笔记:
请注意,我已经看到了针对该帖子提出的问题提供的解决方案:
但这并不能解决我的问题,因为我有一个变量的嵌套结构,而且我发现提供的解决方案很混乱。
问题和我的不完整的解决方案
我有一组具有层次结构的变量。我想将它们显示在带括号的项目符号列表中,以显示此层次结构。
我可以通过以下代码部分获得所需的结果
\begin{equation*}
\left.
\begin{array}{@{}l}
\left.
\begin{array}{@{}l}
\left.
\begin{array}{@{}l }
\text{Variable A}\\
\text{Variable B}
\end{array}\right\} \text{Level 1}\\
\text{Variable C}\\
\text{Variable D}\\
\text{Variable E}\\
\end{array}\right\} \text{Level 2}\\
\text{Variable F}\\
\text{Variable G}\\
\text{Variable H}\\
\end{array}
\right\} \text{Level 3}
\end{equation*}
输出如下:
问题是我想要一个项目符号列表以便显示项目符号。此外,我必须在里面放置文本,\text{}
因为我正在使用数组。
是否可以通过环境实现预期结果itemize
,使得项目符号和括号也出现?
答案1
你可以用 Ti 注释列表钾Z. 使用样式可以减少不必要的重复。如果您使用包创建列表,这将继续有效enumitem
。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing,calligraphy,tikzmark,fit}
\tikzset{bracenode/.style 2 args={fit=#1,inner sep=0pt,alias=tmp,append after command={
([yshift=0.5ex]tmp.north east) edge[thick,decorate,decoration={calligraphic brace,raise=0.5ex}]
([yshift=-0.5ex]tmp.south east)
-- #2
([yshift=-0.5ex]tmp.south east)
}}}
\begin{document}
\begin{itemize}
\item \tikzmarknode{A}{Variable A}
\item \tikzmarknode{B}{Variable B}
\item Variable C
\item Variable D
\item \tikzmarknode{E}{Variable E}
\item Variable F
\item Variable G
\item \tikzmarknode{H}{Variable H}
\begin{tikzpicture}[overlay,remember picture]
\path node[bracenode={(A)(B)}{node[right=1ex](L1){Level 1}}]{}
node[bracenode={(A)(E)(L1)}{node[right=1ex](L2){Level 2}}]{}
node[bracenode={(A)(H)(L2)}{node[right=1ex](L3){Level 3}}]{};
\end{tikzpicture}
\end{itemize}
\end{document}