Saltar al contenido

Manejo de imágenes wrapfig en LaTeX

Hacemos una revisión exhaustiva cada uno de los artículos de nuestra página web con el objetivo de mostrarte siempre información veraz y actualizada.

Solución:

El comportamiento que describe es causado por el uso de la wrapfig entorno demasiado cercano a un salto de página, como demuestra el siguiente ejemplo:

documentclassarticle
usepackagewrapfig
usepackagelipsum

begindocument

lipsum[1-4]
beginwrapfigurer5cm
centering
rule3cm7cm
endwrapfigure
lipsum[1-6]

enddocument

ingrese la descripción de la imagen aquí

Él wrapfig la documentación del paquete advierte explícitamente sobre esto:

El entorno debe colocarse de manera que no se superponga a un salto de página.

entonces, necesitas mover tu wrapfig entorno para garantizar que no se ejecutará en un salto de página. Sin embargo, usando R (o L) en vez de r (o l) tu figura flotará, así que simplemente cambiando r para R en el código anterior, como en

documentclassarticle
usepackagewrapfig
usepackagelipsum

begindocument

lipsum[1-4]
beginwrapfigureR5cm
centering
rule3cm7cm
endwrapfigure
lipsum[1-6]

enddocument

ahora da:

ingrese la descripción de la imagen aquí

La respuesta aceptada ofrece un método (hacer que la figura flote). Si todo lo que necesita es eliminar el cuadro blanco en la página siguiente, puede agregar un espacio negativo. Adaptando el ejemplo de Gonzalo Medina:

documentclassarticle
usepackagewrapfig
usepackagelipsum

begindocument

lipsum[1-4]
beginwrapfigurer5cm
  centering
  rule3cm7cm
  vspace-110pt % This removes the white box on the second page
endwrapfigure
lipsum[1-6]

enddocument

Alternativamente, puede contar el número de filas en la primera página que wrapfigure ocupa e inserte ese número en el primer parámetro opcional del wrapfigure:

documentclassarticle
usepackagewrapfig
usepackagelipsum

begindocument

lipsum[1-4]
beginwrapfigure[10]r5cm
%                  ^^ This dictates the number
%                   of text rows the wrapfigure
%                   will occupy.
  centering
  rule3cm7cm
  vspace-110pt
endwrapfigure
lipsum[1-6]

enddocument

Ambos métodos dan como resultado el siguiente resultado:

ingrese la descripción de la imagen aquí

Si desea entornos envolventes no flotantes, pero no quiere que las figuras se extiendan nunca más allá de la parte inferior de la página, eso significa que a veces tiene que tener un salto de página antes del comienzo del párrafo. Tú puede haga esto automáticamente definiendo un comando (en el preámbulo) que almacene el contenido de la figura en un cuadro de guardado, pruebe la altura del cuadro y luego fuerce un salto de página si es necesario. Vea el siguiente ejemplo:

documentclassarticle
usepackagewrapfig
usepackagelipsum

newsaveboxcurwrapfig
makeatletter
longdefwrapfiguresafe#1#2#3%
  sboxcurwrapfig#3%
  parpenalty-100%
  begingroup % preserve [email protected]
    [email protected]pagegoal advance[email protected]pagetotal % space left
    advance[email protected]baselineskip % allow an extra line
    ifdim htcurwrapfig>[email protected] % not enough space left
      break%
    fi%
  endgroup%
  beginwrapfigure#1#2%
    useboxcurwrapfig%
  endwrapfigure%

makeatother

begindocument
lipsum[1-4]
wrapfiguresafer0mmcenteringrule3cm7cm
lipsum[1-6]
enddocument

que produce la siguiente salida:

ejemplo de wrapfiguresafe

Tenga en cuenta que, si sus cifras son altas, esto puede causar algunos saltos de página muy malos con páginas cortas y/o, según su configuración, generar advertencias de vbox insuficientes.

Si entiendes que te ha sido de provecho nuestro artículo, sería de mucha ayuda si lo compartieras con más desarrolladores y nos ayudes a extender nuestro contenido.

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


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

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