Problemas de espacio entre líneas de nueva línea dentro de una celda de una tabla

Problemas de espacio entre líneas de nueva línea dentro de una celda de una tabla

Tengo problemas con el espacio de línea dentro de un longtableentorno al forzar un salto de línea. El siguiente código debería ilustrar el problema.

\documentclass[11pt,paper=a4,11pt,parskip=half,draft]{scrartcl}

\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{longtable}
\usepackage{tabularx}
\usepackage{ragged2e}
\usepackage{xcolor}

\usepackage{blindtext}

\definecolor{darkblue}{HTML}{212650}
\definecolor{grey}{HTML}{666666}

\newcommand{\itemdate}[1]{{\sffamily #1}}
\newcommand{\itemhead}[1]{{\sffamily\textcolor{darkblue}{\bfseries #1}}}
\newcommand{\itemplace}[1]{{\sffamily\itshape\footnotesize #1}}
% don't know why this cannot be local scope only ???!!!!
\newcommand{\iteminfo}[1]{\scriptsize #1}

% http://tex.stackexchange.com/a/7348/46403
% ragged2e packages provides text hyphenation in columns
\newcolumntype{L}[1]{>{\raggedright\hspace{0pt}\arraybackslash}p{#1}}   % left with dimension
\newcolumntype{J}[1]{>{\justifying\hspace{0pt}\arraybackslash}p{#1}}    % justify with dimension

\newcommand{\colwidth}[1]{%
    \dimexpr #1\textwidth-2\tabcolsep%
}%

\begin{document}

\begin{longtable}[!htbp]{|@{}L{\colwidth{0.2}}|L{\colwidth{0.8}}@{}|}

    \hline
    \itemdate{Itemdate 1} &
    \itemhead{Itemhead 1} \newline
    \itemplace{Itemplace 1} \vspace{3pt}\newline
    \iteminfo{\textbf{Iteminfo 1.1}: \blindtext[1]}
    \vspace{3pt}\newline%
    \iteminfo{\textbf{Iteminfo 1.2}: \blindtext[1]} \\

    \hline
    \itemdate{Itemdate 2} &
    \itemhead{Itemhead 2} \newline
    \itemplace{Itemplace 2} \\

    \hline
    \itemdate{Itemdate 3} &
    \itemhead{Itemhead 3} \newline
    \itemplace{Itemplace 3} \\
\end{longtable}

\end{document}

También disponible enhttps://www.overleaf.com/2029617ptbycv#/5121602/

Espero que esto demuestre el problema lo suficientemente bien.

Si nos fijamos en el espacio entreencabezado 1yLugar de artículo 1, este es el espacio entre líneas que me gustaría tener.

En mi opinión, el espacio entre Itemhead 2 y Itemplace 2, así como Itemhead 3 y Itemplace 3, es demasiado amplio para una sola nueva línea. Debe ser a espacio simple.

En este momento no tengo idea de qué obliga al látex a usar una extensión de línea más amplia entre las líneas Itemhead y Itemplace en las filas 2 y 3. Debe tener algo que ver con el texto que sigue a la línea Itemplace. Porque si llamo \iteminfodespués del \itemplacecomando, muestra ese comportamiento extraño.

Estoy usando MacTex 2014 en OSX 10.10.1.

Así es como se ve en la aplicación de vista previa OSX 10.10.1 Así es como se ve en la aplicación de vista previa OSX 10.10.1

Respuesta1

Siempre debes incluir el final del párrafo (no \newline) si tienes cambios de talla. Un párrafo completo está configurado con el espacio entre líneas base vigente al final del párrafo, por lo que obtenía configuraciones inconsistentes.

\documentclass[11pt,paper=a4,11pt,parskip=half,draft]{scrartcl}

\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{longtable}
\usepackage{tabularx}
\usepackage{ragged2e}
\usepackage{xcolor}

\usepackage{blindtext}

\definecolor{darkblue}{HTML}{212650}
\definecolor{grey}{HTML}{666666}

\newcommand{\itemdate}[1]{{\sffamily #1}}
\newcommand{\itemhead}[1]{{\sffamily\textcolor{darkblue}{\bfseries #1}}\par}
\newcommand{\itemplace}[1]{{\sffamily\itshape\footnotesize #1\par}}
% don't know why this cannot be local scope only ???!!!!
\newcommand{\iteminfo}[1]{{\scriptsize #1\par}}

% http://tex.stackexchange.com/a/7348/46403
% ragged2e packages provides text hyphenation in columns
\newcolumntype{L}[1]{>{\raggedright\hspace{0pt}\arraybackslash}p{#1}}   % left with dimension
\newcolumntype{J}[1]{>{\justifying\hspace{0pt}\arraybackslash}p{#1}}    % justify with dimension

\newcommand{\colwidth}[1]{%
    \dimexpr #1\textwidth-2\tabcolsep%
}%

\begin{document}

\begin{longtable}[!htbp]{|@{}L{\colwidth{0.2}}|L{\colwidth{0.8}}@{}|}

    \hline
    \itemdate{Itemdate 1} &
    \itemhead{Itemhead 1}
    \itemplace{Itemplace 1}
    \iteminfo{\textbf{Iteminfo 1.1}: \blindtext[1]}
    \iteminfo{\textbf{Iteminfo 1.2}: \blindtext[1]} \\

    \hline
    \itemdate{Itemdate 2} &
    \itemhead{Itemhead 2}
    \itemplace{Itemplace 2} \\

    \hline
    \itemdate{Itemdate 3} &
    \itemhead{Itemhead 3}
    \itemplace{Itemplace 3} \\
\end{longtable}

\end{document}

Respuesta2

La razón por la que obtiene resultados de espaciado diferentes es porque (a) está utilizando \newlineen lugar de \parpara insertar saltos de línea y (b) se utilizan diferentes tamaños de fuente para elementos de tipo Itemhead ( \normalsize), Itemplace ( \footnotesize) y Iteminfo ( \scriptsize).

El espacio entre líneas que se utiliza en un párrafo (lógico) depende del tamaño de fuente vigente en el momento.findel actual párrafo. Es importante destacar \newlineque inserta un salto de línea pero no lo hace.noiniciar un nuevo párrafo. Por lo tanto, en el grupo Itemhead1/Itemplace1/Iteminfo1, el espacio entre Itemhead1 y Itemplace1 es el apropiado para \scriptsizeel material (y, por lo tanto, bastante ajustado), como \scriptsizeestá vigente al final del "párrafo". Este efecto se oscurece porque tiene \vspace{3pt}instrucciones delante de cada elemento Iteminfo.

Por el contrario, en el caso de Itemhead2/Itemplace2 y Itemhead3/Itemplace 3, el tamaño de fuente final del párrafo es \footnotesizey, por lo tanto, se obtiene un espacio (ligeramente) más amplio que para el primer grupo.

Si es absolutamente necesario obtener el espacio muy ajustado adecuado para \scriptsizeel material, puede obtener este resultado insertando la instrucción \scriptsizeinmediatamente después \itemplace{Itemplace 2}. Sin embargo, creo que es mejor reemplazar todas \newlinelas instrucciones \pary deshacerse de \vspace{3ptellas.

información relacionada