¿Es generalmente una buena idea insertar algo de pegamento en \vspace?

¿Es generalmente una buena idea insertar algo de pegamento en \vspace?

He visto muchas publicaciones como esta.\parskip se extiende más de lo esperadoque usan un poco de pegamento en el interior \vspace. Me pregunto si es buena idea definir un nuevo \vspacecomando con un poco de pegamento para sustituir al normal en todos los casos. Algo como

\newcommand{\vspacewithglue}[3]{\vspace{#1\baselineskip plus #2\baselineskip minus #3\baselineskip }}

Traté de convencerme de la utilidad de tal comando para casos simples pero sin éxito. Por ejemplo, usé

some test line ffppp \vspacewithglue{2}{0}{0}\\
some test line ffppp \vspacewithglue{2}{-1}{1}\\
some test line ffppp \vspacewithglue{2}{1}{1}\\

sin ninguna diferencia. Entonces estoy algo confundido. Tal vez haya algunos casos "especiales" (como la publicación anterior) en los que realmente es necesario tener dicho comando, pero generalmente no es necesario. Quizás sea mejor usar el conocido comando \\[...ex]y dejar que TeX coloque un poco de pegamento, si es realmente necesario.

Sé que esta pregunta es un poco vaga o tal vez ya esté respondida. Siéntete libre de editarlo/sugerir algo en los comentarios.

Respuesta1

Casi nunca es una buena idea tener pegamento estirable entre líneas de un párrafo como lo tienes en la pregunta. Un párrafo debe establecerse como un bloque coherente. Es posible que desee o no que el pegamento entre unidades de visualización, como párrafos, listas, etc., sea estirable según el diseño del documento. Especialmente en los modos de dos columnas, el pegamento extensible entre párrafos puede resultar molesto ya que el espacio del párrafo en las dos columnas será diferente y las líneas base del texto no se alinearán en absoluto.

También si, como en la pregunta que usas \vspacedentro de un párrafo, el efecto está bien definido pero es ligeramente extraño: el espacio no se agrega en el punto del \vspacecomando sino que se agrega más tarde, después de que el párrafo se haya dividido en líneas, después de la línea en el que vspacese añadió.

some test line ffppp \vspace{10pt}\\

es lo mismo que

some test  \vspace{10pt}line ffppp\\

Si, como es común en las clases de documentos de artículos, \raggedbottomestá en vigor, entonces filse agrega pegamento al final de la página, ya que es infinitamente estirable, cualquier pegamento de estiramiento finito agregado no se estiraría y solo se usaría el componente de longitud natural.

En algunas clases de documentos (incluidas las predeterminadas), un pequeño tramo entre párrafos puede ser útil para ayudar a dividir las páginas (latex establece el valor predeterminado \parskipen 0pt plus 1pt), pero normalmente esta debería ser una configuración para todo el documento, no ajustada manualmente en cada caso.

Tenga en cuenta que si necesita estirar un salto de línea en alguna circunstancia especial, no necesita un nuevo comando, puede usar\\[5pt plus 5pt]

Respuesta2

Su comando funciona como se esperaba, pero como David ya escribió, es una muy mala idea usar un espacio tan extensible dentro de un párrafo.

\documentclass[12pt]{book}
\usepackage{lipsum}

\newcommand{\vspacewithglue}[3]{\vspace{#1\baselineskip plus #2\baselineskip minus #3\baselineskip }}
\textheight=10cm
\begin{document}
xxxxx

some test line ffppp \\
some test line ffppp \vspacewithglue{0}{1}{1}\\
some test line ffppp \\


xxxxx
\pagebreak %to force the page to stretch

xxxx
\end{document}

ingrese la descripción de la imagen aquí

información relacionada