Frage

Ich bin etwas Latex Beamer Dias produzieren (aber ich denke, es ist nicht ein Beamer spezifische Frage per se).

Ich habe folgende:

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

Nun möchte ich eine geschweifte Klammer haben (d ‚}‘) hinter den Elementen die sich über Issue1 und issue2. Und natürlich möchte ich etwas schreiben, hinter der geschweiften Klammer.

In einer perfekten Welt würde ich schreiben so etwas wie:

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

Das funktioniert nicht, weil ich nicht in einer Mathe-Umgebung bin, und ich kann nicht den ganzen Code-Schnipsel in einer Mathe-Umgebung setzen, weil itemize nicht funktionieren würde in diesem Fall.

Gibt es eine saubere Lösung oder ein Hack mein gewünschtes Ergebnis zu erzielen?

Viele Grüße, Bastian.

War es hilfreich?

Lösung

würde ich tikz verwenden und ein Overlay machen.

Zuerst ist die richtigen Pakete (nicht tikz enthalten müssen, da dies eine Beamer Frage ist):

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

Dann, wenn Sie Ihre Liste zu machen, geben Sie Namen zu den Orten, nach jedem Elemente:

\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}

( Hinweis: verschoben ich den y Wert bis um 1/2 einer Linie vielleicht wäre mehr besser.)

Weil wir verwendet remember picture wir an diese Orte in einem Overlay beziehen kann:

  \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}

Der Weg ist es mit Gegenständen zu beschäftigen, die die gleiche Breite nicht haben. Diese Änderung kommt von ESultanik Antwort .

Das Ergebnis ist:

alt text

Side Hinweis: : Sie können alle der remember picture Optionen entfernen und die folgenden hinzufügen, um automatisch auf alle Bilder hinzufügen, denken Sie daran:

\tikzstyle{every picture}+=[remember picture]

Andere Tipps

Sie könnten (ab) stattdessen eine Tabelle verwenden:

\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}

erzeugt:

entfernt tot Images Link

Hier ist Geoffs Code mit einigen kleinen Anpassungen (nur für andere Beamer Nutzer)

\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}

Ressult (2. Schlitten dieses Rahmens):

Beamer Ergebnis

Die Adaptionen sind:

  • hinzugefügt, um die sichtbar Befehl (weil ich denke, dass es nützlich ist, später in der Klammer zu mischen)
  • machten die Produkte komplexer, so dass die Verwendung von xshift notwendig wurde (ich einfach den xshift Wert heraus durch Versuch und Irrtum, damit ist ein Wermutstropfen) Bearbeiten 2018.12.23 : manuelle try-and-error-Verschiebung kann durch die Verwendung überwunden werden diese Methode: (n1 -| n2) -- (n2) statt (n1) -- (n2) .

Eine Möglichkeit, dies zu umgehen eine mathematische Umgebung wie align zu verwenden wäre, setzen Sie die folgenden Punkte von Hand (mit \ Kugel), und verwenden Sie dann die Ressourcen der Mathe-Umgebung für große Klammern und so weiter.

I did something similar once. I let the list be in a column to the left, and in the right column, I did the $\right\}$-thing so that it was as tall as some \mbox or something (which I decided with \vphantom or something similar). Unfortunately I don't have time to dig it out... I actually don't have time to be at SO at all right now ;)

I tried my idea, below. It doesn't work: unfortunately, the vboxes produced by the itemize environment all have width \textwidth.

The UI of my suggestion is nice, and by redefining \item it should be possible to get the item vboxes be of reasonable width. Or calculate a reasonable width for the vboxes containing the items. But since there are functional solutions already, I won't spend anymore time on this.

\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}
\item Line 1
\begin{groupeditems}{Lines 2 and 3 together!}
\item Line 2
\item Line 3
\end{groupeditems}
\item Line 4
\end{itemize}

\end{document}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top