Domanda

sto producendo alcuni lattice proiettore diapositive (ma penso che non è una domanda specifica beamer di per sé).

Ho il seguente:

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

Ora, voglio avere un diritto parentesi graffa (vale a dire '}') dietro le voci di una superficie di oltre issue1 e issue2. E naturalmente voglio scrivere qualcosa dietro quella parentesi graffa.

In un mondo perfetto avrei scritto qualcosa del tipo:

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

Questo non funziona perché non sono in un ambiente di matematica e non riesco a mettere l'intero frammento all'interno di un ambiente di matematica perché itemize non avrebbe funzionato in questo caso.

C'è una soluzione pulita o un trucco per produrre il mio risultato desiderato?

Saluti, Bastian.

È stato utile?

Soluzione

userei tikz e fa un overlay.

Per prima include i pacchetti adeguati (non potrebbe essere necessario includere tikz poiché questa è una domanda beamer):

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

Poi, quando si effettua la lista, dare nomi ai luoghi dopo ogni elemento:

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

( Nota: Ho spostato il valore y da 1/2 di una linea forse più sarebbe meglio.)

Perché abbiamo usato remember picture possiamo fare riferimento a questi luoghi in una sovrapposizione:

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

Il percorso è lì per trattare con gli elementi che non hanno la stessa larghezza. Questa modifica viene da di ESultanik risposta .

Il risultato è:

alt text

Nota a margine : È possibile rimuovere tutte le opzioni remember picture e aggiungere quanto segue per aggiungere automaticamente ricordarsi di tutte le foto:

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

Altri suggerimenti

Si potrebbe (ab) usare una tabella, invece:

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

produce:

rimosso collegamento Imageshack morti

Ecco il codice Geoffs con alcuni piccoli adattamenti (solo per gli altri utenti beamer)

\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 ° scivolo di quel frame):

risultato Beamer

Gli adattamenti sono:

  • aggiunto il visibile di comando (perché penso che sia utile per far sciogliere il tutore più tardi)
  • ha reso gli elementi più complesso quindi l'uso di xshift è reso necessario (ho capito il valore xshift semplicemente prova ed errore in modo da questo è una goccia di amaro) Modifica 2018/12/23 : manuale spostamento prova ed errore può essere superato utilizzando questo metodo : (n1 -| n2) -- (n2) anziché (n1) -- (n2) .

Un modo per aggirare il problema sarebbe quello di utilizzare un ambiente di matematica come align, mettere i punti elenco a mano (con \ bullet), e quindi utilizzare le risorse dell'ambiente per la matematica per i grandi bretelle e così via.

Ho fatto qualcosa di simile una volta. Lascio la lista sia in una colonna a sinistra, e nella colonna di destra, ho fatto la $\right\}$-cosa in modo che fosse alto come alcuni \mbox o qualcosa del genere (che ho deciso con \vphantom o qualcosa di simile). Purtroppo non ho il tempo di scavare fuori ... io in realtà non hanno il tempo di essere al SO a tutti in questo momento;)

ho provato la mia idea, qui di seguito. Non funziona:. Purtroppo, i vbox prodotte dall'ambiente itemize tutti hanno \textwidth larghezza

L'interfaccia utente del mio suggerimento è bello, e ridefinendo \item dovrebbe essere possibile ottenere i vbox voce siano di larghezza ragionevole. O calcolare una larghezza ragionevole per i vbox che contengono gli elementi. Ma dal momento che ci sono già soluzioni funzionali, non voglio spendere più tempo su questo.

\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}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top