page latex beamer tikz

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]