Mit tabularx mehrere Zeilen überspannen

Mit tabularx mehrere Zeilen überspannen

Ich versuche, eine Tabelle tabularxfür ein Dokument zu erstellen, in das der Text später manuell eingetragen werden soll. Daher möchte ich natürlich, dass die Zeile, in der die Eingabe erfolgen soll, mehrere Zeilen umfasst.

Ich weiß zwar, dass \\ich damit zur nächsten Zeile gelange, jedoch wird rechts von dieser Zeile nicht der gewünschte Rahmen für die Tabelle erzeugt.

Hier ist der Beispielcode:

\begin{table}[htb]
\begin{tabularx}{\textwidth}{|l|X|}
\hline
Foo & bar\\ \hline
Multiline     \\ \\ \\ &  Span this row for multiple lines for writing input\\ \hline
\end{tabularx}
\end{table}

Antwort1

Um den zusätzlichen senkrechten Strich am rechten Rand des Tabellenmaterials zu erhalten, müssen Sie

Multiline     \\ \\ \\ &  Span this ...

Zu

Multiline     & \\ & \\ & \\ &  Span this ...

Ein vollständiges MWE (Minimum Working Example)

\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{table}[htb]
\begin{tabularx}{\textwidth}{|l|X|}
  \hline
  Foo & bar\\ 
  \hline
  Multiline & \\    % no text in second column
    & \\ & \\       % no text in either column, for 2 rows
    & Span this row for multiple lines for writing input\\
  \hline
\end{tabularx}
\end{table}
\end{document}

Antwort2

Eine Variante, um sich das Zählen der \\s zu sparen, falls man viele benötigt:

\documentclass{article}
\usepackage{geometry}
\usepackage{tabularx}

\begin{document}

\begin{table}[htb]
\setlength{\extrarowheight}{2pt}
\begin{tabularx}{\textwidth}{|l|X|}
  \hline
  Foo & bar\\
  \hline
  Multiline & \\ % no text in second column
   & \rule{0pt}{10\baselineskip}\\
    & Span this row for multiple lines for writing input\\
  \hline
\end{tabularx}
\end{table}

\end{document} 

Bildbeschreibung hier eingeben

verwandte Informationen