在正文旁边添加大括号

在正文旁边添加大括号

我正在写一份简短的文档,列出一些按时间顺序排列的事件。我想用大括号选出一个时期。这是一个快速模型:

替代文本

最好的方法是什么?我可以以声明方式设置大小吗-即从 A 行到 B 行-以某种方式?

答案1

我建议 Giel 的答案可以改成tabular

$\left.\begin{tabular}{l}
line \\
one more line
\end{tabular}\right\}$

(或者{tabular}{p{5cm}}如果您需要的不是几行短线而是表格内的一段话)。

答案2

由于这是的最初版本之一,因此也是最明显的版本\tikzmark,我认为使用该库将其更新为答案是一个好主意\tikzmark

\documentclass{article}
%\url{https://tex.stackexchange.com/a/1570/86}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing,calc,tikzmark}

\begin{document}

\hfill\tikzmark{right}
\begin{itemize}
\item First line
\item Second line \tikzmark{2nd}
\item Third line, which is quite long and seemingly tedious in the extreme
\item Fourth line, which isn't as long as the third \tikzmark{4th}
\item Fifth line
\end{itemize}

\begin{tikzpicture}[overlay, remember picture]
\node[anchor=base] (a) at (pic cs:2nd) {\vphantom{h}}; % push the mark to the top of the line (ie including ascenders)
\node[anchor=base] (b) at (pic cs:4th) {\vphantom{g}}; % push the mark to the bottom of the line (ie including descenders)
\draw [decoration={brace,amplitude=0.5em},decorate,ultra thick,gray]
 (a.north -| {pic cs:right}) -- (b.south -| {pic cs:right});
\end{tikzpicture}
\end{document}

文本旁边的括号


原始答案

ID严重地建议使用 tikz。以下是 Caramdir 的(优秀)解决方案的替代方案:

\documentclass{article}

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

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

\begin{document}

\hfill\tikzmark{right}
\begin{itemize}
\item First line
\item Second line \tikzmark{2nd}
\item Third line, which is quite long and seemingly tedious in the extreme
\item Fourth line, which isn't as long as the third \tikzmark{4th}
\item Fifth line
\end{itemize}

\begin{tikzpicture}[overlay, remember picture]
\draw [decoration={brace,amplitude=0.5em},decorate,ultra thick,gray]
 ($(right)!(2nd.north)!($(right)-(0,1)$)$) --  ($(right)!(4th.south)!($(right)-(0,1)$)$);
\end{tikzpicture}
\end{document}

我喜欢这个的一点是它不会弄乱实际数据的输入方式,装饰几乎是事后才添加的,这(对我而言)更符合你想要做的事情的感觉。

不太好的是水平放置括号。因为我不知道你如何排版数据,也不知道数据是什么类型,所以我只是把括号推到了右侧。如果你​​的数据更有条理,如图所示,那么让它出现在正确的位置会很容易。(事实上,从实验来看,我会说,如果你的数据不是结构很好 - 我的意思是线条应该有相似的宽度 - 那么右侧的括号看起来不太好,因为不容易看清它到底包含或排除了哪些行。)

答案3

一个更简单的解决方案:

\documentclass{article}
\usepackage{lipsum}
\usepackage{schemata}
\begin{document}
\lipsum[1]
\schema[close]{\lipsum[2]}{}
\lipsum[3]
\end{document}

平均能量损失

答案4

在数学模式中,你可以使用一些技巧,比如将矩阵放在 的左边\right},例如:

\documentclass{article}

\begin{document}

\begin{displaymath}
    \left. \begin{array}{cc}
        - & - \\
        - & - \\
        - & -
    \end{array} \right\}
\end{displaymath}

\end{document}

相关内容