
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:
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 tabularx
Umgebung, schließen aber keine erweiterbaren Spalten ein. Daher tabularx
wird versucht, die Tabelle bis zur Breite von zu füllen, \textwidth
kann aber keine zu erweiternden Spalten finden.
Die tabularx
Umgebung gibt Ihnen die Möglichkeit zu erstellenerweiterbarSpalten. Sie sind X
in 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 \parbox
der 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 \noindent
am 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}