Leerzeichen in tabularx nach \extracolsep hinzugefügt

Leerzeichen in tabularx nach \extracolsep hinzugefügt

Ich bin ziemlich neu bei Tex, aber ich habe einige Tutorials gemacht und stecke jetzt fest, nachdem googeln nicht mehr geholfen hat.

Mein Code:

\bgroup
\def\arraystretch{1.75}
\begin{tabularx}{\textwidth}{ | l | @{\extracolsep{\fill}} l | l | l | l | l |}
    \hline 
    \textbf{col 1} &  & col 3 & col 4 & & col 6
    \\
    \hline
    some stuff & & & & other stuff & 
    \\
    \hline
    text thats pretty & & & & important & 
    \\
    \hline

    \multicolumn{5}{r|}{combined } & \\ \cline{6-6}
\end{tabularx}
\egroup

Mein Problem sieht folgendermaßen aus:

Bildbeschreibung hier eingeben

Ich weiß nicht, wie ich das beheben kann. Ich bin an die Einfachheit von HTML gewöhnt, bei der „width: 100%;“ verwendet wird und die Spalten dann automatisch in der Größe angepasst werden. Wie könnte ich etwas Ähnliches in Tex erreichen?

Antwort1

Sie verwenden die tabularxUmgebung, schließen aber keine erweiterbaren Spalten ein. Daher tabularxwird versucht, die Tabelle bis zur Breite von zu füllen, \textwidthkann aber keine zu erweiternden Spalten finden.

Die tabularxUmgebung gibt Ihnen die Möglichkeit zu erstellenerweiterbarSpalten. Sie sind Xin der Spaltendeklaration durch gekennzeichnet. Diese Spalten werden erweitert, um den verfügbaren Platz auszufüllen, der durch die angegebene Breite für die Umgebung bereitgestellt wird. Die erweiterten Spalten werden als Spalten \parboxder Breite behandelt, auf die erweitert wurde.

Wählen Sie daher eine Spalte aus, die erweiterbar ist:

\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{tabularx}
\pagestyle{empty}
\begin{document}
\noindent
\bgroup
\def\arraystretch{1.75}%
\begin{tabularx}{\textwidth}{ | l |  @{\extracolsep{\fill}}  l | l | l | l | X |}
    \hline 
    \textbf{col 1}    &  & col 3 & col 4 &             & col 6    \\\hline
    some stuff        &  &       &       & other stuff &          \\\hline
    text thats pretty &  &       &       & important   &          \\\cline{6-6}

    \multicolumn{5}{r|}{combined } &                              \\\cline{6-6}
\end{tabularx}
\egroup

\end{document}

Sie sind nicht auf nur eine erweiterbare Spalte beschränkt. Sie können so viele angeben, wie Sie möchten. Beispiel:

\begin{tabularx}{\textwidth}{ | l |  @{\extracolsep{\fill}}  X | X | X | X | X |}

Sie möchten es \noindentam Anfang der Gruppe haben, um eine Einrückung eines Absatzes zu verhindern, die sonst auftreten würde.

Laut @egregs Kommentar scheint der Inhalt dieser Tabelle nicht zu rechtfertigen, die gesamte Breite der Seite auszufüllen. Etwas wie das Folgende scheint für Sie einigermaßen gut zu funktionieren:

\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{tabularx}
\pagestyle{empty}
\begin{document}

\noindent
\hspace*{\fill}
\bgroup
\def\arraystretch{1.75}%
\begin{tabular}{ | l |  l | l | l | l | l |}
    \hline 
    \textbf{col 1}    &  & col 3 & col 4 &             & col 6    \\\hline
    some stuff        &  &       &       & other stuff &          \\\hline
    text thats pretty &  &       &       & important   &          \\\cline{6-6}

    \multicolumn{5}{r|}{combined } &                              \\\cline{6-6}
\end{tabular}
\egroup
\hspace*{\fill}

\end{document}

verwandte Informationen