反向花括号

反向花括号

是否可以将屏幕截图中三个居中的非编号项目转换为列表中包含的编号项目,并替换右侧的花括号?我用过,\begin{cases}但我不知道如何精确实现我想要的!这是屏幕截图。

在此处输入图片描述

以下是我的 MWE 的一部分:

\begin{enumerate}[nolistsep]
\item[15.]
$$
\begin{cases}
\text{ Before Sunrise (1995)} \\
\text{ Before Sunset (2004)}\\
\text{ Before Midnight (2013)}
\end{cases}
$$
\end{enumerate}.

答案1

由于您要支撑的项目数量为奇数,因此请将构造作为内联数学等式放在中间,从而为上方和下方\item留出空间:\item

在此处输入图片描述

\documentclass{article}

\usepackage{enumitem}

\begin{document}

\begin{enumerate}[nolistsep,start=14]
  \item X
  \item
  \item
    \leavevmode\smash{$\left.\kern-\nulldelimiterspace\begin{tabular}{@{}l}
      Before Sunrise (1995) \\
      Before Sunset (2004) \\
      Before Midnight (2013)
    \end{tabular}\right\}$}
  \item
  \item Y
\end{enumerate}

\end{document}

\smash该结构消除了因其高度而导致的任何垂直调整。

您还可以将右括号作为 3- \strutted插入tabular为中间的一部分\item

\begin{enumerate}[nolistsep,start=14]
  \item X
  \item Before Sunrise (1995)
  \item Before Sunset (2004) \quad
    \smash{$\left.\kern-\nulldelimiterspace\begin{tabular}{@{}l}
      \strut \\ \strut \\ \strut
    \end{tabular}\right\}$}
  \item Before Midnight (2013)
  \item Y
\end{enumerate}

如果您有偶数个项目,则可以将右括号升高(或降低)到位:

在此处输入图片描述

\documentclass{article}

\usepackage{enumitem}

\begin{document}

\begin{enumerate}[nolistsep,start=14]
  \item X
  \item Before Sunrise (1995)
  \item Before Sunset (2004)
  \item Before Midnight (2013)
  \item Before Noon (2018) \quad
    \raisebox{1.5\baselineskip}[0pt][0pt]{$\left.\kern-\nulldelimiterspace\begin{tabular}{@{}l}
      \strut \\ \strut \\ \strut \\ \strut
    \end{tabular}\right\}$}
  \item Y
\end{enumerate}

\end{document}

请注意,列表允许其项目跨越页面边界。因此,如果选择后一种选项,即括号被\smash提升或升高/降低到位,则应注意确保项目与括号保持一致。

答案2

我建议仿真基于:enumerateblkarray

\documentclass[12pt, a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage[showframe]{geometry}%
\usepackage{array, blkarray, bigstrut}

\newcounter{tabenum}
\newcommand{\tabitem}{\refstepcounter{tabenum}\makebox[\labelwidth][r]{\thetabenum.}\hspace{\labelsep}}

\begin{document}

\setlength\BAextrarowheight{4pt}
\setcounter{tabenum}{14}
\noindent\begin{blockarray}{@{}l}
\tabitem Annie Hall (1977) \\
\begin{block}{@{}l<{\,}\}}
  \tabitem Before Sunrise (1995) \\
  \tabitem Before Sunset (2004) \\
  \tabitem Before Midnight (2013) \bigstrut[b]\\
\end{block}
\tabitem Begin Again (2013)%
\end{blockarray} %

\end{document}

在此处输入图片描述

答案3

使用[resume*]选项可以将 分成enumerate几部分。由于enumerate填充了文本区域的整个宽度,因此您需要将其放在 内minipage,然后猜测或计算其宽度。要计算,请将最宽项目的宽度添加到\leftmargin(必须从 内全局保存enumerate)。

如果您只是将 放在minipage里面$\left. ... \right\rbrace$,文本将被稍微推到右侧。使用savebox和 支柱测量高度更容易。

最终结果更加复杂,但至少您不必担心匹配垂直间距(小页面的顶部和底部除外)。

\documentclass{article}
\usepackage{enumitem}
\newsavebox{\tempbox}
\newlength{\tempwidth}
\begin{document}

\begin{enumerate}[nolistsep,start=14]
\item X
\global\tempwidth=\leftmargin
\end{enumerate}
\settowidth{\dimen1}{Before Midnight (2013)}% widest item
\addtolength{\tempwidth}{\dimen1}%
\savebox{\tempbox}{\begin{minipage}[c]{\tempwidth}
\begin{enumerate}[resume*]
\item Before Sunrise (1995)
\item Before Sunset (2004)
\item Before Midnight (2013)
\end{enumerate}
\end{minipage}}%
\vspace{2pt}% fudged
\usebox{\tempbox}$\left.\rule{0pt}{\ht\tempbox}\right\rbrace$
\begin{enumerate}[resume*]
\item Y
\end{enumerate}
\end{document}

演示


再想想,只需使用 Tikz 中的括号装饰即可。

\documentclass{article}
\usepackage{enumitem}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}

\begin{enumerate}[nolistsep,start=14]
\item X
\item Before Sunrise (1995)
      \tikz[remember picture,overlay]{\coordinate (A) at (0pt,.6\baselineskip);}
\item Before Sunset (2004)
\item Before Midnight (2013)
      \begin{tikzpicture}[remember picture,overlay,decoration=brace]
        \coordinate (B) at (0pt,-.3\baselineskip);
        \coordinate (AB) at (A-|B);% when A left of B
        \draw[decorate,thick] (AB) -- (B);
      \end{tikzpicture}
\item Y
\end{enumerate}

\end{document}

tikz 装饰

相关内容