tabularx faz uma quebra de linha indesejada

tabularx faz uma quebra de linha indesejada

Como o título diz, Tabluarx me causa uma quebra de linha indesejada quando preencho apenas uma página de uma tabela.

No contexto específico, esta é uma lista de prós e contras.

\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}

insira a descrição da imagem aqui

Existe uma maneira de parar isso?

Uma pergunta não relacionada: existe uma maneira fácil de substituir o corpo do texto por lorem Ipsum?

Responder1

Eu gostaria de recomendar que você reorganizasse o conteúdo da tabela da seguinte forma:

  1. o conteúdo de ambas as colunas deve ser organizado como ambientes semelhantes a listas separados,

  2. não use réguas verticais, mas sim réguas horizontais bem espaçadas, como \midrule(fornecidas pelo booktabspacote),

  3. usar o enumitempacote para personalizar a aparência dos ambientes semelhantes a listas, incluindo a separação vertical entre itens, e

  4. elimine instruções como \fontsize{9pt}{13pt}\selectfont, \renewcommand{\arraystretch}{1.8}; e \vspace{4pt}como eles são muito desajeitados e estão (essencialmente) procurando encrenca.

insira a descrição da imagem aqui

\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}

Responder2

Não tenho certeza de onde você encontrou X<{\vspace{4pt}\hsize=#1\hsize}, mas está realmente errado em muitos aspectos.

A \hsizeconfiguração deve ser feita no início, não no final. E \vspace{4pt}está causando danos.

Exemplo com \vspace{4pt}no final

\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}

insira a descrição da imagem aqui

Exemplo sem \vspace{4pt}no final

\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}

insira a descrição da imagem aqui

Por que a diferença?

Porque \vspace{4pt}é inserido após o suporte adicionado no final da célula e o efeito é totalmente imprevisível.

Responder3

Para centralizar o texto verticalmente em cada célula, você pode usar o mtipo de coluna do arraypacote. Além disso, para melhor centralização, você pode usar o Xtipo de coluna do tabularxpacote.

PS: A fonte da sua figura é Arial (eu acho).

\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}

insira a descrição da imagem aqui

informação relacionada