Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

27 Nov '19, 08:39

der_zornige_juergen's gravatar image

der_zornige_juergen
1.3k210

Dein Beispiel ist leider nicht lauffähig, weil die Tabellenzeile mit `\ ` statt `\\` oder `\tabularnewline` beendet ist. 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: \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} 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): [![OriginalErgebnis][1]][2][![Ergebnis mit \hspace][3]][4] Natürlich musst du jetzt noch die Breite der Tabelle anpassen, wenn sie bis zum rechten Rand gehen soll. Das geht wahlweise mit [`tabularx`](https://ctan.org/pkg/tabularx) oder mit etwas Berechnung: \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} [![Tabelle in Papierbreite][5]][5] 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: \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} oder ein weiteres `\hspace` nach `\end{tabular}` schreiben. Aber das Ergebnis funktioniert auch ohne das. [1]: https://i.ibb.co/304SkfG/Original-Ergebnis.png [2]: https://i.ibb.co/304SkfG/Original-Ergebnis.png [3]: https://i.ibb.co/sbKQJWL/hspace-Ergebnis.png [4]: https://i.ibb.co/sbKQJWL/hspace-Ergebnis.png [5]: https://i.ibb.co/qjckFxD/Papierbreiten-Ergebnis.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2
Abbildungen eingefügt

27 Nov '19, 08:32

der_zornige_juergen's gravatar image

der_zornige_juergen
1.3k210

Dein Beispiel ist leider nicht lauffähig, weil die Tabellenzeile mit `\ ` statt `\\` oder `\tabularnewline` beendet ist. 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: \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} 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): [![OriginalErgebnis][1]][2][![Ergebnis mit \hspace][3]][4] Natürlich musst du jetzt noch die Breite der Tabelle anpassen, wenn sie bis zum rechten Rand gehen soll. Das geht wahlweise mit [`tabularx`](https://ctan.org/pkg/tabularx) oder mit etwas Berechnung: \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} [![Tabelle in Papierbreite][5]][5] Und dann gibt es sicher ein Problem mit einer Overfull \\hbox. Wenn dich das stört, kann man da vielleicht etwas vetwas mit der `addmargin`-Umgebung machen machen: \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} oder ein weiteres `\hspace` nach `\end{tabular}` schreiben. Aber das Ergebnis funktioniert auch ohne das.das. [1]: https://i.ibb.co/304SkfG/Original-Ergebnis.png [2]: https://i.ibb.co/304SkfG/Original-Ergebnis.png [3]: https://i.ibb.co/sbKQJWL/hspace-Ergebnis.png [4]: https://i.ibb.co/sbKQJWL/hspace-Ergebnis.png [5]: https://i.ibb.co/qjckFxD/Papierbreiten-Ergebnis.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

21 Nov '19, 13:33

der_zornige_juergen's gravatar image

der_zornige_juergen
1.3k210