分组枚举列表

分组枚举列表

我正在尝试生成一个编号列表,列表右侧带有括号,用于将列表项分组到其他类别中。我试图得到类似这样的结果:

在此处输入图片描述

我摆弄过 \mbox 和 \frame,甚至考虑过使用表格,但我必须重新开始列表编号,并且我想确保对齐是正确的。

这是可以做到的吗?

格伦

答案1

是的,这可以轻松完成\tikzmark。有了这个,你

  • enumerate按照通常方式完成列表
  • \tikzmark{<name>}
  • 使用选项访问这些\tikzmarks并根据需要绘制。\tikzpicture[overlay,remember picture]

在此处输入图片描述

笔记:

参考:

代码:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing}

\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node[baseline] (#1) {};}

\tikzset{My Node Style/.style={midway, right, xshift=3.0ex, align=left, font=\small, draw=none, thin, text=black}}

\newcommand\VerticalBrace[4][]{%
    % #1 = draw options
    % #2 = top mark
    % #2 = bottom mark
    % #4 = label
\begin{tikzpicture}[overlay,remember picture]
  \draw[decorate,decoration={brace, amplitude=1.5ex}, #1] 
    ([yshift=1ex]#2.north east)  -- ([yshift=-1ex]#3.south east)
        node[My Node Style] {#4};
\end{tikzpicture}
}

\begin{document}
\begin{enumerate}
\item Item 1\tikzmark{top 1}
\item Item 2\tikzmark{bottom 1}
\item Item 3\tikzmark{top 2}
\item Item 4
\item Item 5
\item Item 6\tikzmark{bottom 2}
\end{enumerate}

\VerticalBrace[ultra thick, blue]{top 1}{bottom 1}{The first two items}
\VerticalBrace[ultra thick, blue]{top 2}{bottom 2}{The last four items}
\end{document}

答案2

这个例子使用了tikzmark针对这个网站上提出的问题而开发的库,Peter Grill 在他的回答中链接到了这些问题:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{tikzmark,calc,decorations.pathreplacing}

\begin{document}

\begin{tikzpicture}[remember picture, overlay]
  \node (rightenum) at (.15\textwidth,0) {};
  \draw [decorate, decoration={brace}, thick] ($({pic cs:top1} -| rightenum) + (0, 1em)$) -- ({pic cs:bot1} -| rightenum) node [midway, right] {first two items};
  \draw [decorate, decoration={brace}, ultra thick] ($({pic cs:top2} -| rightenum) + (0, 1em)$) -- ({pic cs:bot2} -| rightenum) node [midway, right] {last four items};
\end{tikzpicture}

\begin{enumerate}
    \item\tikzmark{top1} first
    \item\tikzmark{bot1} second
    \item\tikzmark{top2} third
    \item fourth
    \item fifth
    \item\tikzmark{bot2} sixth
\end{enumerate}

\end{document}

带枚举的花括号

相关内容