Tengo problemas con el espacio de línea dentro de un longtable
entorno 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 \iteminfo
después del \itemplace
comando, 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
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 \newline
en lugar de \par
para 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 \newline
que 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 \scriptsize
el material (y, por lo tanto, bastante ajustado), como \scriptsize
está 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 \footnotesize
y, 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 \scriptsize
el material, puede obtener este resultado insertando la instrucción \scriptsize
inmediatamente después \itemplace{Itemplace 2}
. Sin embargo, creo que es mejor reemplazar todas \newline
las instrucciones \par
y deshacerse de \vspace{3pt
ellas.