page - author latex
Látex: llaves estirables fuera de las matemáticas (6)
Aquí está el código de Geoffs con algunas pequeñas adaptaciones (solo para otros usuarios 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 (2da diapositiva de ese cuadro):
Las adaptaciones son:
- Agregué el comando visible (porque creo que es útil mezclarlo más tarde)
- hizo que los elementos fueran más complejos, por lo que el uso de xshift se volvió necesario (descubrí el valor de xshift simplemente por intento y error, por lo que es una gota de amargura) Edición 2018-12-23: el cambio manual de prueba y error se puede superar con el uso de this método:
(n1 -| n2) -- (n2)
lugar de(n1) -- (n2)
.
Estoy produciendo algunas diapositivas de haz de látex (pero creo que no es una pregunta específica de haz per se).
Tengo los siguientes
/begin{itemize}
/item Issue1
/item Issue2
/item Issue3
/end{itemize}
Ahora, quiero tener un corsé derecho (es decir, ''}'') detrás de los elementos que se extienden sobre problema1 y problema2 . Y, por supuesto, quiero escribir algo detrás de esa llave.
En un mundo perfecto escribiría algo como:
/begin{itemize}
/left .
/item Issue1
/item Issue2
/right /} One and Two are cool
/item Issue3
/end{itemize}
Esto no funciona porque no estoy en un entorno matemático y no puedo colocar todo el fragmento dentro de un entorno matemático porque el trabajo detallado no funcionaría en ese caso.
¿Hay una solución limpia o un hack para producir el resultado deseado?
Saludos, Bastian.
Hice algo similar una vez. Dejé la lista en una columna a la izquierda, y en la columna de la derecha, hice el $/right/}$
-thing para que fuera tan alto como algún /mbox
o algo (lo cual decidí con /vphantom
o algo similar). Desafortunadamente, no tengo tiempo para desenterrarlo ... en realidad no tengo tiempo para estar tan SO ahora mismo;)
Podrías (ab) usar una tabla en su lugar:
/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:
eliminado enlace de Imageshack muerto
Probé mi idea, abajo. No funciona: desafortunadamente, todos los vboxes producidos por el entorno itemize tienen ancho /textwidth
.
La interfaz de usuario de mi sugerencia es buena y, al redefinir /item
, debería ser posible conseguir que los vboxes del artículo tengan un ancho razonable. O calcule un ancho razonable para las vboxes que contienen los elementos. Pero como ya hay soluciones funcionales, no pasaré más tiempo en esto.
/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}
Una forma de evitar esto sería usar un entorno matemático como alinear, colocar los puntos con la mano (con / bullet) y luego usar los recursos del entorno matemático para grandes llaves y demás.
tikz
y haría una superposición.
Primero incluya los paquetes apropiados (es posible que no necesite incluir tikz
ya que esta es una pregunta de beamer):
/usepackage{tikz}
/usetikzlibrary{decorations.pathreplacing}
Luego, cuando haga su lista, dé nombres a los lugares después de cada 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: Cambié el valor de y
hacia arriba en 1/2 de una línea, quizás más sería mejor).
Como utilizamos la remember picture
, podemos referirnos a estos lugares en una superposición:
/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}
La ruta está ahí para tratar con elementos que no tienen el mismo ancho. Esta edición viene de la respuesta de ESultanik .
El resultado es:
Nota al margen : puede eliminar todas las opciones de remember picture
y agregar las siguientes para agregar automáticamente recordar a todas las imágenes:
/tikzstyle{every picture}+=[remember picture]