我正在写一份简短的文档,列出一些按时间顺序排列的事件。我想用大括号选出一个时期。这是一个快速模型:
最好的方法是什么?我可以以声明方式设置大小吗-即从 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}