Lattice: allungabili parentesi graffe matematica al di fuori
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.
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 è:
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):
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}