PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Seitenumbruch und Skalierung auf Textbreite



LivToole
19-02-2008, 22:08
Hallo,
wie vielleicht bereits aus dem Titel zu erkennen ist, möchte ich eine Tabelle erstellen, welche die Breite des Textes / Seite besitzt und die Breite der einzelnen Spalten selbstständig bestimmt und wenn nötig den Text in einer Zelle umbricht, so wie es tabularx macht.
Allerdings möchte ich zusätzlich noch, dass die Tabelle einen Seitenumbruch erhält und auf der nächste Seite weiter geführt, mit der gleichen Spaltenbreite, so wie es eben longtable macht.

Wenn ich tabularx verwende bleibt sehr viel Platz auf der Seite übrig und die Tabelle steht komplett auf der nächsten Seite, da auf der ersten Seite im Anhang die Überschrift steht und somit nicht mehr genug Platz für die gesamte Tabelle ist. Hier mal ein Versuch eines MB.


\chapter{Anlagen}
\section{Optische Ausgangsleistung der Laserdiode}
\usepackage{ltxtable}
\renewcommand{\arraystretch}{1.2}
\newcolumntype{B}{>{\RaggedRight\arraybackslash}X}
\begin{table}
\begin{tabularx}{\textwidth}{BBBBB} \hline\hline
Pumpstrom & op. Leistung Pumpdiode & Sollspannung & IstTemperatur & Wellenlänge\\
zahlen & zahlen & zahlen & zahlen & zahlen \\
...
...
\end{tabularx}
\end{table}

Von daher wäre longtable eigentlich das richtig, allerdings weiß ich nicht wie bzw. ob man überhaupt longtable auf die Textbreite beschränken kann. Jetzt ragt der Text noch drüber hinaus. Hier das MB


\chapter{Anlagen}
\section{Optische Ausgangsleistung der Laserdiode}
\usepackage{ltxtable}
\renewcommand{\arraystretch}{1.2}
\begin{longtable}{lllll} \hline\hline
Pumpstrom & op. Leistung Pumpdiode & Sollspannung & IstTemperatur & Wellenlänge\\
zahlen & zahlen & zahlen & zahlen & zahlen \\
...
...
\end{longtable}

Mein Frage ist daher, gibt es eine Möglichkeit die beiden irgendwie zu kombinieren mit den beiden Eigenschaften Seitenumbruch und Skalierung auf die Textbreite oder eine andere Tabellenumgebung oder muss ich selbst eine definieren. Wenn das der Fall ist, wie würde ich das am geschicktesten anstellen?

Ein kleines Randproblem ist, dass bei longtable nur ein \hline angezeigt wird und nicht beide. Ist das normal? Kann man das ändern?


Hab zwar eine ähnliche Frage schon hier im Forum gefunden aber ist diese leider ohne Antwort geblieben. Und sonst hab ich leider auch noch keine Antwort gefunden, daher muss ich euch jetzt leider damit belästigen.

Schon mal vielen Dank im Voraus fürs lesen :)

e. hindman
20-02-2008, 08:35
Es gibt das Pakte ltxtable, das versteht sich als "longtable and tabularx merge" http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=ltxtable

LivToole
20-02-2008, 13:31
Ja ok, das klar. Ich hab das Paket ltxtable ja auch in Verwendung, und ich hab mir auch schon die doc dazu durchgelesen, aber ehrlich gesagt kann ich damit nicht wirklich viel anfangen.

Hab schon die Tabelle in eine extra Datei geschrieben und die sieht dann etwa so aus.


\chapter{Anlagen}
\section{Optische Ausgangsleistung der Laserdiode}
\usepackage{ltxtable}
\newcolumntype{B}{>{\RaggedRight\arraybackslash}X}
\renewcommand{\arraystretch}{1.2}
\begin{longtable}{\textwidth}{BBBBB} \hline\hline
Pumpstrom & op. Leistung Pumpdiode & Sollspannung & IstTemperatur & Wellenlänge\\
zahlen & zahlen & zahlen & zahlen & zahlen \\
...
...
\end{longtable}


Allerdings funzt das nicht.
Könntest du mir das anhand eines MB erklären wie ich die doc zu verstehen hab?

e. hindman
20-02-2008, 17:13
Da hast die Anleitung bisschen missverstanden:


\LTXtable{\textwidth}{tab1}


und in der Datei tab1 steht:

\begin{longtable}{XX}

a%b\\

\end{longtable}

Die caption und ähnliches fügt man dann wie in ner normalen longtable hinzu.

LivToole
21-02-2008, 14:52
Super danke, das klappt schon soweit ganz gut. Allerdings hab ich nun das Problem,
1) dass die Zeilenabstände in der longtable{XX} größer sind als in einer tabularx Tabelle. Haben die beiden unterschiedliche \baselineskip? Für \arraystretch habe ich 1.2 eingestellt.
2) es wird mir keine doppelten Linien angezeigt wenn ich \hline \hline eingebe, bei tabularx allerdings schon