Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 16

Thema: Mehrseite Tabelle mit variabler Spaltenbreite

  1. #1
    Registrierter Benutzer
    Registriert seit
    04.08.2011
    Beiträge
    93

    Mehrseite Tabelle mit variabler Spaltenbreite

    Hallo zusammen,

    ich bin gerade auf der Suche nach einer Tabellenumgebung, mit der ich gut und einfach längere Tabellen über mehrere Seiten generiern kann. Des Weiteren ist mir wichtig, dass die erzeugte Tabelle nicht Breiter als das Textfeld ist und die Spaltenbreiten automatisch generiert wird.
    Ich bin bei meiner Suche schon auf LTXtable gestoßen, weiß damit aber nicht so Recht etwas anzufangen. Zur Zeit verwände ich \tabularx und würde das, wenn es geht auch weiter verwenden.

    Danke schon jetzt für eure Hilfe!

    Grüße, Letscho

  2. #2
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    versuche mal das tabu paket bzw. dort die longtabu umgebung. dort wird die funktion von tabularx und longtable kombiniert. der X spaltentyp funktioniert dort ebenfalls.

    gruss
    Mein Ball ist umgefallen

  3. #3
    Registrierter Benutzer
    Registriert seit
    04.08.2011
    Beiträge
    93
    Zitat Zitat von bobmalaria Beitrag anzeigen
    ...versuche mal das tabu paket...
    Danke für den Tipp ich werde gleich mal schauen was ich dazu finde!

    Grüße, Letscho

  4. #4
    ctansearch
    Gast
    Was meinst Du mit "Spaltenbreiten automatisch generieren"?

  5. #5
    Registrierter Benutzer
    Registriert seit
    04.08.2011
    Beiträge
    93
    Hi zusammen,

    Zitat Zitat von bobmalaria Beitrag anzeigen
    ...versuche mal das tabu paket bzw. dort die longtabu umgebung. gruss
    ich habe mir jetzt zwar das Manual zu tabu herunter geladen. Jedoch werde ich nicht schlau daraus. Es enthält irgendwie keine Beispiele und ist so für mich sehr schwer zu lesen. Könnt ihr mir vielleicht eine Seite / PDF nennen wo ich etwas mehr darüber finde?

    Zitat Zitat von ctansearch Beitrag anzeigen
    Was meinst Du mit "Spaltenbreiten automatisch generieren"?
    Ich meine damit, das LaTeX selbst festlegen kann wie groß/breit es die Spalten macht, damit es auf eine Seite passt.

    Grüße, Letscho

  6. #6
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Die Anleitung zu tabu ist selbst unter Verwendung von tabu geschrieben und als Anhang zu tabu.pdf zu finden. So gesehen gibt es also massenhaft Beispiele. Für die X-Spalten ist darüber hinaus min. ein Beispiel in der Anleitung auch abgedruckt. Für longtabu ist es außerdem nützlich, wenn man die Anleitung zu longtable gelesen hat. Da tabu noch ziemlich neu ist, gibt es AFAIK noch kein Buch und keine alternative LaTeX-Einführung, die dieses Paket behandelt.

    Übrigens muss man sich die Anleitungen zu einem installierten Paket normalerweise nicht extra herunterladen. Die wird normalerweise mit dem Paket installiert. Das Programm texdoc liefert in der Regel zu einem Paket die Anleitung, wenn man den Paketnamen als Parameter angibt.

  7. #7
    ctansearch
    Gast
    Du kannst die Spalten relativ zu einer Länge festlegen, hier zur selbstdefinierten Länge \tablewidth
    Code:
     
    \documentclass[a4paper,10pt]{article}
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel}
    \newlength\tablewidth
    \usepackage{longtable,blindtext}
    \begin{document}
    \tablewidth=12cm
    \begin{longtable}{p{0.4\tablewidth}p{0.3\tablewidth}p{0.3\tablewidth}}
    \blindtext &\blindtext &\blindtext \\
    \end{longtable}
    \end{document}

  8. #8
    Registrierter Benutzer
    Registriert seit
    04.08.2011
    Beiträge
    93
    Hallo zusammen,

    nach langer Ruhepause habe ich mich für das tabu paket entschieden und bekomme das auch gut zum laufen. Jedoch ist mein Problem, dass mir bei der Ausgabe immer die Tabellenunterschrift gleich unter dem Tabellentitel gesetzt wird UND das die Beschreibung für die Fortsetzung der Tabelle immer mit gedruckt wird.

    Meine Frage ist nun, wie kann ich das einstellen, dass diese Beschreibung nur geschrieben wird, wenn ein Seitenumbruch stattfindet UND wie bekomme ich es hin, dass die Tabellenbeschreibung für das TOC unter der gesamten steht.

    Hier nun mein Bsp:

    Code:
    \documentclass[a4paper, 11pt, oneside,]{scrbook}
    \usepackage[latin1]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage{longtable}
    \usepackage{tabu}
    
    \begin{document}
    
    \section{SphereBladder Tank}
    
    \begin{longtabu}to\textwidth{l l c c X}
    	\hline
    	Name & Typ & Wert & Einheit & Beschreibung \\ 	\hline
    	\endfirsthead
    	Name & Typ & Wert & Einheit & Beschreibung \\ 	\hline
    	\endhead
    	$Q_{flag}$ & Boolesch & WAHR &  & Kennzeichnung des Wärmetransports: konstant oder variabel \\
    	\hline
    	\multicolumn{5}{|r|}{Fortsetzung auf der nächsten Seite}\\ \hline	
    	\endfoot
    	\caption{Text}
    \end{longtabu}
    
    \end{document}
    Das Ergebnis könnt ihr dem Anhang entnehmen

  9. #9
    Registrierter Benutzer
    Registriert seit
    06.08.2008
    Beiträge
    1.015
    Du musst die longtable-übliche Reihenfolge der definitionen einhalten:
    \endfirsthead -> \endhead -> \endfoot -> \endlastfoot -> Tabelleninhalt
    Ich habe das mal mit einige Blöcken Blindtext veranschaulicht, und die hlines durch "bessere" Trennlinien aus dem booktabs-Paket ersetzt:
    Code:
    \documentclass[a4paper, 11pt, oneside,]{scrbook}
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage{longtable,tabu,booktabs,lmodern,lipsum}
    
    \begin{document}
    
    \section{SphereBladder Tank}
    
    \begin{longtabu}to\textwidth{llccX}
    	\toprule
    	Name & Typ & Wert & Einheit & Beschreibung \\ 	\midrule
    	\endfirsthead
    	\toprule
    	Name & Typ & Wert & Einheit & Beschreibung \\ 	\midrule
    	\endhead
    	\midrule	\multicolumn{5}{r}{Fortsetzung auf der nächsten Seite}\\ 
    	\endfoot
    	\bottomrule \caption{text}
    	\endlastfoot
    	$Q_{flag}$ & Boolesch & WAHR &  & Kennzeichnung des Wärmetransports: konstant oder variabel \\
    	$Q_{flag}$ & Boolesch & WAHR &  & \lipsum[1] \\
    	$Q_{flag}$ & Boolesch & WAHR &  & \lipsum[2] \\
    	$Q_{flag}$ & Boolesch & WAHR &  & \lipsum[3] \\
    	$Q_{flag}$ & Boolesch & WAHR &  & \lipsum[4] \\
    \end{longtabu}
    
    \end{document}
    Geändert von hakaze (15-11-2011 um 12:33 Uhr) Grund: Edit: Caption placement

  10. #10
    Registrierter Benutzer
    Registriert seit
    04.08.2011
    Beiträge
    93
    Zitat Zitat von hakaze Beitrag anzeigen
    Du musst die longtable-übliche Reihenfolge der definitionen einhalten:
    \endfirsthead -> \endhead -> \endfoot -> \endlastfoot -> Tabelleninhalt
    Ich habe das mal mit einige Blöcken Blindtext veranschaulicht, und die hlines durch "bessere" Trennlinien aus dem booktabs-Paket ersetzt:
    Hallo Hakaze,

    danke für den Tipp! Mit deinen Anpassungen sieht die Tabelle auch gleich viel entspannter aus und nicht so zusammen gequetscht. Ist es aber damit auch möglich durchgehende vertikale Linien zu zeichnen? Denn wenn ich das mit den üblichen || versuche werden die Linien immer bei jeder horizontalen Linie unterbrochen.

    Grüße, Letscho

  11. #11
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    die caption bei einer longtable-umgebung waere am sinnvollsten ganz oben ueber der tabelle aufgehoben. sonst muss ich eventuell 3 seiten vorblaettern um nachzusehen was das jetzt fuer eine tabelle ist.

    das ist eigentlich auch in praktisch allen buechern so die ich kenne

    vertikale linien verden idR geaechtet und als dem lesefluss hinderlich betrachtet. wenn du sie verwenden willst, dann kannst du \midrule, \bottomrule usw nicht mehr verwenden. tabu hat dafuer eventuell einen eigenen mechanisms. in kombination mit \hline geht es sicher.
    versuche aber uaf vertikale linen und eine gitternnetz-struktur zu verzichten.

    gruss
    Mein Ball ist umgefallen

  12. #12
    Registrierter Benutzer
    Registriert seit
    04.08.2011
    Beiträge
    93
    Was mir auch noch eingefallen ist:

    Wie verhält es sich mit mehrzeiligen Kopfzeilen. Ich habe versucht mit folgendem Bsp einen mehrzeiligen Tabellkopf zu erstellen.

    Code:
    \documentclass[a4paper, 11pt, oneside,]{scrbook}
    \usepackage[latin1]{inputenc}
    \usepackage[ngerman]{babel}
    
    \usepackage[dvipsnames]{xcolor}
    \usepackage{longtable,tabu,booktabs,lmodern,lipsum}
    
    
    \usepackage{multirow}
    
    \begin{document}
    
    \begin{longtabu}{ccc}
    	\toprule
    	\multirow{2}{*}{\textbf{Massenstrom}} & \multicolumn{2}{c}{\textbf{Druckverlust [bar]} \\ \midrule
    	& \textit{LMP-103S} & \textit{Hydrazin} \\ \midrule
    	\endfirsthead
    	\toprule
    	\multirow{2}{*}{\textbf{Massenstrom}} & \multicolumn{2}{c}{\textbf{Druckverlust [bar]} \\ \midrule
    	& \textit{LMP-103S} & \textit{Hydrazin} \\ \midrule
    	\endhead
    	\midrule \multicolumn{3}{r}{Fortsetzung auf der nächsten Seite}\\ 
    	\endfoot	
    	\\[-1.8ex]
    	\endlastfoot
    	0,1 & 0,0099 & 0,0123 \\
    	0,3 & 0,0892 & 0,1103 \\	
    	0,5 & 0,2478 & 0,3065 \\
    	0,7 & 0,4857 & 0,6007 \\
    	1 	& 0,9912 & 1,2258 \\
    \end{longtable}
    
    \end{document}
    Wenn ich dies aber kompelieren möchte stoppt Latex sofort und ich weiß nicht woran es liegt.

    Der Tabellenkopf soll ähnlich dem Anhang aussehen.

    Grüße, Letscho

  13. #13
    Registrierter Benutzer
    Registriert seit
    06.08.2008
    Beiträge
    1.015
    Schrittweises Auskommentieren (siehe auch hier) führt zu den Übeltätern: einer fehlenden schließenden Klammer bei multicolumn und einem "\begin{longtabu} ... \end{longtable}". Für Linien über einige Spalten gibt es cmdirules im booktabs-Paket.

    Hier mal mein Bespiel:
    Code:
    \documentclass[a4paper, 11pt, oneside,]{scrbook}
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel}
    
    \usepackage[dvipsnames]{xcolor}
    \usepackage{siunitx,longtable,multirow,tabu,booktabs,lmodern,lipsum}
    \sisetup{locale=DE}
    \begin{document}
    
    \begin{longtabu}{SSS}
    	\toprule
    	\multirow{2}{*}{\textbf{Massenstrom}} & \multicolumn{2}{c}{\textbf{Druckverlust / bar}} \\ \cmidrule(l){2-3}
    	& \textit{LMP-103S} & \textit{Hydrazin} \\ \midrule
    	\endfirsthead
    	\toprule
    	\multirow{2}{*}{\textbf{Massenstrom}} & \multicolumn{2}{c}{\textbf{Druckverlust / bar}} \\ \cmidrule(l){2-3}
    	& \textit{LMP-103S} & \textit{Hydrazin} \\ \midrule
    	\endhead
    	\midrule \multicolumn{3}{r}{Fortsetzung auf der nächsten Seite}\\ 
    	\endfoot	
    	\bottomrule
    	\endlastfoot
    	0,1 & 0,0099 & 0,0123 \\
    	0,3 & 0,0892 & 0,1103 \\	
    	0,5 & 0,2478 & 0,3065 \\
    	0,7 & 0,4857 & 0,6007 \\
    	1 	& 0,9912 & 1,2258 \\
    \end{longtabu}
    
    \end{document}
    Ich habe mir auch die Freiheit genommen, siunitx für die Aurichtung der Zahlen in den S-Spalten zu verwenden.
    Geändert von hakaze (16-11-2011 um 07:58 Uhr)

  14. #14
    Registrierter Benutzer
    Registriert seit
    04.08.2011
    Beiträge
    93
    Danke für den Tipp! Ich habe dann auch gesehen, dass ich beim übertragen des Minimalbsp einen Fehler hatte.

    Ich glaube aber ich bleibe beim unit Paket...mal sehen.

    Was mir noch aufgefallen ist, gibt es eine Möglichkeit diese Tabelle einen floating Umgebung zu setzen? Soll heißen mit:

    Code:
    ...
    \begin{table}[htb]
    \begin{tabular}
    ...
    \end{tabular}
    \end{table}
    lassen sich ja Tabellen erzeugen, die LaTeX selbst an die "richtige" Stelle setzt. Ist das mit longtabu auch möglich? Ich habe es jedenfalls nicht hinbekommen.

    Vielen Dank schon jetzt für eure Mühen.

    Grüße, Letscho

  15. #15
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    longtable floaten aus prinzip nicht. du musst entscheiden wo du deinen text fuer 2 oder 3 seiten unterbrechen willst. vermutlich eher am ende des abschnitttes oder im appendix. diese aufgabe kann dir nicht abgenommen werden.

    gruss
    Mein Ball ist umgefallen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •