Die folgende longtable soll auf die gesamte Textbreite skaliert werden. In der einfachen tabularx-Umgebung funktioniert dies mit \resizebox, in der Longtable - Umgebung klappt dieser Befehl nicht. Laut Seite 7 des longtable-Pakets ist dies mit den Zuweisungen \setlength\LTleft{0pt} und \setlength\LTright{0pt} sowie der Option {@{\extracolsep{...}}...} in der Umgebung zu schaffen:

Open in Online-Editor
\documentclass{article} 
\usepackage{graphicx} 
\usepackage{array} 
\usepackage{ragged2e}
\usepackage{longtable}
\usepackage{mwe} 
\newcolumntype{C}[1]{>{\Centering}m{#1}}
\begin{document}
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\begin{longtable}{@{\extracolsep{\fill}}C{3.5cm}C{2.5cm}C{2.5cm}C{2cm}C{2.5cm}@{}}
\includegraphics[width=\linewidth]{example-image-a} & A & B & C & D \\[-4pt]\cline{1-5} 
\includegraphics[width=\linewidth]{example-image-b} & A & B & C & D \\[-4pt]\cline{1-5}
\end{longtable}}
\end{document}

Leider passiert genau dies nicht, die Tabelle bleibt unverändert und steht weit über den rechten Seitenrand heraus. An andere Stelle wird empohlen die Umgebung mit \tiny zu versehen, jedoch wird dann lediglich die Schrift kleiner, die Problematik bleibt. Wie schaffe ich die gewünschte Skalierung auf Textbreite trotz der gewählten longtable-Umgebung?

gefragt 29 Sep, 08:42

GlobalArts's gravatar image

GlobalArts
17910
Akzeptiert: 66%

bearbeitet 29 Sep, 10:10

Henri's gravatar image

Henri
10.0k31730

Mit \extracolsep{\fill} kannst du die Tabelle nur strecken wenn sie vorher zu schmal war. Du willst die Tabelle jedoch stauchen um in den Textblock zu passen. Entweder wählst du die Spaltenbreiten in den C-Spalten entsprechend, dass genau die Textbreite erreicht wird oder du wählst sie so, dass die Tabelle etwas schmaler ist als die Textbreite ist und wendest die \extracolsep{\fill}-Variante an um sie wieder auf Textbreite zu strecken. Alternativ, siehe meine Antwort.

(29 Sep, 10:13) Henri

Nimm ltablex und X-Spalten für den Text. Diese passen sich automatisch so an, dass die Zielbreite (hier \textwidth) erreicht wird. Das tabularx aus ltablex bricht auch um über mehrere Seiten.

Open in Online-Editor
\documentclass{article}
\usepackage{graphicx}
\usepackage{array}
\usepackage{ragged2e}
\usepackage{ltablex}
\usepackage{mwe,showframe}
\newcolumntype{C}[1]{>{\Centering}m{#1}}
\renewcommand\tabularxcolumn[1]{C{#1}}
\keepXColumns
\begin{document}
\begin{tabularx}{\textwidth}{@{}C{3.5cm}XXXX@{}}
  \includegraphics[width=\linewidth]{example-image-a} & A & B & C & D \\[-4pt]\cline{1-5}
  \includegraphics[width=\linewidth]{example-image-b} & A & B & C & D \\[-4pt]\cline{1-5}
  \includegraphics[width=\linewidth]{example-image-a} & A & B & C & D \\[-4pt]\cline{1-5}
  \includegraphics[width=\linewidth]{example-image-b} & A & B & C & D \\[-4pt]\cline{1-5}
  \includegraphics[width=\linewidth]{example-image-a} & A & B & C & D \\[-4pt]\cline{1-5}
  \includegraphics[width=\linewidth]{example-image-b} & A & B & C & D \\[-4pt]\cline{1-5}
  \includegraphics[width=\linewidth]{example-image-a} & A & B & C & D \\[-4pt]\cline{1-5}
  \includegraphics[width=\linewidth]{example-image-b} & A & B & C & D \\[-4pt]\cline{1-5}
  \includegraphics[width=\linewidth]{example-image-a} & A & B & C & D \\[-4pt]\cline{1-5}
  \includegraphics[width=\linewidth]{example-image-b} & A & B & C & D \\[-4pt]\cline{1-5}
\end{tabularx}
\end{document}

alt text

Permanenter link

beantwortet 29 Sep, 09:59

Henri's gravatar image

Henri
10.0k31730

bearbeitet 29 Sep, 10:02

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×31

Frage gestellt: 29 Sep, 08:42

Frage wurde angeschaut: 216 Mal

Zuletzt aktualisiert: 29 Sep, 10:13