PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit mehrseitiger Tabelle



krater
16-02-2013, 03:05
Hallo,

ich ärger mich seit Stunden mit mehrseitigen Tabellen rum. Normalerweise würde man dazu ja longtable benutzen. Leider kann longtable nicht innerhalb von Zellen umbrechen, meine Zellen sind aber sehr lang, da sie einen etwas längeren Text enthalten.

Ums deutlich zu machen, es soll so in etwa aussehn:


\documentclass[12pt, a4paper, oneside, titlepage]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{ngerman}
\usepackage{lipsum}
\usepackage{array}
\usepackage{paralist}
\usepackage{setspace}
\usepackage{xparse}
\usepackage{longtable}

\newcolumntype{L}{>{\raggedleft}p{0.20\textwidth}}
\newcolumntype{R}{p{0.8\textwidth}}
\newcommand{\projtab}[7]
{
\begin{longtable}{L!{\vrule width 0.5pt}R}
Langtext1&{\bf #2}\newline #7\\
Text2&{#1}\\[5pt]
Text3&{#3}\\[5pt]
Text4&{#4}\\[5pt]
Text5&{\bf #5}\\[5pt]
Text6&{#6}\\[5pt]
\end{longtable}
}



\begin{document}


\section*{Überschrift}
\projtab
{Zeile}
{Überschrift}
{Noch eine Zeile Text}
{Und noch Text}
{Noch mehr Text}
{Und noch was...}
{
\lipsum[100]
\begin{itemize}
\item Item 1
\item Item 2
\item Item 3
\end{itemize}
}

\section*{Überschrift}
\projtab
{Zeile}
{Überschrift}
{Noch eine Zeile Text}
{Und noch Text}
{Noch mehr Text}
{Und noch was...}
{
\lipsum[100]
\lipsum[100]
\lipsum[100]
\lipsum[100]
\lipsum[100]
\begin{itemize}
\item Item 1
\item Item 2
\item Item 3
\end{itemize}
\lipsum[30]
}

\end{document}



Problem an der Sache ist aber der Seitenumbruch, der verhindert, dass die 2. Tabelle auf der ersten Seite landet, UND dass die 2. Tabelle nicht ganz auf die 2. Seite passt.

Gibt es eine Möglichkeit Tabellen doch noch dazu zu bewegen in Zellen umzubrechen ? Oder etwas das gleich aussieht und sowas kann ?

Gruß
krater

hakaze
16-02-2013, 09:08
Das ist eine generelle Eigenschaft von Tabellen bei LaTeX: die Zelle einer Tabelle muss immer als Ganzes auf einer Seite erscheinen und kann nicht umgebrochen/auf mehrere Seiten verteilt werden.

Du musst also selbst Hand anlegen und Inhalt/Text entsprechend auf mehrere Zellen/Zeilen aufteilen.

BTW: \bf sollte nie verwendet werden, besser ist \textbf{fetter Text} oder {\bfseries fetter Text} (siehe auch Latex-Sündenregister (http://texdoc.net/texmf-dist/doc/latex/l2tabu/l2tabu.pdf)). Gleiches gilt für das Paket ngerman, besser ist \usepackage[ngerman]{babel}

u_fischer
16-02-2013, 12:57
Ich würde keine Tabelle verwenden. Eher eine Liste, oder evtl. mdframed + marginnote.

krater
17-02-2013, 01:57
Danke erstmal für die tips, hab gestern Nacht aber selbst schon eine andere Möglichkeit gefunden:



\newcommand{\projtab}[7]
{
Langtext\\[-2.5em]
\begin{addmargin}[1in]{0cm}
{\textbf{#2}}
\newline {#7}
\end{addmargin}
Text\\[-2.5em]
\begin{addmargin}[1in]{0cm}
{#1}
\end{addmargin}
Text2\\[-2.5em]
\begin{addmargin}[1in]{0cm}
{#3}
\end{addmargin}
Text3\\[-2.5em]
\begin{addmargin}[1in]{0cm}
{#4}
\end{addmargin}
Text4\\[-2.5em]
\begin{addmargin}[1in]{0cm}
{\textbf{#5}}
\end{addmargin}
Text5\\[-2.5em]
\begin{addmargin}[1in]{0cm}
{#6}
\end{addmargin}
}

Leider fehlt mir noch die Trenn-Linie. Irgendwer ne Idee wie man die auch noch reinkriegen könnt ? Oder was man stattdessen verwendet ?
Für sonstige Verbesserungsvorschläge bin ich auch dankbar. Scheinbar ist em nicht die richtige Einheit, gibts da eine möglichkeit wirklich genau eine Zeile nach oben zu springen ?

Gruß
krater