Anzeige:
Ergebnis 1 bis 15 von 15

Thema: Kleines Problem mit Tabelle

  1. #1
    Registrierter Benutzer
    Registriert seit
    27.11.2010
    Beiträge
    105

    Kleines Problem mit Tabelle

    Hallo mrunixer,

    ich war gerade dabei eine Vorlage zu erstellen, scheitere jedoch an einem kleinnen Problem.

    Erstmal das Minimalbeispiel:

    % Dokumentenklasse
    \documentclass[12pt,a4paper]{scrartcl}

    % Sprachpaket
    \usepackage[utf8]{inputenc}

    \usepackage{lmodern}
    \usepackage[ngerman]{babel}

    % Schrifttyp
    \usepackage{mathptmx}
    \usepackage[scaled=.90]{helvet}
    \usepackage{courier}

    % Tabulars with adjustable-width columns
    \usepackage{tabularx}

    % tabularx
    \usepackage{array,booktabs}

    % Einstellungen der Seitenränder
    \usepackage[left=2cm,right=2cm,top=2.5cm,bottom=2.5cm,includeh eadfoot,includefoot]{geometry}

    % Zeilenabstand
    \usepackage{setspace}
    \onehalfspace

    \begin{document}

    \section{Chemikalien}

    \begin{tabularx}{\textwidth}{|X|X|X|X|X|X|} \hline
    Name & Formel & Reinheit, Gehalt, Firma & H-Sätze & P-Sätze & Gefahrensymbole \\ \hline
    ~ & ~ & ~ & ~ & ~ & ~ \\
    ~ & ~ & ~ & ~ & ~ & ~ \\
    ~ & ~ & ~ & ~ & ~ & ~ \\
    ~ & ~ & ~ & ~ & ~ & ~ \\
    ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
    \end{tabularx}



    \end{document}
    Ich weiß nicht wie ich es hinkriege, dass 'Gefahrensymbole' nicht rausragt und stattdessen in die vorgesehene Zelle passt.

    Generell scheine ich irgendwie Probleme mit Tabellen unter LaTeX zu haben.
    Wann verwendet man z.B. tabular, tabular* und tabularx*? Und dann gibt es noch weitere Tabellenmöglichkeiten (longtable etc.), wobei ich nur bei den drei genannten tabular-varianten so meine Probleme habe und nicht so richtig weiß, wann ich was anwende und wann man welche Variante nochmal in eine eigene table-Umgebung packt. Vielleicht ist jemand so nett und kann kurz sagen, wann ich die drei verschiedenen tabular-Varianten verwenden sollte und wann man das Ganze nochmal in die table-Umgebung packt.

    Ich füge noch das Output an und bedanke mich im Voraus für eure Beiträge.

    Es grüßt,
    pitterpolo

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

    der unterschied von tabular zu tabularx ist einfach, dass du mit letzterem die tabelle auf eine von dir gewünschte breite einstellen kannst und das durch die X spalten der verfügbare platz automatisch aufgeteilt wird.

    es gibt ein recht neues paket das dir gut helfen kann tabellen zu erstellen. es heißt tabu und hat schon eine sehr gute dokumentation. damit lassen sich auch die breiten der X spalten verhältnismäßig vergrößern.

    Code:
    % Dokumentenklasse
    \documentclass[12pt]{scrartcl}
    \usepackage[utf8]{inputenc}
    
    \usepackage{lmodern}
    \usepackage[ngerman]{babel}
    
    % Schrifttyp
    \usepackage{mathptmx}
    \usepackage[scaled=.90]{helvet}
    \usepackage{courier}
    
    \usepackage[left=2cm,right=2cm,top=2.5cm,bottom=2.5cm,includeh eadfoot,includefoot]{geometry}
    
    % Zeilenabstand
    \usepackage{tabu}
    
    \begin{document}
    
    \section{Chemikalien}
    
    \begin{tabu} to \textwidth {|X|X|X|X|X|X[1.3]|} \hline
    Name & Formel & Reinheit, Gehalt, Firma & H-Sätze & P-Sätze & Gefahrensymbole \\ \hline
    ~ & ~ & ~ & ~ & ~ & ~ \\
    ~ & ~ & ~ & ~ & ~ & ~ \\
    ~ & ~ & ~ & ~ & ~ & ~ \\
    ~ & ~ & ~ & ~ & ~ & ~ \\
    ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
    \end{tabu}
    \end{document}


    man sollte übrigens die vertikalen linien in tabellen vermeiden. wie man es besser machen kann, kannst du dir mal hier ansehen

    http://mirrors.ctan.org/info/german/tabsatz/tabsatz.pdf

    gruss
    Mein Ball ist umgefallen

  3. #3
    Registrierter Benutzer
    Registriert seit
    27.11.2010
    Beiträge
    105
    Hallo bobmalaria,

    vielen Dank für deinen Beitrag.

    Der Vorschlag mit dem Paket 'tabu' klingt interessant und wie du angemerkt hast, ist die Dokumentation auch nicht kurz geraten.

    Habe ich richtig verstanden, dass tabu automatisch Pakete wie tabularx lädt oder bedeutet Folgendes, dass man tabu einfach mit tabularx kombinieren kann?

    tabu also works in math mode and its name remains tabu.
    tabu can contain any type of tabular, array, tabularx
    tabu can be put inside tabular, array, tabularx, tabular*
    http://ctan.org/tex-archive/macros/latex/contrib/tabu

    Ich danke dir nochmals, bobmalaria und wünsche noch einen sonnigen Tag.

    Es grüßt,
    pitterpolo

    Edit: Noch ein paar Fragen:
    1) Du hast in 'a4paper' bei der documentclass entfernt. Muss man das nochmals angeben oder ist die Standardpapiergröße immer A4, sodass ich 'a4paper' weglassen kann und die Einstellungen bei geometry bleiben können.

    2) Hast du setspace entfernt, damit mein Minimalbeispiel noch minimaler wird oder brauche ich das Paket nicht, wenn ich 1,5-fachen Zeilenabstand will?
    Geändert von pitterpolo (03-10-2011 um 14:45 Uhr)

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

    tabu enthält die funktionalität von verschiedenen anderen paketen, läd diese aber nicht direkt.

    der von dir zitierte satz gedeutet lediglich, dass du innerhalb einer tabu-tabelle eine tabelle der art tabular oder array einfügen. kannst. sozusagen eine tabelle in einer tabelle (verschachtelung).

    anstatt also 3-4 tabellenpakete zu laden, kannst du tabu verweden da es diese funktionen bereits beinhaltet. schau dir dazu einfach immer die beispiele in der doku an. die muss man ja nicht durchlesen sondern nur als nachschlagewerk verwenden.
    Mein Ball ist umgefallen

  5. #5
    Registrierter Benutzer
    Registriert seit
    27.11.2010
    Beiträge
    105
    Hallo bobmalaria,

    tut mir leid, falls ich nerve, aber das Folgende klingt für mich etwas widersprüchlich:

    Zitat Zitat von bobmalaria Beitrag anzeigen
    tabu enthält die funktionalität von verschiedenen anderen paketen, läd diese aber nicht direkt.
    Zitat Zitat von bobmalaria Beitrag anzeigen
    anstatt also 3-4 tabellenpakete zu laden, kannst du tabu verweden da es diese funktionen bereits beinhaltet.
    Oder wolltest du sagen, dass man die anderen Funktionen (longtable...) mit longtabu etc. ausführen kann, ohne dass man jetzt longtable lädt?

    Entschuldige meine Verwirrung.

    Es grüßt,
    pitterpolo

  6. #6
    Registrierter Benutzer
    Registriert seit
    27.11.2010
    Beiträge
    105
    Hallo bobmalaria,

    tut mir leid für die vielen Beiträge; eine hoffentlich letzte Frage habe ich noch:

    Code:
    \begin{tabu} to \textwidth {XXXXXXXX} 
    Name & Formel & Reinheit & Gehalt & Firma & H-Sätze & P-Sätze & Gefahrensymbole \\ \hline
    ~ & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\
    ~ & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\
    ~ & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\
    ~ & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\
    ~ & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
    \end{tabu}
    Wenn ich jetzt noch zwei columns hinzugefügt habe, wird die Tabelle leicht verschoben. Woher weiß ich jetzt welchen Wert ich wo einsetzen muss, um die Tabelle korrekt positionieren zu können?
    Im obigen Beispiel hast du bei 'Gefahrensymbol' noch eine 1,3 eingefügt - wurde die einzelne column dann 1,3 mal größer als die anderen columns?

    Es grüßt,
    pitterpolo

  7. #7
    Registrierter Benutzer
    Registriert seit
    01.10.2011
    Beiträge
    16
    Bei so vielen Spalten ist es ratsam eine Tabelle im Querformat zu machen. Oder du verringerst die Schriftgröße. Oder du drehst den Tabellenkopf um 90 Grad.

    Wenn dies eine chemische Abschlussarbeit wird brauchst du Reinheit, Gehalt, H, P und Gefahrensymbole nicht mit aufschreiben. Es reicht lediglich die Angabe der Bezugsquelle.
    Für ein Praktikumsprotokoll wiederrum brauchst du die Bezugsquelle nicht mit angeben, jedoch die H, P und Symbole.


    PS: Erkläre mir bitte den Unterschied zwischen Gehalt und Reinheit ?!?!

  8. #8
    Registrierter Benutzer
    Registriert seit
    27.11.2010
    Beiträge
    105
    Zitat Zitat von Koppi Beitrag anzeigen
    Bei so vielen Spalten ist es ratsam eine Tabelle im Querformat zu machen. Oder du verringerst die Schriftgröße. Oder du drehst den Tabellenkopf um 90 Grad.

    Wenn dies eine chemische Abschlussarbeit wird brauchst du Reinheit, Gehalt, H, P und Gefahrensymbole nicht mit aufschreiben. Es reicht lediglich die Angabe der Bezugsquelle.
    Für ein Praktikumsprotokoll wiederrum brauchst du die Bezugsquelle nicht mit angeben, jedoch die H, P und Symbole.


    PS: Erkläre mir bitte den Unterschied zwischen Gehalt und Reinheit ?!?!
    Guten Abend Koppi,

    vielen Dank für deinen Beitrag.

    Es handelt sich hierbei um eine Protokollvorlage. Unterschied zwischen Gehalt und Reinheit - gute Frage, ich habe selbst versucht aus einem fertigen Protokoll eine Vorlage für mich zu erarbeiten. Vielleicht nehme ich diese column auch raus bzw. kürze dann nur auf Gehalt (und Firma) - dann wäre das Problem vereinfacht. Vereinfacht deswegen, da eine column weniger (jetztz sieben), wobei die Verschiebung trotzdem auftritt:

    Code:
    \begin{tabu} to \textwidth {XXXXXXX} 
    Name & Formel & Gehalt & Firma & H-Sätze & P-Sätze & Gefahrensymbole \\ \hline
    ~ & ~ & ~ & ~ & ~ & ~ & ~  \\
    ~ & ~ & ~ & ~ & ~ & ~ & ~  \\
    ~ & ~ & ~ & ~ & ~ & ~ & ~  \\
    ~ & ~ & ~ & ~ & ~ & ~ & ~  \\
    ~ & ~ & ~ & ~ & ~ & ~ & ~  \\ \hline
    \end{tabu}
    Output: siehe Anhang.



    Ist die colum-Anzahl jetzt immernoch zu hoch oder woran liegt es, dass es so 'verschoben' ist?

    Es grüßt,
    pitterpolo

  9. #9
    Registrierter Benutzer
    Registriert seit
    01.10.2011
    Beiträge
    16
    Bin kein Latex-Profi... Und hab tabu auch nie benutzt. Aber lösch mal die Leerzeichen zwischen \\ und \hline.

    Ich verwende \toprule, \cmidrule{1-5} und \bottomrule
    (die Zahlen in cmidrule sind Spalte 1 bis 5 bei einer fünfspaltigen Tabelle)

  10. #10
    Registrierter Benutzer
    Registriert seit
    27.11.2010
    Beiträge
    105
    Hallo Koppi,

    vielen Dank für die Hinweise mit \toprule etc. - die 'Tabellenstriche' für die Tabelle, die mir bobmalaria zusammegebastelt hatte sieht jetztz etwas schöner aus, aber für mein jetziges Problem ist das wohl nicht die Lösung.

    Edit: Also folgendermaßen funktioniert es:

    Code:
    \begin{tabu} to \textwidth {XXXXXXX[1.7]} \toprule
    Name & Formel & Gehalt & Firma & H-Sätze & P-Sätze & Gefahrensymbole \\ \midrule
    ~ & ~ & ~ & ~ & ~ & ~ & ~  \\
    ~ & ~ & ~ & ~ & ~ & ~ & ~  \\
    ~ & ~ & ~ & ~ & ~ & ~ & ~  \\
    ~ & ~ & ~ & ~ & ~ & ~ & ~  \\
    ~ & ~ & ~ & ~ & ~ & ~ & ~  \\ \bottomrule
    \end{tabu}
    Keine Warnungen etc. - es sieht gut aus.

    Wenn ich aber das Beispiel von oben (also bobmalarias Tabelle und die Tabelle hier oben) nehme, taucht das Problem auf. Ich füge mal ein Bild an.
    Konkret sieht es mit den Codes dann so aus:
    Code:
    \begin{document} 
    
    \section{Chemikalien}
    
    \begin{tabu} to \textwidth {XXXXXX[1.3]} \toprule
    Name & Formel & Reinheit, Gehalt, Firma & H-Sätze & P-Sätze & Gefahrensymbole \\ \midrule
    ~ & ~ & ~ & ~ & ~ & ~ \\
    ~ & ~ & ~ & ~ & ~ & ~ \\
    ~ & ~ & ~ & ~ & ~ & ~ \\
    ~ & ~ & ~ & ~ & ~ & ~ \\
    ~ & ~ & ~ & ~ & ~ & ~ \\ \bottomrule
    \end{tabu}
    
    
    
    \begin{tabu} to \textwidth {XXXXXXX[1.7]} \toprule
    Name & Formel & Gehalt & Firma & H-Sätze & P-Sätze & Gefahrensymbole \\ \midrule
    ~ & ~ & ~ & ~ & ~ & ~ & ~  \\
    ~ & ~ & ~ & ~ & ~ & ~ & ~  \\
    ~ & ~ & ~ & ~ & ~ & ~ & ~  \\
    ~ & ~ & ~ & ~ & ~ & ~ & ~  \\
    ~ & ~ & ~ & ~ & ~ & ~ & ~  \\ \bottomrule
    \end{tabu}
    
    \end{document}

    Sehr merkwürdig. Woran liegt es, dass die zweite Tabelle 'verschoben' wird?

    Edit2: Das Ergebnis (wenn ich beide Tabellen auf einer Seite kompiliere) ist das gleich, auch wenn ich dazwischen sowas wie \vspace* habe. Der einzige Unterschied ist, dass die Tabellen nur weiter auseinanderliegen, aber die unter Tabelle dennoch verschoben ist...

    Edit3: Wenn ich jetzt einen Text zwischen die Tabellen reinsetze, sieht das Ergebnis immernoch gleich aus (siehe Anhang).
    Geändert von pitterpolo (03-10-2011 um 20:00 Uhr)

  11. #11
    Registrierter Benutzer
    Registriert seit
    01.10.2011
    Beiträge
    16
    Ich denke es liegt am tabu-Paket.

    Für mich sieht es so aus als ob das "tabu-Objekt" keine Tabelle ist und Latex das wie einen großen Buchstabe behandelt und bei einem neuen Absatz wird es eingerückt. Schreib mal in dein \documentclass[]{...} noch parskip in die eckigen Klammern. Das deaktiviert das Einrücken.


    Und als zweite Idee kommt mir noch:

    \begin{table}[htbp]
    \caption{xxx.}
    \label{yyy}
    \begin{tabu} to \textwidth {XXXXXXX[1.7]} \toprule
    ....
    \end{tabu}
    \end{table}

  12. #12
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.468
    Oder \noindent direkt vor das Objekt.

  13. #13
    Registrierter Benutzer
    Registriert seit
    27.11.2010
    Beiträge
    105
    Guten Abend,

    vielen Dank für eure Beiträge.

    Koppis Rat hat gewirkt - \noindent hingegen 'richtet' die Tabelle, aber Texte zwischen den Tabellen werden direkt unter bzw. über die Außenstriche geschrieben und wirken 'nicht normal'.

    Jedenfalls bedanke ich mich erneut und wünsche noch einen angenehmen Abend.

    Es grüßt,
    pitterpolo

  14. #14
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.468
    Mit parskip hast du hatl überall Abstand anstatt Einrückung. Ich dachte, vielleicht möchtest du das gar nicht.

  15. #15
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Anmerkung zum tabu-Paket: Die derzeitige Version hat einige Bugs (die nicht unbedingt fatal sein müssen). Der Autor hat vor einiger Zeit mitgeteilt, dass er an einer neuen Version arbeitet, allerdings ist er seit einigen Wochen aus comp.text.tex und fr.comp.text.tex verschwunden. Da er vorher sehr aktiv war, könnte das bedeuten, dass das Projekt zur Zeit nicht weiterentwickelt wird.

Lesezeichen

Berechtigungen

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