Saltar al contenido

¿Cómo eliminar/cambiar el espacio vertical antes y después de un entorno de ‘algoritmo’?

Luego de consultar con especialistas en esta materia, programadores de diversas ramas y profesores dimos con la solución a la interrogande y la compartimos en esta publicación.

Solución:

LaTeX tiene tres variables de longitud para controlar (i) la distancia entre dos objetos flotantes adyacentes (como objetos de figura, tabla o algoritmo), (ii) la distancia entre un flotador en la parte superior (inferior) de una página y el texto debajo (sobre) él, y (iii) la distancia entre un flotador en el texto y el texto encima y debajo de él; se les llama floatsep, textfloatsepy intextsep, respectivamente. (LaTeX también tiene tres variables más para controlar el espacio por encima y por debajo de los flotantes en páginas de solo flotantes; estas son @fptop, @fpboty @fpseprespectivamente.)

Para suprimir por completo la separación en el texto de un flotante (¡no recomendado, por cierto!), escribiría (en el preámbulo)

setlengthintextsep0pt

es decir, establecerías intextsep a una longitud fija de 0 puntos. Una mejor solución, si está presionado por el espacio (nunca mejor dicho), sería configurar

setlengthintextsep1baselineskip

Aquí hay un MWE que usa el paquete algoritmo2e:

documentclassarticle
usepackagealgorithm2e
newcommandlipsoneLorem ipsum dolor sit amet, consectetuer 
adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, 
adipiscing vitae, felis.
newcommandlipstwoDonec vehicula augue eu neque. Pellentesque 
habitant morbi tristique senectus et netus et malesuada fames ac 
turpis egestas.
begindocument

subsubsection*With default setting of texttttextbackslash intextsep 
lipsone

beginalgorithm
captionA random example
SetAlgoLined
KwDataSome input[h]
KwResultSome output
initialization;
Whilenot at end of this documentread
go back to beginning;
endalgorithm

lipstwo


subsubsection*After setting texttttextbackslash intextsep to 0pt
setlengthintextsep0pt 
lipsone

beginalgorithm
captionAnother random example
SetAlgoLined
KwDataSome input
KwResultSome output
initialization;
Whilenot at end of this documentread
go back to beginning;
endalgorithm

lipstwo

enddocument

De acuerdo, lo resolví de una manera “fea” agregando un

vspace*-.4cm

en los lugares respectivos. Para mi caso, esto está bien, ya que solo tengo un entorno de algoritmo en mi archivo tex, sin embargo, si desea que se haga automáticamente en todos sus entornos de algoritmo, debería haber otra forma.

Aquí tienes las reseñas y puntuaciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *