Longtable über textbreite und zentriert

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


joe
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Sa 3. Mai 2014, 14:21

Longtable über textbreite und zentriert

Beitrag von joe »

Hallo Leute, bisher hab ich hier für all meine LaTeX-Probleme eine Lösung gefunden, aber diesmal will es irgendwie nicht so recht klappen. Vielleicht suche ich nach den falschen Schlagworten oder was auch immer.

Also ich möchte eine Longtable mit etwa width=1.2\textwidth und habe die Spalten so bemessen wie ich sie brauche. Das Problem ist, dass trotz all meiner Bemühungen die Tabelle nicht etwa mittig erscheint, sondern am rechten Rand.

Habe alle möglikchen sachen auf die ich gestoßen bin probiert, aber ich finde den Fehler einfach nicht. Hatte jemand schonmal mit etwas ähnlichem zu tun?

MfG
Joe
\documentclass[a4paper, 12pt, parskip]{scrreprt} 
\usepackage[ngerman]{babel}					
\usepackage[utf8]{inputenc}

\usepackage{caption}
\usepackage{longtable}
\usepackage{geometry}

\geometry{a4paper, top=25mm, left=40mm, right=30mm, bottom=25mm, headsep=5mm, footskip=12mm}

\begin{document}

\begingroup

	\renewcommand{\arraystretch}{1.2}
	\captionof{table}{Erläuterung der Erfüllungsgrade der Anforderungsliste}
	\begin{addmargin}{\dimexpr -\oddsidemargin-1.5in\relax}
	\centering
	\begin{longtable}[1.2115\textwidth]{|p{6cm}|p{4.5cm}|p{0.7cm}|p{4cm}|}\hline \label{planen}
	\textbf{Kompetenzentwicklung} 						& \textbf{Inhalte} 					& \textbf{Std.} 			& \textbf{U-Verf., SF, Medien} \\ \hline
	\end{longtable}
	\end{addmargin}	

\endgroup
\end{document}
[/code]

Ben
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Di 22. Jul 2014, 10:33
Wohnort: Homburg

Beitrag von Ben »

Mit longtable habe ich leider nicht sonderlich viel Erfahrung...

Aber soweit ich das Abschätzen kann, hängt es mit deiner Angabe der Seitenränder zusammen.

Longtable hällt deinen linken Rand von 4cm ein. Deine Tabelle ist 15,2cm breit. Somit ist es nicht möglich die Tabelle auf dem 21cm breiten Din A4 Blatt mittig zu platzieren.

Gruß

Ben

joe
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Sa 3. Mai 2014, 14:21

Beitrag von joe »

Moin!
Also ich hab die addmargin Umgebung schon vorher benutzt, aber mit tabularx. Da klappt es wunderbar, aber anscheinend nur solange es sich in einer table Umgebung befindet. Hab den code mal um ein beispiel erweitert wie ich es gerne haben möchte. Aber eine longtable soll ja kein gleitobjekt sein, trotzdem muss man es doch hinbekommen das es über die textbreite geht... Bin kurz davor die Tabelle in Word zu machen und einzubinden :?
\documentclass[a4paper, 12pt, parskip]{scrreprt}
\usepackage[ngerman]{babel}              
\usepackage[utf8]{inputenc}

\usepackage{caption}
\usepackage{longtable}
\usepackage{geometry}
\usepackage{tabularx}
\geometry{a4paper, top=25mm, left=40mm, right=30mm, bottom=25mm, headsep=5mm, footskip=12mm}

\begin{document}

\begin{table}[htbp]
	\begin{addmargin}{\dimexpr -\oddsidemargin-1.5in\relax}
	\caption{so soll es positioniert sein}	
	\centering
	\label{1}
	\begin{tabularx}{1.2115\textwidth}[h]{|p{3.5cm}|p{3.8cm}|p{3.8cm}|p{4.1cm}|} \hline 
	\multicolumn{4}{|c|}{Handlungskompetenz} \\ \hline
	\textbf{Hier} 						& \textbf{geht} 					& \textbf{es} 			& \textbf{ja} \\ \hline
	\end{tabularx}	
	\end{addmargin}
\end{table}

\begingroup

   \renewcommand{\arraystretch}{1.2}
   \captionof{table}{...}
   \begin{addmargin}{\dimexpr -\oddsidemargin-1.5in\relax}
   \centering
   \begin{longtable}[1.2115\textwidth]{|p{6cm}|p{4.5cm}|p{0.7cm}|p{4cm}|}\hline \label{planen}
   \textbf{Kompetenzentwicklung}                   & \textbf{Inhalte}                & \textbf{Std.}          & \textbf{U-Verf., SF, Medien} \\ \hline
   \end{longtable}
   \end{addmargin}  

\endgroup
\end{document} 

DADABBI

Beitrag von DADABBI »

Eine longtable wird nach eigenen Regeln gesetzt, wobei das optionale Argument übrigens nicht die Breite angibt, in deinem Beispiel also komplett falsch verwendet wurde. Insgesamt macht mir dein Beispiel den Eindruck, als solltest du die [d]longtable[/d]-Anleitung noch einmal sehr aufmerksam lesen.

Eine longtable bricht dazu aus diversen anderen Umgebungen aus. Daher hat die addmargin-Umgebung auf die longtable keine Auswirkung.

Man kann die horizontale Ausrichtung ggf. über Umdefinierung von \LTleft und \LTright ändern:
\documentclass[a4paper,12pt,parskip,captions=tableabove]{scrreprt}
\usepackage[ngerman]{babel}              
\usepackage[utf8]{inputenc}

\usepackage{caption}
\usepackage{longtable}
\usepackage{geometry}
\usepackage{tabularx}
\geometry{a4paper, top=25mm, left=40mm, right=30mm, bottom=25mm,
  headsep=5mm,footskip=12mm,showframe}% showframe, um den Textbereich sichtbar
                                % zu machen
\begin{document}

\begingroup
   \renewcommand{\arraystretch}{1.2}%
   \setlength{\LTleft}{0pt plus 1fill minus 1fill}%
   \setlength{\LTright}{0pt plus 1fill minus 1fill}%
   \begin{longtable}{|p{6cm}|p{4.5cm}|p{0.7cm}|p{4cm}|}
     \caption{...}\label{planen}\\
     \hline
     \textbf{Kompetenzentwicklung}                   & \textbf{Inhalte}
     & \textbf{Std.}          & \textbf{U-Verf., SF, Medien} \\ \hline
     \endfirsthead
   \end{longtable}
\endgroup
\end{document}
Übrigens tabularx ohne X-Spalte ist auch nicht sinnvoll.

Und dann sei noch darauf hingewiesen, dass vertikale Linien in Tabellen sehr schlecht sind und man auch die horizontalen auf ein Mindestmaß reduzieren sollte. Siehe beispielsweise die [d]booktabs[/d]-Anleitung oder tabsatz.pdf (Links in den Wichtige Netzdokumente).

Antworten