Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Probleme mit Tabelle - ltablex

  1. #1
    Registrierter Benutzer Avatar von ooze
    Registriert seit
    08.03.2010
    Ort
    München
    Beiträge
    43

    Probleme mit Tabelle - ltablex

    Moin,

    ich versuche mir gerade eine 5-spaltige Tabelle zusammenzufrickeln, leider mit mäßigem Erfolg. Da die Tabelle größer ist, als dass sie auf eine einzelne Seite passt, wollte ich das zunächst mit longtable machen. Da ich aber möchte, dass die Tabellenbreite der Seitenbreite entspricht, habe ich mal hier gesucht und bin dadurch auf das Paket "ltablex" gestoßen, welches leider nicht Bestandteil von Tex Live ist. Leider ist die Dokumentation dazu recht knapp und besteht quasi nur aus einem Beispiel. In diesem Beispiel verstehe ich eniges nicht. Die Fehlermeldung die ich erhalte ist
    Code:
    ! Misplaced \noalign.
    \hline ->\noalign 
                      {\ifnum 0=`}\fi \hrule \@height \arrayrulewidth \futurelet...
    l.1677 \end{tabularx}
    Leider kann ich damit überhaupt nichts anfangen.

    Hier mal mein Minimalbeispiel (ACHTUNG: nicht lauffähig)
    Code:
    \documentclass{article}
    \usepackage{ltablex}
    
    \begin{document}
    \begin{tabularx}{\linewidth}%
    	{ % Spalte 1 autosized ragged left
    	  >{\setlength{\hsize}{0.5\hsize}\raggedleft\arraybackslash}X%
    	  % Spalte 2 default centered
    	  c%
    	  % Spalte 3 autosized ragged left
    	  >{\setlength{\hsize}{0.5\hsize}\raggedleft\arraybackslash}X%
    	  % Spalte 4 autosized ragged left
    	  >{\setlength{\hsize}{1.0\hsize}\raggedleft\arraybackslash}X%
    	  % Spalte 5 default centered
    	  c}
    \caption{lalalalalalalala}\\
    \label{tab:tabelle_symmetriegruppen}
    \hline
    foo1 & foo2 & foo3 & foo4 & foo5\\
    \hline
    \hline
    \endfirsthead
    \hline
    bar1 & bar2 & bar3 & bar4 & bar5\\
    \hline
    \hline
    \endhead
    
    \hline
    \hline
    foot1 & foot2 & foot3 & foot4 & foot5\\
    \hline
    \endfoot
    
    \hline
    \hline
    Lfoot1 & Lfoot2 & Lfoot3 & Lfoot4 & Lfoot5\\
    \hline
    \endlastfoot
    
    test 1 & test 2 & test 3 & test 4 & test5\\
    
    \end{tabularx}
    \end{document}
    Die Spaltenbreiten sollen wie folgt gestaltet sein:
    Spalte 1: automatisch linksbündig
    Spalte 2: automatisch zentriert
    Spalte 3: doppelt so breit wie Spalte 1
    Spalte 4: doppelt so breit wie Spalte 1
    Spalte 5: automatisch

    Insbesondere den \hsize Befehl verstehe ich nicht. Ich habe etwas gegoogelt und mir scheint es so, als ob die Summe der \hsize Längen immer 2 ergeben muss, allerdings hab ich immer nur Beispiele mit weniger als 5 Spalten gefunden.

    Ich freue mich über alle Antworten.
    OS: Mac OS X 10.6.4
    TeX Distribution: MacTeX-2010 (TeXLive)
    TeX Editor: TeXShop

  2. #2
    Registrierter Benutzer Avatar von ooze
    Registriert seit
    08.03.2010
    Ort
    München
    Beiträge
    43
    ok, nach weiterem herumspielen bin ich wohl darauf gekommen, dass

    a) das \label{} ebenfalls mit \\ abgeschlossen werden muss
    b) die Summe der Werte für \hsize gleich der Anzahl der X-Spalten sein muss

    trotzdem Danke für's lesen
    OS: Mac OS X 10.6.4
    TeX Distribution: MacTeX-2010 (TeXLive)
    TeX Editor: TeXShop

  3. #3
    Registrierter Benutzer Avatar von ooze
    Registriert seit
    08.03.2010
    Ort
    München
    Beiträge
    43
    Nun hab ich doch noch ein Problem:
    wie kann ich innerhalb einen Zeilenumbruch bzw. Trennung erzwingen?

    Das Problem ist, dass der Inhalt der Zellen zwar immer nur aus einer zweistelligen Zahl besteht, also ein sehr kurzer text, aber die Beschriftung der Spalte ein längeres Wort ("Klassennummer") sein soll. Die Tabelle würde natürlich schöner aussehen wenn die Spalte nicht so breit wie "Klassennummer" ist, daher würde ich dort gerne

    "Klassen-
    nummer"

    stehen haben.

    Geht das irgendwie? Hier mal das geänderte und lauffähige Minimalbeispiel:
    Code:
    \documentclass{article}
    \usepackage{ltablex}
    \tracingtabularx
    \begin{document}
    {\normalsize
    \begin{tabularx}{\textwidth}%
    	{ % Spalte 1 autosized ragged left
    	  >{\setlength{\hsize}{0.6\hsize}\raggedleft\arraybackslash}X%
    	  % Spalte 2 default centered
    	  c%
    	  % Spalte 3 autosized ragged left
    	  >{\setlength{\hsize}{1.2\hsize}\raggedleft\arraybackslash}X%
    	  % Spalte 4 autosized ragged left
    	  >{\setlength{\hsize}{1.2\hsize}\raggedleft\arraybackslash}X%
    	  % Spalte 5 default centered
    	  c}
    \caption{Tritratrallala}\\
    \label{tab:tabelle_symmetriegruppen}\\
    \hline
    System & Klassennummer & Kristallklasse & Transformationen & $n$\\
    \hline
    \hline
    \endfirsthead
    \hline
    bar1 & bar2 & bar3 & bar4 & bar5\\
    \hline
    \hline
    \endhead
    
    \hline
    \hline
    foot1 & foot2 & foot3 & foot4 & foot5\\
    \hline
    \endfoot
    
    \hline
    \hline
    Lfoot1 & Lfoot2 & Lfoot3 & Lfoot4 & Lfoot5\\
    \hline
    \endlastfoot
    
    test 1 & test 2 & test 3 & test 4 & test5\\
    Triklinisch & 1 & Pedial & I & 1\\
    loremipsum & 1 & rhombic-disphenoiidal & a b c d e f g h i j k l m n o p & k\\
    
    \end{tabularx}
    }
    \end{document}
    OS: Mac OS X 10.6.4
    TeX Distribution: MacTeX-2010 (TeXLive)
    TeX Editor: TeXShop

  4. #4
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    Zitat Zitat von ooze Beitrag anzeigen
    Das Problem ist, dass der Inhalt der Zellen zwar immer nur aus einer zweistelligen Zahl besteht, also ein sehr kurzer text, aber die Beschriftung der Spalte ein längeres Wort ("Klassennummer") sein soll. Die Tabelle würde natürlich schöner aussehen wenn die Spalte nicht so breit wie "Klassennummer" ist, daher würde ich dort gerne

    "Klassen-
    nummer"

    stehen haben.
    Code:
    \documentclass{article}
    \usepackage{ltablex,ragged2e}
    \tracingtabularx
    \begin{document}
    {\normalsize
    \begin{tabularx}{\textwidth}%
      { % Spalte 1 autosized ragged left
        >{\setlength{\hsize}{0.6\hsize}\RaggedLeft}X%
        % Spalte 2 default centered
        >{\Centering\hspace{0pt}}p{4em}%
        % Spalte 3 autosized ragged left
        >{\setlength{\hsize}{1.2\hsize}\RaggedLeft}X%
        % Spalte 4 autosized ragged left
        >{\setlength{\hsize}{1.2\hsize}\RaggedLeft}X%
        % Spalte 5 default centered
        c}
    \caption{Tritratrallala}\\
    \label{tab:tabelle_symmetriegruppen}\\
    \hline
    System & Klassennummer & Kristallklasse & Transformationen & $n$\\
    \hline
    \hline
    \endfirsthead
    \hline
    bar1 & bar2 & bar3 & bar4 & bar5\\
    \hline
    \hline
    \endhead
    
    \hline
    \hline
    foot1 & foot2 & foot3 & foot4 & foot5\\
    \hline
    \endfoot
    
    \hline
    \hline
    Lfoot1 & Lfoot2 & Lfoot3 & Lfoot4 & Lfoot5\\
    \hline
    \endlastfoot
    
    test 1 & test 2 & test 3 & test 4 & test5\\
    Triklinisch & 1 & Pedial & I & 1\\
    loremipsum & 1 & rhombic-disphenoiidal & a b c d e f g h i j k l m n o p & k\\
    
    \end{tabularx}
    }
    \end{document}
    schau vllt auch nach ``das erste Wort wird nicht getrennt'' oder so ähnlich.

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  5. #5
    Registrierter Benutzer Avatar von ooze
    Registriert seit
    08.03.2010
    Ort
    München
    Beiträge
    43
    Zitat Zitat von rais Beitrag anzeigen
    schau vllt auch nach ``das erste Wort wird nicht getrennt'' oder so ähnlich.
    Ähm, vielen Dank für die Antwort, aber wenn ich danach suche finde ich genau diesen Eintrag hier. Und warum das erste Wort?
    OS: Mac OS X 10.6.4
    TeX Distribution: MacTeX-2010 (TeXLive)
    TeX Editor: TeXShop

  6. #6
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    Zitat Zitat von ooze Beitrag anzeigen
    Ähm, vielen Dank für die Antwort, aber wenn ich danach suche finde ich genau diesen Eintrag hier.
    öhhmm,
    http://www.mrunix.de/forums/showpost...04&postcount=3
    http://mrunix.de/forums/showpost.php...55&postcount=2
    http://mrunix.de/forums/showpost.php...92&postcount=5
    um mal nur drei Beispiele zu nennen ...
    Zitat Zitat von ooze Beitrag anzeigen
    Und warum das erste Wort?
    Deshalb solltest Du ja danach suchen;-)
    BTW: Dein hier verwendeter Begriff `Klassennummer' ist das erste (und einzige) Wort innerhalb einer Tabellenzelle ...
    Vergleiche mal
    Code:
    \documentclass{article}
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
    \def\x{Klassennummer}
    \begin{document}
    \parbox{1em}{\x}
    
    \bigskip
    \parbox{1em}{\x{} \x}
    
    \bigskip
    \parbox{1em}{\hspace{0pt}\x}
    \end{document}
    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  7. #7
    Registrierter Benutzer Avatar von ooze
    Registriert seit
    08.03.2010
    Ort
    München
    Beiträge
    43
    ok, das Einfügen von \hspace{0pt} hat leider nichts geholfen, es wird nicht getrennt. Ich habe ebenfalls eine Trennstelle manuell angegeben falls TeX das Wort nicht kennt, also:

    ... & \hspace{0pt}Klassen\-nummer & ...

    woran kann das noch liegen?
    OS: Mac OS X 10.6.4
    TeX Distribution: MacTeX-2010 (TeXLive)
    TeX Editor: TeXShop

  8. #8
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    Zitat Zitat von ooze Beitrag anzeigen
    ok, das Einfügen von \hspace{0pt} hat leider nichts geholfen, es wird nicht getrennt. Ich habe ebenfalls eine Trennstelle manuell angegeben falls TeX das Wort nicht kennt, also:

    ... & \hspace{0pt}Klassen\-nummer & ...

    woran kann das noch liegen?
    c-Spalte?
    Code:
    \documentclass{article}
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
    \usepackage{blindtext,array}
    \def\x{Klassennummer}
    \begin{document}
    \begin{tabular}{c}
    \x\\
    \end{tabular}
    
    \bigskip
    \begin{tabular}{>{\centering\arraybackslash}p{1em}}
    \x\\
    \end{tabular}
    
    \bigskip
    \begin{tabular}{>{\centering\arraybackslash\hspace{0pt}}p{1em}}
    \x\\
    \end{tabular}
    
    \bigskip
    \begin{tabular}{c}
    \blindtext\\
    \end{tabular}
    
    \end{document}
    BTW: hast Du mein Beispiel aus Beitrag#4 denn nicht probiert?

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

Lesezeichen

Berechtigungen

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