Ich versuche, eine Tabelle mit genau der gleichen Breite wie der umgebende Text zu erstellen.
Ich würde erwarten, dass der Befehl \resizebox{\linewidth}{!}{..table..}
funktioniert. Die Tabellenbreite ist jedoch immer noch zu klein.
\documentclass{scrartcl}
\usepackage{graphicx}
\usepackage[table]{xcolor}
\setlength{\parindent}{0pt}
\usepackage[
top=0.600cm,
bottom=0.600cm,
left=0.600cm,
right=0.600cm]
{geometry}
\begin{document}
bla blub blaaa bla blub blaaabla blub blaaa bla blub blaaa bla blub blaaa bla blub blaaaa
bla blub blaaa bla blub blaaabla blub blaaa bla blub blaaa bla blub blaaa bla blub blaaaa
bla blub blaaa bla blub blaaabla blub blaaa bla blub blaaa bla blub blaaa bla blub blaaaa
bla blub blaaa bla blub blaaabla blub blaaa bla blub blaaa bla blub blaaa bla blub
\resizebox{\linewidth}{!}{
\begin{tabular}{|l|l|l|l|}
\hline
test entry & test entry & test entry & test entry \\
test entry & test entry & test entry & test entry \\
test entry & test entry & test entry & test entry \\
\hline
\end{tabular}
}
\end{document}
Antwort1
Ich denke, Sie haben zwei gute und eine (wahrscheinlich) schreckliche Möglichkeit:
Verwenden Sie eine
tabular*
Umgebung,Verwenden Sie eine
tabularx
Umgebung (oder deren nahen Verwandtentabulary
)Verwenden Sie die Basisumgebung
tabular
und skalieren Sie sie mithilfe von nach oben (oder unten)\resizebox
.
Die Ergebnisse sind wie folgt (die erste horizontale Linie dient nur zur Veranschaulichung der Breite des Textblocks; dieKörperder vier Tabellen sind identisch, d.h. sie unterscheiden sich "nur" im Layout):
Können Sie erklären, warum ich die verwendete Methode \resizebox
für schlichtweg schrecklich halte?
\documentclass{scrartcl}
\usepackage{graphicx} % for '\resizebox` macro
\usepackage{tabularx} % for 'tabularx' environment
\setlength{\parindent}{0pt}
\usepackage[margin=0.6cm]{geometry}
\newcommand\TestTable{% define body of test table
\hline
test entry & test entry & test entry & test entry \\
test entry & test entry & test entry & test entry \\
test entry & test entry & test entry & test entry \\
\hline}
\begin{document}
\hrule
\subsubsection*{Unscaled}
\begin{tabular}{llll}
\TestTable
\end{tabular}
\subsubsection*{Using \texttt{tabular*}}
\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}lll}
\TestTable
\end{tabular*}
\subsubsection*{Using \texttt{tabularx}}
\begin{tabularx}{\textwidth}{XXXX}
\TestTable
\end{tabularx}
\subsubsection*{Scaled with \texttt{\textbackslash resizebox}}
\resizebox{\linewidth}{!}{%
\begin{tabular}{llll}
\TestTable
\end{tabular}}
\end{document}