
Dies ist in gewisser Weise ein Folgebeitrag vonProbleme mit dem Zeilenabstand innerhalb einer Tabellenzelle.
Ich möchte verschiedene Schriftarten in einer Tabellenzelle haben. Ich habe bisher gelernt, dass eine lokale Größenänderung {\small this is a small style\par}
immer mit beendet werden sollte, \par
damit der Zeilenabstand ( \baselineskip
) gut angepasst wird. Soweit, so gut. Das funktioniert wie erwartet, jedes \par
führt einen Zeilenumbruch aus und passt den Zeilenabstand an. Das Problem ist, dass das letzte \par
in einer Tabellenzelle dem Text eine neue Zeile hinzufügt, was in diesem Fall nicht erwünscht ist.
Meine Frage wäre, ob es einen anderen Latex-Befehl gibt, der die gleiche Wirkung \par
auf den Zeilenabstand hat, aber keine neue Zeile hinzufügt. Oder eine andere Problemumgehung wäre sehr willkommen!
Hier ist ein kleines Beispiel (es basiert stark auf dem Code aus meinem vorherigen Beitrag):
\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{ifthen}
\usepackage{blindtext}
\definecolor{darkblue}{HTML}{212650}
% https://tex.stackexchange.com/a/218826/46403
\newcommand{\cvitemdate}[1]{\sffamily #1}
\newcommand{\cvitemhead}[1]{\sffamily\textcolor{darkblue}{\bfseries #1}}
\newcommand{\cvitemplace}[1]{\sffamily\itshape\footnotesize #1}
\newcommand{\cviteminfo}[1]{\scriptsize #1}
% formating info text
\newcommand{\cvitem}[5]{%
% 1st column
{\cvitemdate{#1}} &%
% 2nd column - first textline
{\cvitemhead{#2}\par}%
% 2nd column - second textline
\ifthenelse{\equal{#3}{}}{}{%
{\cvitemplace{#3}\par}%
}%
\ifthenelse{\equal{#5}{}}{\vspace{6pt}}{\vspace{3pt}}%
% 2nd column - third textline
\ifthenelse{\equal{#4}{}}{}{%
{\cviteminfo{#4}\par}%
}%
\ifthenelse{\equal{#5}{}}{}{\vspace{3pt}}%
% 2nd column - fourth textline
\ifdefined\isfull%
\ifthenelse{\equal{#5}{}}{}{%
{\cviteminfo{#5}\par}%
}%
\else\fi%
%\vspace*{-\baselineskip}
\tabularnewline%
}
% https://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
\newcommand{\colwidth}[1]{%
\dimexpr #1\textwidth-2\tabcolsep%
}%
\begin{document}
\begin{longtable}[!htbp]{|@{}L{\colwidth{0.2}}|L{\colwidth{0.8}}@{}|}
\hline
\cvitem{Itemdate 1}
{Itemhead 1}
{Itemplace 1}
{\textbf{Iteminfo 1.1}: \blindtext[1]}
{\textbf{Iteminfo 1.2}: \blindtext[1]}
\hline
\cvitem{Itemdate 2}
{Itemhead 2}
{Itemplace 2}
{}
{}
\hline
\cvitem{Itemdate 3}
{Itemhead 3}
{}
{}
{}
\hline
\end{longtable}
\end{document}
Online verfügbar unterhttps://www.overleaf.com/2032147yzdvhq#/5128620/
Antwort1
Willst du so etwas?
Ich habe Ihre Definition \cvitem
durch diese ersetzt:
\newcommand{\cvitem}[5]{%
{\cvitemdate{#1}} &%
{\cvitemhead{#2}\par}
\ifthenelse{\equal{#3}{}}%
{\vspace*{-\baselineskip}}%
{{\cvitemplace{#3}\par}
\ifthenelse{\equal{#4}{}}%
{\vspace*{-\baselineskip}}%
{{\vspace{6pt}\cviteminfo{#4}\par}
\ifthenelse{\equal{#5}{}}%
{}%
{\ifdefined\isfull\vspace{3pt}{\cviteminfo{#5}\par}\fi%
}%
\vspace*{-\baselineskip}%
}%
}%
\vspace*{-\baselineskip}%
\tabularnewline%
}
Komplettes MWE:
\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{ifthen}
\usepackage{blindtext}
\definecolor{darkblue}{HTML}{212650}
\newcommand\isfull
% http://tex.stackexchange.com/a/218826/46403
\newcommand{\cvitemdate}[1]{\sffamily #1}
\newcommand{\cvitemhead}[1]{\sffamily\textcolor{darkblue}{\bfseries #1}}
\newcommand{\cvitemplace}[1]{\sffamily\itshape\footnotesize #1}
\newcommand{\cviteminfo}[1]{\scriptsize #1}
% formatting info text
\newcommand{\cvitem}[5]{%
{\cvitemdate{#1}} &%
{\cvitemhead{#2}\par}
\ifthenelse{\equal{#3}{}}%
{\vspace*{-\baselineskip}}%
{{\cvitemplace{#3}\par}
\ifthenelse{\equal{#4}{}}%
{\vspace*{-\baselineskip}}%
{{\vspace{6pt}\cviteminfo{#4}\par}
\ifthenelse{\equal{#5}{}}%
{}%
{\ifdefined\isfull\vspace{3pt}{\cviteminfo{#5}\par}\fi%
}%
\vspace*{-\baselineskip}%
}%
}%
\vspace*{-\baselineskip}%
\tabularnewline%
}
% 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
\newcommand{\colwidth}[1]{%
\dimexpr #1\textwidth-2\tabcolsep%
}%
\begin{document}
\begin{longtable}[!htbp]{|@{}L{\colwidth{0.2}}|L{\colwidth{0.8}}@{}|}
\hline
\cvitem{Itemdate 1}
{Itemhead 1}
{Itemplace 1}
{\textbf{Iteminfo 1.1}: \blindtext[1]}
{\textbf{Iteminfo 1.2}: \blindtext[1]}
\hline
\cvitem{Itemdate 2}
{Itemhead 2}
{Itemplace 2}
{\textbf{Iteminfo 2.1}: \blindtext[1]}
{}
\hline
\cvitem{Itemdate 3}
{Itemhead 3}
{Itemplace 3}
{}
{}
\hline
\cvitem{Itemdate 4}
{Itemhead 4}
{}
{}
{}
\hline
\end{longtable}
\end{document}
BEARBEITEN
Wenn eines der 3., 4. und 5. Argumente leer sein kann, ersetzen Sie den obigen Code durch:
\newcommand{\cvitem}[5]{%
{\cvitemdate{#1}} &%
{\cvitemhead{#2}\par}
\ifthenelse{\equal{#3}{}}
{}
{{\cvitemplace{#3}\par}}%
\ifthenelse{\equal{#4}{}}
{}
{{\vspace{6pt}\cviteminfo{#4}\par}}%
\ifthenelse{\equal{#5}{}}%
{}%
{\ifdefined\isfull\vspace{3pt}{\cviteminfo{#5}\par}\fi}%
\vspace*{-\baselineskip}%
\vspace*{-\baselineskip}%
\tabularnewline%
}