tabularx macht einen unerwünschten Zeilenumbruch

tabularx macht einen unerwünschten Zeilenumbruch

Wie der Titel schon sagt, verursacht Tabluarx bei mir einen unerwünschten Zeilenumbruch, wenn ich nur eine Seite einer Tabelle fülle.

Im konkreten Kontext handelt es sich dabei um eine Auflistung von Vor- und Nachteilen.

\documentclass[%
    fontsize=11pt, 
    twoside=off
]{scrbook}

\usepackage{tabularx} 
\usepackage[tablewithout, figurewithout]{caption}

%tabelles
\renewcommand{\arraystretch}{1.8}
\newcolumntype{M}[1]{X<{\vspace{4pt}\hsize=#1\hsize}} 
%original: \newcolumntype{M}{X<{\vspace{4pt}}}
%one of both I **have** to use
 
%font
\usepackage[scaled]{helvet}
\renewcommand{\familydefault}{\sfdefault}

\begin{document}
\begin{table}[!h]
    \fontsize{9pt}{13pt}\selectfont
    \begin{tabularx}{\textwidth}{ M{1} | M{1} }
        \textbf{Vorteile}& \textbf{Nachteile}\\
        \hline
        + einfache, leicht nachvollziehbare Funktionsweise & - hoher Wartungsaufwand, regelmäßiger Ölwechsel \\ 
        + Signalleitung über die Tragkonstruktion möglich & - empfindlich für mechanische Beschädigung \\
        + nur geringer Strombedarf für die Aufzeichnung & - sehr anfällig für Belegung mit Treibzeug, Kraut \\
        + langlebig & - Blockade durch Sandkörner, Vereisung möglich\\
        & - großer zeitlicher Aufwand bei Hochwasser\\%
        & - Beeinflussung durch Schiffstoß und Eis\\%
    \end{tabularx}
    \caption{Vor- und Nachteile des Messflügels}
    \label{Pro/Con Messflügel Einzelmesspunkt}
\end{table}
\end{document}

Bildbeschreibung hier eingeben

Gibt es eine Möglichkeit, das zu stoppen?

Eine nicht damit zusammenhängende Frage: Gibt es eine einfache Möglichkeit, Ihren Fließtext durch Lorem Ipsum zu ersetzen?

Antwort1

Ich möchte Ihnen empfehlen, den Inhalt der Tabelle wie folgt neu zu ordnen:

  1. der Inhalt beider Spalten sollte als separate listenartige Umgebungen organisiert werden,

  2. Verwenden Sie keine vertikalen Linien, sondern horizontale Linien mit gutem Abstand, wie \midrule(vom booktabsPaket bereitgestellt),

  3. Verwenden Sie das enumitemPaket, um das Erscheinungsbild der listenähnlichen Umgebungen anzupassen, einschließlich der vertikalen Trennung zwischen Elementen, und

  4. Schaffen Sie Anweisungen wie \fontsize{9pt}{13pt}\selectfont, \renewcommand{\arraystretch}{1.8}; und \vspace{4pt}ab, da diese sehr umständlich sind und (im Wesentlichen) Ärger vorprogrammieren.

Bildbeschreibung hier eingeben

\documentclass[fontsize=11pt,twoside=off]{scrbook}

\usepackage[tablewithout, figurewithout]{caption}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

%tabelles
\usepackage{tabularx,ragged2e} 
\newcolumntype{L}{>{\RaggedRight}X} % suppress justification

\usepackage[scaled]{helvet} % are you sure you need the 'scaled' option?
\renewcommand{\familydefault}{\sfdefault}

\usepackage{enumitem} % for \newlist and \setlist macros
\newlist{myitemize}{itemize}{1} % create a bespoke list-like env.
\setlist[myitemize]{label=\textbullet, left=0pt,
     itemsep=1ex, % set as needed/desired
     before={\begin{minipage}[t]{\hsize}},
     after={\end{minipage}}}
     
\usepackage{booktabs} % for '\midrule' macro

\begin{document}

\begin{table}[ht]
\footnotesize % instead of '\fontsize{9pt}{13pt}\selectfont'
\begin{tabularx}{\textwidth}{@{} LL @{}} % note: no vertical rule
\textbf{Vorteile} & \textbf{Nachteile} \\
\midrule
\begin{myitemize}
\item Einfache, leicht nachvollziehbare Funktionsweise 
\item Signalleitung über die Tragkonstruktion möglich 
\item Nur geringer Strombedarf für die Aufzeichnung 
\item Langlebig
\end{myitemize}
&
\begin{myitemize}
\item Hoher Wartungsaufwand, regelmäßiger Ölwechsel
\item Empfindlich für mechanische Beschädigung
\item Sehr anfällig für Belegung mit Treibzeug, Kraut
\item Blockade durch Sandkörner, Vereisung möglich
\item Großer zeitlicher Aufwand bei Hochwasser
\item Beeinflussung durch Schiffstoß und Eis
\end{myitemize}\\
\end{tabularx}
\caption{Vor- und Nachteile des Messflügels}
\label{Pro/Con_Messflügel_Einzelmesspunkt}
\end{table}

\end{document}

Antwort2

Ich bin nicht sicher, wo Sie es gefunden haben X<{\vspace{4pt}\hsize=#1\hsize}, aber es ist in vielerlei Hinsicht wirklich falsch.

Der \hsizeAufbau sollte am Anfang und nicht am Ende erfolgen. Und \vspace{4pt}richtet Schaden an.

Beispiel mit \vspace{4pt}am Ende

\documentclass[
  fontsize=11pt, 
  twoside=off
]{scrbook}

\usepackage{tabularx} 
\usepackage[tablewithout, figurewithout]{caption}

\renewcommand{\arraystretch}{1.8}
\newcolumntype{M}[1]{>{\hsize=#1\hsize}X<{\vspace{4pt}}}

\begin{document}

\begin{table}[!htp]

\fontsize{9pt}{13pt}\selectfont

\begin{tabularx}{\textwidth}{ M{1} | M{1} }
  \textbf{Vorteile}& \textbf{Nachteile}\\
  \hline
  + einfache, leicht nachvollziehbare Funktionsweise &
  - hoher Wartungsaufwand, regelmäßiger Ölwechsel \\ 
  + Signalleitung über die Tragkonstruktion möglich &
  - empfindlich für mechanische Beschädigung \\
  + nur geringer Strombedarf für die Aufzeichnung &
  - sehr anfällig für Belegung mit Treibzeug, Kraut \\
  + langlebig &
  - Blockade durch Sandkörner, Vereisung möglich \\
  &
  - großer zeitlicher Aufwand bei Hochwasser \\
  &
  - Beeinflussung durch Schiffstoß und Eis \\
\end{tabularx}

\caption{Vor- und Nachteile des Messflügels}
\label{Pro/Con Messflügel Einzelmesspunkt}

\end{table}

\end{document}

Bildbeschreibung hier eingeben

Beispiel ohne \vspace{4pt}am Ende

\documentclass[
  fontsize=11pt, 
  twoside=off
]{scrbook}

\usepackage{tabularx} 
\usepackage[tablewithout, figurewithout]{caption}

\renewcommand{\arraystretch}{1.8}
\newcolumntype{M}[1]{>{\hsize=#1\hsize}X}

\begin{document}

\begin{table}[!htp]

\fontsize{9pt}{13pt}\selectfont

\begin{tabularx}{\textwidth}{ M{1} | M{1} }
  \textbf{Vorteile}& \textbf{Nachteile}\\
  \hline
  + einfache, leicht nachvollziehbare Funktionsweise &
  - hoher Wartungsaufwand, regelmäßiger Ölwechsel \\ 
  + Signalleitung über die Tragkonstruktion möglich &
  - empfindlich für mechanische Beschädigung \\
  + nur geringer Strombedarf für die Aufzeichnung &
  - sehr anfällig für Belegung mit Treibzeug, Kraut \\
  + langlebig &
  - Blockade durch Sandkörner, Vereisung möglich \\
  &
  - großer zeitlicher Aufwand bei Hochwasser \\
  &
  - Beeinflussung durch Schiffstoß und Eis \\
\end{tabularx}

\caption{Vor- und Nachteile des Messflügels}
\label{Pro/Con Messflügel Einzelmesspunkt}

\end{table}

\end{document}

Bildbeschreibung hier eingeben

Warum der Unterschied?

Denn \vspace{4pt}diese wird erst nach dem Einsetzen der Strebe am Ende der Zelle hinzugefügt und die Wirkung ist völlig unvorhersehbar.

Antwort3

Um den Text in jeder Zelle vertikal zu zentrieren, können Sie den mSpaltentyp aus dem arrayPaket verwenden. Für eine bessere Zentrierung können Sie außerdem den XSpaltentyp aus dem tabularxPaket verwenden.

PS: Die Schriftart Ihrer Abbildung ist eine Arial (glaube ich).

\documentclass[%
    fontsize=11pt, 
    twoside=off
]{scrbook}
\usepackage{tabularx} 
\usepackage[tablewithout, figurewithout]{caption}
\usepackage{array} 

\begin{document}

\begin{table}[!h]
    \fontsize{9pt}{13pt}\selectfont
    \begin{tabularx}{\textwidth}{ X | X }
        \textbf{Vorteile} & \textbf{Nachteile} \\
        \hline
        + einfache, leicht nachvollziehbare Funktionsweise & - hoher Wartungsaufwand, regelmäßiger Ölwechsel \\ 
        + Signalleitung über die Tragkonstruktion möglich & - empfindlich für mechanische Beschädigung \\
        + nur geringer Strombedarf für die Aufzeichnung & - sehr anfällig für Belegung mit Treibzeug, Kraut \\
        + langlebig & - Blockade durch Sandkörner, Vereisung möglich\\
        & - großer zeitlicher Aufwand bei Hochwasser\\
        & - Beeinflussung durch Schiffstoß und Eis\\
    \end{tabularx}
    \caption{Vor- und Nachteile des Messflügels}
    \label{Pro/Con Messflügel Einzelmesspunkt}
\end{table}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen