Tabelle über eine Doppelseite

Tabellen und Grafiken erstellen und anordnen


Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Lösungsvorschlag: Ich habe eine feste Zielgröße definiert mit tabularx und schiebe die linke Tabelle 10 mm über den Rand raus. Bei der rechten Tabelle habe ich zur Demonstration sie um 10 mm kleiner gemacht und dann mit \hspace um 20! mm nach rechts verschoben.
Das funktioniert so weit auch, Problem dabei ist natürlich, dass die erste Float auf einer linken Seite Landen muss! und die Lösung mindestens 2 overfull h-boxes produzieren muss, was natürlich nicht das schönste ist.
Zudem ist die Frage wie sich das Konstrukt in einem Real-Life Beispiel verhält. Noch ein wort zu der Rule. Ist natürlich so, dass das ein bisschen ne frikel Lösung ist, da du herausfinden musst wie groß deine andere Spalte ist. Am besten gibst du da noch 0.1 mm mehr drauf, falls da irgendwo ne variable Länge ist.
\documentclass[twoside]{scrbook} 
\usepackage[latin1]{inputenc}

\usepackage[ngerman]{babel}
\usepackage{dpfloat}
\usepackage{hyperref,booktabs,tabularx,calc,blindtext} 
\usepackage{rotating}
\newcommand{\xr}{lang & länger & noch länger &  und noch viel länger&} 
\newcommand{\xl}{ & lang & länger & noch länger &  und noch viel \hspace{5cm}länger \\}
\begin{document} 
\blindtext\blindtext\blindtext\blindtext
\begin{table}[tbp]
  \begin{leftfullpage}\caption{Hallo}\raggedright
\begin{tabularx}{\linewidth+10mm}{lcccc} 
\toprule 
Wort & 
\rule{0mm}{10mm} \begin{turn}{90}Spalte\end{turn}&\begin{turn}{90}Spalte\end{turn}& 
\begin{turn}{90}Spalte\end{turn}&\begin{turn}{90}Spalte\end{turn}\\ 
\cmidrule{2-5} 
null\xl 
eins\xl 
zwei\xl 
drei\xl 
vier\xl 
fünf\xl 
sechs\xl 
sieben\xl 
acht\xl 
neun\xl 
zehn\xl 
elf\xl 
zwölf\xl 
null\xl 
\bottomrule 
\end{tabularx}
  \end{leftfullpage}
\end{table}
\begin{table}[tbp]
  \begin{fullpage}\raggedleft
\begin{tabularx}{\linewidth-10mm}{ccccr} 
\toprule 
  \multicolumn{4}{c}{Fortsetzung\tiny ( würde ich hier nicht schreiben)} &\rule{0mm}{10mm}Zahl\\ 
\cmidrule{1-4} 
\xr 0\\ 
\xr 1\\ 
\xr 2\\ 
\xr 3\\ 
\xr 4\\ 
\xr 5\\ 
\xr 6\\ 
\xr 7\\ 
\xr 8\\ 
\xr 9\\ 
\xr 10\\ 
\xr 11\\ 
\xr 12\\ 
\xr 0\\
\bottomrule 
\end{tabularx}\hspace*{20mm}
  \end{fullpage}
\end{table}
\end{document}

skater
Forum-Guru
Forum-Guru
Beiträge: 356
Registriert: Do 12. Mär 2009, 14:34
Wohnort: Berlin

Beitrag von skater »

Bei dem Beispiel halten die linke und die rechte Seite leider nicht das Register. Liegt vermutlich an der Tabellenüberschrift auf der linken Seite.

Warum auf der rechten Seite die Kopf- und Fußlinie noch so viel weißen Raum überstreichen, dass verstehe ich auch nicht.

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Registerhaltigkeit in Latex ist sowieso so ne Sache. Ich weiß net genau aber ich glaube in Tabellen hält er nie das Register. (zumindest hier net).
Das mit der langen Tabelle, das ist eben so, wenn man eine Feste Breite der Tabelle definiert. die Rules sind dann eben Tabellenbreit. -> siehe auch tabularx Doku. Aus diesem Grund habe ich die Tabelle insgesamt etwas kleiner gemacht, dass du siehst wie man das einstellen kann. Ich eben habe nur keine X Columns definiert.

skater
Forum-Guru
Forum-Guru
Beiträge: 356
Registriert: Do 12. Mär 2009, 14:34
Wohnort: Berlin

2. Beispiel

Beitrag von skater »

Kann man darn noch etwas verbessern?
\documentclass[a5paper,pagesize,DIV11,twoside]{scrreprt}

\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[babel]{microtype}
\usepackage[pdfpagelayout={TwoColumnRight}]{hyperref}
\usepackage{dpfloat,booktabs,blindtext,rotating,lmodern}

\newcommand{\xr}{ lang&länger&noch länger&und noch viel länger& }
\newcommand{\xl}{ &lang&länger&nochlänger&und noch viel länger\\ }

\begin{document}

\chapter{eins}

\blindtext

\blindtext

\begin{table}[p]
\begin{leftfullpage}
\caption{Tabelle über Doppelseite}
\raggedleft
\rightskip-50pt
\begin{tabular}{lcccc@{\hspace*{50pt}}}
\toprule
Wort\rule{0pt}{26pt} &
\begin{turn}{90}one\end{turn}&\begin{turn}{90}two\end{turn}&
\begin{turn}{90}three\end{turn}&\begin{turn}{90}four\end{turn}\\
\cmidrule{2-5}
null\xl
eins\xl
zwei\xl
drei\xl
vier\xl
fünf\xl
sechs\xl
sieben\xl
acht\xl
neun\xl
zehn\xl
elf\xl
zwölf\xl
null\xl
eins\xl
zwei\xl
drei\xl
vier\xl
fünf\xl
sechs\xl
sieben\xl
acht\xl
neun\xl
zehn\xl
elf\xl
zwölf\xl
\bottomrule
\end{tabular}
\end{leftfullpage}
\end{table}
\begin{table}[p]
\begin{fullpage}
\raggedright
\vskip24.6pt
\leftskip-50pt
\begin{tabular}{@{\hspace*{50pt}}ccccr}
\toprule
\begin{turn}{90}five\end{turn}&\begin{turn}{90}six\end{turn}&
\begin{turn}{90}seven\end{turn}&\begin{turn}{90}eight\end{turn}&
 Zahl\rule{0pt}{26pt}\\
\cmidrule{1-4}
\xr0\\
\xr1\\
\xr2\\
\xr3\\
\xr4\\
\xr5\\
\xr6\\
\xr7\\
\xr8\\
\xr9\\
\xr10\\
\xr11\\
\xr12\\
\xr0\\
\xr1\\
\xr2\\
\xr3\\
\xr4\\
\xr5\\
\xr6\\
\xr7\\
\xr8\\
\xr9\\
\xr10\\
\xr11\\
\xr12\\
\bottomrule
\end{tabular}
\end{fullpage}
\end{table}

\chapter{drei}
\blindtext

\end{document}
Dateianhänge
tab3.tex
Das Manuskript
(1.6 KiB) 543-mal heruntergeladen
tabelle.pdf
Das Ergebnis
(18.99 KiB) 602-mal heruntergeladen

matze

Beitrag von matze »

...
Zuletzt geändert von matze am Mo 19. Sep 2011, 01:16, insgesamt 1-mal geändert.

skater
Forum-Guru
Forum-Guru
Beiträge: 356
Registriert: Do 12. Mär 2009, 14:34
Wohnort: Berlin

Beitrag von skater »

matze hat geschrieben:[…]
Deine Worte sagen mir sehr wenig. Anderen vielleicht gar nichts.

Wie wäre es denn mit einem Beispiel, wie man das – Deiner Meinung nach – in ein Buch integriert?

Im Übrigen beziehe ich mich insbesondere auf das Buch »Lesetypografie« und dort auf die Seiten 250–253. Da hat es mehrere Beispiele, wie man Tabellen auf aufgeschlagene Doppelseiten setzt. Meine Frage ist von daher, wie man solches geschickt mit LaTeX umsetzt.

matze

Beitrag von matze »

...

Antworten