Tenho problemas com o espaço de linha dentro de um longtable
ambiente ao forçar uma quebra de linha. O código a seguir deve ilustrar o 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}
Também disponível emhttps://www.overleaf.com/2029617ptbycv#/5121602/
Espero que isso demonstre o problema bem o suficiente.
Se você observar o espaçamento entreCabeçalho do item 1eItemplace 1, este é o espaçamento entre linhas que eu gostaria de ter.
O espaçamento entre Itemhead 2 e Itemplace 2, bem como Itemhead 3 e Itemplace 3 é, na minha opinião, muito grande para uma única nova linha. Deve ser com espaçamento simples.
No momento, não tenho ideia do que força o látex a usar uma linha mais ampla entre as linhas Itemhead e Itemplace nas linhas 2 e 3. Deve ter algo a ver com o texto após a linha Itemplace. Porque se eu ligar \iteminfo
após o \itemplace
comando, isso mostra aquele comportamento estranho.
Estou usando o MacTex 2014 no OSX 10.10.1.
É assim que fica no aplicativo de visualização OSX 10.10.1
Responder1
Você deve sempre incluir o final do parágrafo (não \newline
) se você tiver alterações de tamanho. Um parágrafo inteiro é definido com o espaçamento da linha de base em vigor no final do parágrafo, portanto, você estava obtendo configurações 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}
Responder2
A razão pela qual você está obtendo resultados de espaçamento diferentes é porque (a) você está usando \newline
em vez de \par
para inserir quebras de linha e (b) tamanhos de fonte diferentes são usados para itens do tipo Itemhead ( \normalsize
), Itemplace ( \footnotesize
) e Iteminfo ( \scriptsize
).
O espaço entre linhas usado em um parágrafo (lógico) depende do tamanho da fonte em vigor nofimdo parágrafo atual. É importante ressaltar que \newline
insere uma quebra de linha, mas isso acontecenãoiniciar um novo parágrafo. Assim, no grupo Itemhead1/Itemplace1/Iteminfo1, o espaçamento entre Itemhead1 e Itemplace1 é o apropriado para \scriptsize
o material (e, portanto, bastante apertado), como \scriptsize
está em vigor no final do "parágrafo". Este efeito é obscurecido porque você tem \vspace{3pt}
instruções antes de cada elemento Iteminfo.
Por outro lado, no caso de Itemhead2/Itemplace2 e Itemhead3/Itemplace 3, o tamanho final da fonte do parágrafo é \footnotesize
, e você obtém um espaçamento (ligeiramente) maior do que o do primeiro grupo.
Se você absolutamente precisa obter o espaçamento muito apertado apropriado para o \scriptsize
material, poderá obter esse resultado inserindo a instrução \scriptsize
imediatamente após \itemplace{Itemplace 2}
. No entanto, acho melhor substituir todas \newline
as instruções \par
e se livrar delas \vspace{3pt
.