16

私はいくつかのラテックスビーマースライドを作成しています(しかし、それ自体はビーマー固有の質問ではないと思います)。

私は次のものを持っています:

\begin{itemize}
\item Issue1
\item Issue2
\item Issue3
\end{itemize}

ここで、issue1とissue2に広がるアイテムの後ろに右中括弧(つまり「}」)を付けたいと思います。そしてもちろん、私はその中括弧の後ろに何かを書きたいです。

完璧な世界では、私は次のようなものを書きます。

\begin{itemize}
\left .
\item Issue1
\item Issue2
\right \} One and Two are cool
\item Issue3
\end{itemize}

私は数学環境にいないため、これは機能しません。また、その場合、itemizeが機能しないため、スニペット全体を数学環境内に配置することはできません。

私の望む結果を生み出すためのクリーンな解決策やハックはありますか?

よろしく、バスティアン。

4

6 に答える 6

20

tikzオーバーレイを使用して作成します。

tikz最初に適切なパッケージを含めます(これはビーマーの質問であるため、含める必要がない場合があります)。

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

次に、リストを作成するときに、各アイテムの後の場所に名前を付けます。

\begin{itemize}
    \item Issue 1     
        \tikz[remember picture] \node[coordinate,yshift=0.5em] (n1) {}; 
    \item Issue 2
        \tikz[remember picture] \node[coordinate] (n2) {};
    \item Issue 3
\end{itemize}

注:値を1行の1/2だけ上にシフトしたyので、もっと良いかもしれません。)

使用したのでremember picture、オーバーレイでこれらの場所を参照できます。

  \begin{tikzpicture}[overlay,remember picture]
      \path (n2) -| node[coordinate] (n3) {} (n1);
      \draw[thick,decorate,decoration={brace,amplitude=3pt}]
            (n1) -- (n3) node[midway, right=4pt] {One and two are cool};
  \end{tikzpicture}

同じ幅を持たないアイテムを処理するためのパスがあります。この編集はESultanikの答えから来ています。

結果は次のとおりです。

代替テキスト

補足:すべてのオプションを削除しremember picture、以下を追加して、すべての画像に記憶を自動的に追加できます。

\tikzstyle{every picture}+=[remember picture]
于 2010-05-05T18:39:38.860 に答える
11

代わりにテーブルを(乱用)使用できます:

\documentclass{article}
\usepackage{multirow}

\begin{document}

\begin{tabular}{ll}

\textbullet Issue 1 & \multirow{2}{*}{{\LARGE \}} One and Two are cool} \\
\textbullet Issue 2                                                     \\
\textbullet Issue 3                                                     \\

\end{tabular}

\end{document}

生成:

死んだImageshackリンクを削除しました

于 2010-05-05T12:36:50.657 に答える
6

これは、いくつかの小さな適応を備えたGeoffsコードです(他のビーマーユーザー向け)

\begin{frame}{Example}

\begin{itemize}
\item The long Issue 1
\tikz[remember picture] \node[coordinate,yshift=0.7em] (n1) {}; \\
spanning 2 lines


\item Issue 2
  \tikz[remember picture] \node[coordinate, xshift=1.597cm] (n2) {};
\item Issue 3

\end{itemize}

\visible<2->{
\begin{tikzpicture}[overlay,remember picture]
  \draw[thick,decorate,decoration={brace,amplitude=5pt}]
        (n1) -- (n2) node[midway, right=4pt] {One and two are cool};
\end{tikzpicture}
 } % end visible

\end{frame}

結果(そのフレームの2番目のスライド):

ビーマーの結果

適応は次のとおりです。

  • 表示コマンドを追加しました(後で中括弧をブレンドすると便利だと思うため)
  • アイテムをより複雑にしたため、xshiftの使用が必要になりました(xshiftの値は、試行錯誤するだけでわかりました。苦味が低下します)編集2018-12-23:手動の試行錯誤シフトは、この方法:(n1 -| n2) -- (n2)の代わりに(n1) -- (n2)
于 2010-05-05T19:17:08.020 に答える
3

これを回避する1つの方法は、alignなどの数学環境を使用し、箇条書きを手作業で(\ bulletを使用して)配置してから、数学環境のリソースを中かっこなどに使用することです。

于 2010-05-05T12:17:42.897 に答える
0

私は一度似たようなことをしました。リストを左側の列に配置し、右側の列で、何か(または同様のもので決定した)と同じ$\right\}$高さになるように-thingを実行しました。残念ながら、私はそれを掘り下げる時間がありません...私は実際に今SOにいる時間がまったくありません;)\mbox\vphantom

于 2010-05-05T14:07:14.947 に答える
0

私は以下の私の考えを試しました。それは機能しません:残念ながら、itemize環境によって生成されたvboxはすべて幅があり\textwidthます。

私の提案のUIは素晴らしく、再定義\itemすることで、アイテムのvboxを適切な幅にすることができるはずです。または、アイテムを含むvboxの適切な幅を計算します。しかし、すでに機能的なソリューションがあるので、これ以上の時間を費やすことはありません。

\ documentclass {article}

\ def \ setgrouptext#1 {\ gdef \ grouptext {#1}}
\ newenvironment {groupeditems} {\ begin {displaymath}\left。\vbox\ bgroup \ setgrouptext} {%
  \ egroup \ right \ rbrace \ hbox {\ grouptext} \ end {displaymath}}

\ begin {document}

\ begin {itemize}
\item1行目
\ begin {groupeditems} {2行目と3行目を一緒に!}
\item2行目
\item3行目
\ end {groupeditems}
\item4行目
\ end {itemize}

\ end {document}
于 2010-05-06T09:09:40.147 に答える