Hallo Ich möchte eine Tabelle über die gesamte Seitenbreite \paperwidth anlegen. Der Rechte Seitenrand stellt da kein Problem dar, nur der linke.

Das gesamte Layout soll sich später so gestalten, dass die Tabelle unter einem Bild, das in Textbreite skalliert ist steht. Nach der Tabelle soll der Text auch wieder in Textbreite weiter gehen. Wie schaffe ich es, dass die Tabelle über den linken Rand der Textbreite zu bekommen?

Code, hier editierbar zum Übersetzen:
\documentclass[12pt]{scrreprt}
\usepackage[ngerman, english]{babel}
\begin{document}
\begin{tabular}[b]{|p{0.4\paperwidth}|p{0.5\paperwidth}|}\hline
Spalte 1 & Spalte 2 \\ \hline
\end{tabular}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Vielen Dank!

gefragt 21 Nov '19, 09:12

Fermin's gravatar image

Fermin
21112
Akzeptiert-Rate: 0%

bearbeitet 24 Nov '19, 02:11

esdd's gravatar image

esdd
17.8k304257

Lies bitte in der FAQ die Bemerkung zur Unterscheidung von Antworten und Kommentaren. Auch wenn die Hervorhebung des Quelltextes noch nicht wieder so funktioniert, wie es einmal war, so bekommst Du immerhin eine feste Zeichenbreite. Wähle dafür im Editor den Quelltext aus und betätige die Schaltfläche, die Einsen und Nullen zeigt.

(22 Nov '19, 16:18) Bartman

Da Du ein einseitiges Dokument erstellst, bei dem der linke und rechte Rand gleich breit sind, genügt es die Tabelle relativ zum Textbereich horizontal zu zentrieren. Das geht mit \makebox[textwidth]{<deine tabelle>}.

Code, hier editierbar zum Übersetzen:
\documentclass[12pt]{scrreprt}
\usepackage[ngerman, english]{babel}
\begin{document}
\noindent% Absatzeinzug unterdrücken
\makebox[\textwidth]{% Box mit Textbreite, deren Inhalt horizontal zentriert wird
\begin{tabular}[b]{|p{0.4\paperwidth}|p{0.5\paperwidth}|}\hline
Spalte 1 & Spalte 2 \\ \hline
\end{tabular}%
}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Die Tabelle in Deinem MWE ist allerdings schmaler als \paperwidth, wobei ohnehin zu beachten ist, dass viele Drucker nicht bis zum Rand drucken können.

alt text

Permanenter link

beantwortet 24 Nov '19, 02:40

esdd's gravatar image

esdd
17.8k304257
Akzeptiert-Rate: 62%

bearbeitet 16 Jan '20, 12:03

Dass die Tabelle nicht linksbündig mit dem Papier ist, ist eigentlich logisch. LaTeX hat keinen Grund, die Tabelle weiter links zu beginnen, nur weil sie breiter als die Textbreite ist. Dazu muss man die Tabelle schon explizit nach links schieben. Dafür kennt LaTeX die Anweisung \hspace*. Der linke Rand ist bei LaTeX \oddsidemargin und beginnt aus unerfindlichen Gründen 1in rechts vom tatsächlichen linken Rand. Außerdem muss man bei scrreprt ohne Option parskip noch 1em zusätzlich nach links, wegen dem Absatzeinzug. Also wäre die Lösung:

Code, hier editierbar zum Übersetzen:
\documentclass[12pt]{scrreprt} \usepackage[ngerman, english]{babel}
\begin{document}
\hspace*{-\oddsidemargin}\hspace{-1in}\hspace{-1em}%
\begin{tabular}{|p{0.4\paperwidth}|p{0.5\paperwidth}|}\hline
Spalte 1 & Spalte 2 \\ \hline \end{tabular} \end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Das % in der \hspace-Zeile braucht man, weil sonst ein Leerzeichen vor der Tabelle eingefügt wird.

Hier zum Vergleich jeweils eine Seite mit dem ursprünglichen Ergebnis (links bzw. oben) und dem Ergebnis mit den \hspace (rechts bzw. unten):

OriginalErgebnisErgebnis mit \hspace

Natürlich musst du jetzt noch die Breite der Tabelle anpassen, wenn sie bis zum rechten Rand gehen soll. Das geht wahlweise mit tabularx oder mit etwas Berechnung:

Code, hier editierbar zum Übersetzen:
\documentclass[12pt]{scrreprt}
\usepackage[ngerman]{babel}
\begin{document}
\hspace*{-\oddsidemargin}\hspace{-1in}\hspace{-\parindent}%
\begin{tabular}{|*2{p{\dimexpr .5\paperwidth-2\tabcolsep\relax}|}}
\hline
Spalte 1 & Spalte 2 \\
\hline
\end{tabular}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Tabelle in Papierbreite

Und dann gibt es sicher ein Problem mit einer Overfull \hbox. Wenn dich das stört, kann man da vetwas mit der addmargin-Umgebung machen:

Code, hier editierbar zum Übersetzen:
\documentclass[12pt]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\begin{document}
\begin{addmargin}{-\dimexpr \oddsidemargin+1in\relax}
\begin{tabularx}{\paperwidth}{|X|X|}
\hline
Spalte 1 & Spalte 2 \\
\hline
\end{tabularx}
\end{addmargin}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

oder ein weiteres \hspace nach \end{tabular} schreiben. Aber das Ergebnis funktioniert auch ohne das.

Permanenter link

beantwortet 21 Nov '19, 13:33

der_zornige_juergen's gravatar image

der_zornige_...
1.3k210
Akzeptiert-Rate: 33%

bearbeitet 27 Nov '19, 08:39

Hallo, danke für die Antwort! Auch wenn Dein Beispiel bei mir leider keinen Effekt hat komme ich mit \hspace weiter. Die Feinjustage bekomme ich schon hin.

Thanks!

(21 Nov '19, 14:55) Fermin

@Fermin: Ich habe Deine "Antwort" in einen Kommentar umgewandelt, da sie keine Antwort auf Deine Frage ist.

(24 Nov '19, 02:18) esdd

@Fermin: Die \hspace in meinem Code haben sehr wohl einen Effekt. Wie man deutlich an den eingefügten Abbildungen sehen kann, rückt damit die Tabelle an den linken Rand des Papiers, genau wie das in der Frage gefordert wurde. Wenn das bei dir nicht so ist, dann hast du nicht mein Beispiel kopiert.

(27 Nov '19, 08:34) der_zornige_...

Ich gehe davon aus, dass das Dokument eine definierte Seitengeometrie hat und die Tabelle (und ein Bild) darüber hinaus ragen soll.
Dafür würde ich einfach partiell die Seitengeometrie ändern, und dann kann man an sich normale Einstellungen verwenden.

1. Änderung der Seitengeometrie in eingeschränktem Bereich: \usepackage{changepage}

alt text

Code, hier editierbar zum Übersetzen:
\documentclass[12pt,a4paper]{article}
\usepackage[margin=1in, % Beispiel
]{geometry}
\usepackage{changepage}
\usepackage{colortbl} % Zur Hervorhebung
\arrayrulecolor{red} %
\usepackage{showframe, lipsum} %
\begin{document}
\section{Normale Seitengeometrie}
\begin{tabular}{|p{0.4\paperwidth}|p{0.5\paperwidth}|}\hline
Spalte 1 & Spalte 2 \\ \hline
nicht wie gewünscht & \\ \hline
\end{tabular}
\lipsum[66]
\begin{adjustwidth}{-2.3cm}{-3.5cm}
\section{Partiell veränderte Seitengeometrie}
\begin{tabular}{|p{0.4\linewidth}|p{0.5\linewidth}|}\hline
Spalte 1 & Spalte 2 \\ \hline
wie gewünscht & \\ \hline
\end{tabular}
\subsection{Text zum Vergleich}
\lipsum[2]
\end{adjustwidth}
\section{Wieder normale Seitengeometrie}
\lipsum[2]
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

2. Änderung der Seitengeometrie einer ganzen Seite: \usepackage{geometry}

alt text

Code, hier editierbar zum Übersetzen:
\documentclass[12pt,a4paper]{article}
\usepackage[margin=1in, % Beispiel
]{geometry}
\usepackage{colortbl} % Zur Hervorhebung
\arrayrulecolor{red} %
\usepackage{showframe} %
\begin{document}
\section{Normale Seitengeometrie}
\begin{tabular}{|p{0.4\paperwidth}|p{0.5\paperwidth}|}\hline
Spalte 1 & Spalte 2 \\ \hline
nicht wie gewünscht & \\ \hline
\end{tabular}
\newgeometry{margin=1in,left=5mm, right=5mm} %% I increased for demo
\section{Andere Seitengeometrie auf ganzen einer ganzen Seite }
\begin{tabular}{|p{0.4\textwidth}|p{0.5\textwidth}|}\hline
Spalte 1 & Spalte 2 \\ \hline
wie gewünscht & \\ \hline
\end{tabular}
\restoregeometry
\section{Wieder normale Seitengeometrie}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Permanenter link

beantwortet 22 Nov '19, 15:06

haver555's gravatar image

haver555
199512
Akzeptiert-Rate: 7%

bearbeitet 22 Nov '19, 15:32

Wozu lädst du ein weiteres Paket, wenn die verwendete Klasse mit dem von mir bereits in der ersten Fassung meiner Antwort erwähnten addmargin selbst eine passende Umgebung bereitstellt?

(27 Nov '19, 08:37) der_zornige_...
Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×258

gestellte Frage: 21 Nov '19, 09:12

Frage wurde gesehen: 12,576 Mal

zuletzt geändert: 27 Nov '19, 08:39

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×