Después de de una prolongada compilación de datos solucionamos esta aprieto que pueden tener muchos lectores. Te compartimos la solución y deseamos resultarte de mucha ayuda.
Solución:
Aquí hay una solución alternativa a la que he llegado:
documentclassbeamer
begindocument
beginframe
frametitleLorem Ipsum
begincolumns[T]
column.49textwidth
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
aliquip ex ea commodo consequat.
column.01textwidth
rule.1mm.7textheight
column.49textwidth
Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
cupidatat non proident, sunt in culpa qui officia deserunt mollit
anim id est laborum.
endcolumns
endframe
enddocument
Aquí está el resultado:
Estos son los cambios realizados en el código original proporcionado en la pregunta:
-
La opción
t
Para elcolumns
el entorno se ha cambiado aT
. Aquí hay una descripción de esta opción de la Guía del usuario de Beamer (Sección 12.7: División de un marco en varias columnas):T
es similar alt
opción, peroT
alinea la parte superior de las primeras líneas mientrast
alinea las llamadas líneas base de las primeras líneas. Si parecen suceder cosas extrañas junto con elt
opción (por ejemplo, si un gráfico “cae” repentinamente con lat
opción en lugar de “subir”), intente utilizar esta opción en su lugar. -
El ancho de las dos columnas que contienen texto se ha reducido de
.5textwidth
para.49textwidth
para hacer espacio para una nueva columna de ancho.01textwidth
. Esta nueva columna se coloca entre las dos columnas de texto existentes. Esta nueva columna contendría la regla vertical. -
Se ha agregado una regla vertical en la nueva columna con la
rule
mando. Aquí hay una descripción delrule
comando de La no tan breve introducción a LATEX 2ε (Sección 6.7: Reglas):Algunas páginas atrás, es posible que haya notado el comando
rule[lift]widthheight
En uso normal produce una simple caja negra.
rule3mm.1pt% rule[-1mm]5mm1cm% rule3mm.1pt% rule[1mm]1cm5mm% rule3mm.1pt
Esto es útil para dibujar líneas verticales y horizontales. La línea de la página de título, por ejemplo, se ha creado con un
rule
mando.
Editar:
Aquí hay una redefinición de las columnas del entorno y su comando de columna para contener líneas verticales entre las columnas con la ayuda de tikz
overlay
.
La forma en que usé es agregando un tikzmark
al principio de cada columna y luego calculando el punto medio entre este tikzmark + el ancho del comando y el de la siguiente columna tikzmark
. También utilicé un truco similar para calcular la altura del columns
(redefinido) medio ambiente.
Mi columns
entorno, toma un argumento opcional con 3 opciones diferentes separadas por comas:
- Primero está la opción de alineación del
oldcolums
medio ambiente (comot
para la parte superior,b
para fondo yc
para columnas alineadas verticalmente centradas) - La segunda opción es el ancho de la línea vertical que se agregará (después de la segunda compilación -porque se agrega como un exceso-) entre las columnas.
- La tercera opción es el color de las líneas verticales anteriores.
Puede agregar 1, 2 o 3 opciones en este argumento opcional, pero el orden debe ser el anterior.
El código final:
documentclass[8pt]beamer
usepackagetikz
usetikzlibrarycalc
newcountermycolcounter
newcountermylinecounter
newcountertempcounter
newcountertempcounterB
newlengthavailafter
newlengthinitialtextwidth
newcommandtikzmark[1]begintikzpicture[overlay,remember picture]coordinate (#1);endtikzpicture
newcommandDrawLines[3]draw[line width=ArgB,color=ArgC]letp1=(#1),p2=(#2),p3=(#3)in($(x1,0)+((x2+x3+csname ColWidthAlphtempcounterendcsname)/2,y1)$)--($(x1,0)+((x2+x3+csname ColWidthAlphtempcounterendcsname)/2,textheight-availafter)$);
newcommandlcolumn[1]stepcountermycolcountersetlengthtextwidthinitialtextwidthxdeftempthedimexpr#1expandafterexpandafterexpandafterglobalexpandafterletcsname ColWidthAlphmycolcounterendcsnametempoldcolumn#1tikzmarkColStartAlphmycolcounter
letoldcolumnscolumns%
letendoldcolumnsendcolumns%
renewenvironmentcolumns[1][c]%
xdefArgAc%
xdefArgB1pt%
xdefArgCblack
xdefArg#1%
setlengthinitialtextwidthtextwidth%
tikzmarkColStart%
setcountermycolcounter0%
setcountermylinecounter0%
foreach k[count=m from 0] in Arg ifnumm=0xdefArgAkelseifnumm=1xdefArgBkelsexdefArgCkfifi
oldcolumns[ArgA]letoldcolumncolumnletcolumnlcolumn%
%
endoldcolumns%
setcountermylinecounternumexprthevaluemycolcounter-1relax%
setlengthavailafterdimexprtextheight-pagetotalrelax%
setcountertempcounter0%
setcountertempcounterB1%
foreach col[count=i from 0]in1,...,arabicmylinecounter%
stepcountertempcounter%
stepcountertempcounterB%
begintikzpicture[overlay,remember picture]%
DrawLinesColStartColStartAlphtempcounterColStartAlphtempcounterB%
endtikzpicture%
%
letcolumnoldcolumn%
begindocument
beginframe
frametitleLorem Ipsum
begincolumns
column0.25textwidth%
noindent1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \
begintikzpicture[inner sep=0,outer sep=0]
draw[<->] (0,0)--(textwidth,0);
endtikzpicture
column0.25textwidth%
noindent1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \
begintikzpicture[inner sep=0,outer sep=0]
draw[<->] (0,0)--(textwidth,0);
endtikzpicture
column0.25textwidth%
noindent1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \
begintikzpicture[inner sep=0,outer sep=0]
draw[<->] (0,0)--(textwidth,0);
endtikzpicture
endcolumns
begincolumns[c,0.1pt,blue]
column0.3textwidth%
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \
begintikzpicture[inner sep=0,outer sep=0]
draw[<->] (0,0)--(textwidth,0);
endtikzpicture
column0.4textwidth%
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\
begintikzpicture[inner sep=0,outer sep=0]
draw[<->] (0,0)--(textwidth,0);
endtikzpicture
column0.2textwidth%
large 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \
begintikzpicture[inner sep=0,outer sep=0]
draw[<->] (0,0)--(textwidth,0);
endtikzpicture
endcolumns
begincolumns[b,0.3pt]
column0.33textwidth%
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \
begintikzpicture[inner sep=0,outer sep=0]
draw[<->] (0,0)--(textwidth,0);
endtikzpicture
column0.43textwidth%
scriptsize1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \
begintikzpicture[inner sep=0,outer sep=0]
draw[<->] (0,0)--(textwidth,0);
endtikzpicture
column0.23textwidth%
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \
begintikzpicture[inner sep=0,outer sep=0]
draw[<->] (0,0)--(textwidth,0);
endtikzpicture
endcolumns
begincolumns[t,2pt,green]
column0.23textwidth%
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \
begintikzpicture[inner sep=0,outer sep=0]
draw[<->] (0,0)--(textwidth,0);
endtikzpicture
column0.23textwidth%
footnotesize 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \
begintikzpicture[inner sep=0,outer sep=0]
draw[<->] (0,0)--(textwidth,0);
endtikzpicture
column0.23textwidth%
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\
begintikzpicture[inner sep=0,outer sep=0]
draw[<->] (0,0)--(textwidth,0);
endtikzpicture
endcolumns
begincolumns[c,2pt,red]
column0.23textwidth%
tiny1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \
begintikzpicture[inner sep=0,outer sep=0]
draw[<->] (0,0)--(textwidth,0);
endtikzpicture
column0.53textwidth
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \
begintikzpicture[inner sep=0,outer sep=0]
draw[<->] (0,0)--(textwidth,0);
endtikzpicture
endcolumns
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
endframe
enddocument
Producción:
Si estás de acuerdo, tienes la opción de dejar una reseña acerca de qué te ha impresionado de este artículo.