PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : longtable Umbruch



Sal
18-10-2007, 17:35
Hallo,

ich habe eine Tabelle in der longtable Umgebung. Die Tabelle muß umgebrochen werden, darf aber nur alle sechs Zeilen umgebrochen werden.

Im Handbuch zur longtable Umgebung steht, daß mit dem Befehl \\* am Ende der Zeile der Seitenumbruch verboten wird. Dies funktioniert absolut nicht.

Wenn ich \pagebreak vor die Zeilen setze, vor denen ein Umbruch erlaubt wäre, werden alle entsprechenden Zeilen umgebrochen, das heißt in meinem Fall befinden sich immer sechs Zeilen plus Kopf auf vielen aufeinenderfolgenden Seiten.

Hat jemand eine Idee, wie dieses Problem gelöst werden kann? Habe auch nichts gegen eine Alternative zu longtable, wenn dies das Problem beheben kann.

Danke

edico
18-10-2007, 18:36
Manchmal ist ein Minimalbeispiel eindeutiger als viele Worte. Ich verstehe Dein Problem nämlich nicht.

edico

Sal
18-10-2007, 18:40
oh...

Minimalbeispiel hab ich im Forum schon oft gelesen aber was ist das genau, und wie bindet man das ein?

MasterOfPuppets
19-10-2007, 16:02
Guck mal hier (http://www.minimalbeispiel.de/)

Sal
23-10-2007, 11:13
Hallo,

ich habe mein Dokument auf den wichtigen Teil zusammengeschnitten. Der Code lautet:


\documentclass[a4paper, pagesize, 12pt, DIVcalc,]{labbook}


\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{longtable}
\usepackage{multirow}
\usepackage{caption}
\usepackage{graphicx}


\begin{document}


\begin{longtable}{|p{10ex}|p{10ex}|p{10ex}|p{15ex} |p{10ex}|}
\hline
sample ID & primer & Ct & rel mRNA & error
\endhead
\hline
\hline

\multirow{6}{10ex}{6} &\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{2-5}
\nopagebreak &\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\
\hline
\multirow{6}{10ex}{7} &\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx}\\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{2-5}
\nopagebreak &\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx}\\*
\cline{3-3}
\nopagebreak & & & & \\*
\cline{3-3}
\nopagebreak & & & & \\
\hline
\multirow{6}{10ex}{8} &\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{2-5}
\nopagebreak &\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\
\hline
\multirow{6}{10ex}{9} &\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{2-5}
\nopagebreak &\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & & & \\
\hline
\multirow{6}{10ex}{10}&\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{2-5}
\nopagebreak &\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\
\hline
\multirow{6}{10ex}{11}&\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{2-5}
\nopagebreak &\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & & & \\
\hline
\multirow{6}{10ex}{17}&\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{2-5}
\nopagebreak &\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\
\hline
\multirow{6}{10ex}{18}&\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{2-5}
\nopagebreak &\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & & & \\
\hline
\multirow{6}{10ex}{19}&\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{2-5}
\nopagebreak &\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\
\hline
\multirow{6}{10ex}{20}&\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{2-5}
\nopagebreak &\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & & & \\
\hline
\multirow{6}{10ex}{21}&\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{2-5}
\nopagebreak &\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\
\hline
\multirow{6}{10ex}{22}&\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{2-5}
\nopagebreak &\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\*
\cline{3-3}
\nopagebreak & & xxxx & & \\*
\cline{3-3}
\nopagebreak & & & & \\
\hline

\end{longtable}

\end{document}


Wenn man den Code laufen läßt sieht man aufgrund der horizontalen Linien in der Tabelle, daß nur alle sechs Spalten umgebrochen werden darf.

Ich habe versucht dies mit \\* und \nopagebreak zu steuern. Das funktioniert aber nicht. Außerdem ist es sehr umständlich, fast jede Zeile mit \nopagebreak zu beginnen.
Nochmals meine Fragen also:

1. Wie sage ich Latex, daß die Tabelle nur alle sechs zeilen umgebrochen wird?

2. Wie mache ich dies auf eine bequeme Art und Weise?

Danke

edico
23-10-2007, 22:47
\documentclass[a4paper,pagesize,12pt,DIVcalc]{scrbook}
\usepackage{longtable,multirow}
\begin{document}

\begin{longtable}{*{3}{|p{10ex}}|p{15ex}|p{10ex}|}
\hline
sample ID & primer & Ct & rel mRNA & error
\endhead
\hline\hline
\multirow{6}{10ex}{6} &\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\
\cline{3-3}
& & xxxx & & \\
\cline{3-3}
& & xxxx & & \\
\cline{2-5}
&\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\
\cline{3-3}
& & xxxx & & \\
\cline{3-3}
& & xxxx & & \\
\hline
\multirow{6}{10ex}{7} &\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx}\\
\cline{3-3}
& & xxxx & & \\
\cline{3-3}
& & xxxx & & \\
\cline{2-5}
&\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx}\\
\cline{3-3}
& & & & \\
\cline{3-3}
& & & & \\
\hline
\multirow{6}{10ex}{8} &\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\
\cline{3-3}
& & xxxx & & \\
\cline{3-3}
& & xxxx & & \\
\cline{2-5}
&\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\
\cline{3-3}
& & xxxx & & \\
\cline{3-3}
& & xxxx & & \\
\hline

\multirow{6}{10ex}{9} &\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\
\cline{3-3}
& & xxxx & & \\
\cline{3-3}
& & xxxx & & \\
\cline{2-5}
&\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\
\cline{3-3}
& & xxxx & & \\
\cline{3-3}
& & & & \\
\hline
\multirow{6}{10ex}{10}&\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\
\cline{3-3}
& & xxxx & & \\
\cline{3-3}
& & xxxx & & \\
\cline{2-5}
&\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\
\cline{3-3}
& & xxxx & & \\
\cline{3-3}
& & xxxx & & \\
\hline
\multirow{6}{10ex}{11}&\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\
\cline{3-3}
& & xxxx & & \\
\cline{3-3}
& & xxxx & & \\
\cline{2-5}
&\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\
\cline{3-3}
& & xxxx & & \\
\cline{3-3}
& & & & \\
\hline
\pagebreak\hline\hline%
% <<<<<<<<<<<<<<<<<<< ^^^^^^^^^ erzwungener Umbruch
\multirow{6}{10ex}{17}&\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\
\cline{3-3}
& & xxxx & & \\
\cline{3-3}
& & xxxx & & \\
\cline{2-5}
&\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\
\cline{3-3}
& & xxxx & & \\
\cline{3-3}
& & xxxx & & \\
\hline
\multirow{6}{10ex}{18}&\multirow{3}{10ex}{Actb} & xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\
\cline{3-3}
& & xxxx & & \\
\cline{3-3}
& & xxxx & & \\
\cline{2-5}
&\multirow{3}{10ex}{Gapdh}& xxxx &\multirow{3}{15ex}{xxxx} &\multirow{3}{10ex}{xxxx} \\
\cline{3-3}
& & xxxx & & \\
\cline{3-3}
& & & & \\
\hline
\end{longtable}

\end{document}


edico

Sal
24-10-2007, 07:56
Danke erstmal für den Hinweis.

Wenn ich das aber so mache und ich vor der Tabelle Text einfüge kann es doch sein, daß kurz vor dem erzwungenen Umbruch automatisch umgebrochen wird und auf der folgenden Seite lediglich der Text bis zum erzwungenen Umbruch erscheint und der Rest der Tabelle auf einer weiteren Seite.

Was ich gesucht habe ist eine Möglichkeit der Tabelle zu sagen, wo sie umgebrochen werden darf, und wo nicht.

Danke

edico
24-10-2007, 08:57
Einen Umbruch erzwingen macht der Schlaue dann, wenn er seine Arbeit fertig erstellt hat -- finetuning.

... eine Möglichkeit der Tabelle zu sagen, wo sie umgebrochen werden darf...
Die habe ich Dir aufgezeigt. Es gibt AFAIK nur diese händische Möglichkeit ...

edico

Sal
24-10-2007, 10:35
Schade, trotzdem vielen Dank.