Question

Je produis un certain latex Beamer diapositives (mais je pense que ce n'est pas une question spécifique de Beamer en soi).

Je donne les résultats suivants:

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

Maintenant, je veux avoir une accolade droite (à savoir « } ») derrière les éléments d'épandage sur Numéro1 et Numéro2. Et bien sûr, je veux écrire quelque chose derrière cette accolade.

Dans un monde parfait, je voudrais écrire quelque chose comme:

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

Ce ne fonctionne pas parce que je ne suis pas dans un environnement de mathématiques et je ne peux pas mettre l'extrait complet dans un environnement de mathématiques, car itemize ne travaillerait dans ce cas.

Y at-il une solution propre ou un hack pour produire mon résultat désiré?

Cordialement, Bastian.

Était-ce utile?

La solution

J'utiliser tikz et faire une superposition.

Tout d'abord inclure les paquets appropriés (vous ne pouvez pas besoin d'inclure tikz puisque c'est une question de Beamer):

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

Ensuite, lorsque vous faites votre liste, donner des noms aux lieux après chaque élément:

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

( Note: Je déplacé la valeur y par 1/2 d'une ligne peut-être plus serait mieux.)

Parce que nous avons utilisé remember picture on peut se référer à ces endroits dans une superposition:

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

Le chemin est là pour traiter avec des éléments qui ne sont pas la même largeur. Cette modification vient ESultanik de réponse.

Le résultat est:

text alt

Side note : Vous pouvez supprimer toutes les options de remember picture et ajoutez ce qui suit pour ajouter automatiquement toutes les images n'oubliez pas:

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

Autres conseils

Vous pouvez (ab) utiliser une table à la place:

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

produit:

lien mort Imageshack supprimé

Voici le code Geoffs avec quelques petites adaptions (juste pour les autres utilisateurs de 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 (deuxième coulisseau de cette trame):

r&eacute;sultat Beamer

Les adaptions sont:

  • a ajouté le visible commande (parce que je pense qu'il est utile de se fondre dans la dernière accolade)
  • fait les éléments plus complexes si l'utilisation de xshift Devient nécessaire (je me suis dit la valeur xshift simplement par essais et erreurs donc ce une goutte d'amertume) Modifier 23/12/2018 : déplacement manuel essai et erreurs peuvent être résolus en utilisant cette méthode : (n1 -| n2) -- (n2) au lieu de (n1) -- (n2) .

Une façon de contourner ce serait d'utiliser un environnement de mathématiques comme align, mettez les points de balle à la main (avec \ bullet), puis utiliser les ressources de l'environnement de mathématiques pour les grandes accolades et autres.

Je l'ai fait quelque chose de similaire une fois. Je laisse la liste soit dans une colonne à gauche, et dans la colonne de droite, je l'ai fait la $\right\}$-chose pour qu'il était aussi grand que certains \mbox ou quelque chose (que j'ai décidé avec \vphantom ou quelque chose de similaire). Malheureusement, je n'ai pas le temps de le déterrer ... Je ne pas vraiment avoir le temps d'être à SO du tout en ce moment;)

J'ai essayé mon idée, ci-dessous. Il ne fonctionne pas. Malheureusement, les vbox produits par l'environnement itemize ont toutes \textwidth largeur

L'interface utilisateur de ma suggestion est agréable, et en redéfinissant \item il devrait être possible d'obtenir les vbox de point soit d'une largeur raisonnable. Ou calculer une largeur raisonnable pour les vbox contenant les articles. Mais comme il existe des solutions fonctionnelles déjà, je ne vais pas passer plus de temps à ce sujet.

\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}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top