Anzeige:
Ergebnis 1 bis 15 von 15

Thema: Tabellenschrift global definieren?

  1. #1
    Registrierter Benutzer
    Registriert seit
    03.06.2006
    Beiträge
    63

    Tabellenschrift global definieren?

    Hallo!

    Gibt es eine Möglichkeit, für Tabellen, die ich mit \begin{table} starte, global in der Präambel eine Schriftart zuzuweisen?

    Natürlich konnte man immer vor jeder Tabelle die Schriftart ändern, aber wenn man es global macht, ist es meiner Meinung nach sauberer.

    Hat jemand eine Idee?

  2. #2
    Registrierter Benutzer Avatar von localghost
    Registriert seit
    01.11.2006
    Ort
    Braunschweig
    Beiträge
    3.413

    Arrow Aus dem Archiv

    Habe mal im Archiv gekramt [1]. Das sollte helfen.

    [1] Schriftart für Umgebungen - mrunix.de


    MfG
    Thorsten¹
    TeX und LaTeX, Fragen und Antworten – TeXwelt

    ¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
    ² System: openSUSE 13.1 (Linux 3.11.10), TeX Live 2013, TeXworks 0.5 (r1351)

  3. #3
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    Wie wär's hiermit?

    Code:
    \documentclass{article}
    
    \usepackage[latin9]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
    
    \usepackage{blindtext,booktabs}
    
    \usepackage{floatrow}
    \floatsetup[table]{font=small,capposition=top}
    
    \begin{document}
    
    \blindtext
    
    \begin{table}
    \begin{tabular}{ccc}
    \toprule
    Rosen & Tulpen & Nelken \\
    \midrule
    1 & 2 & 3 \\
    \bottomrule
    \end{tabular}
    \caption{Blumen}
    \end{table}
    
    \end{document}
    Anmerkung: Das Zentrieren von Tabellen und sonstigen Gleitumgebungen ist in floatrow bereits voreingestellt.

    lockstep

  4. #4
    Registrierter Benutzer
    Registriert seit
    03.06.2006
    Beiträge
    63
    Danke für eure Hilfe!

    Ich hab es nun so probiert:

    \makeatletter
    \g@addto@macro{\table}{\sffamily}
    \makeatother
    Es funktioniert soweit auch recht gut, also die Schrift wird verändert. Allerdings werden nun über den Tabellen die Platzierungsoptionen im Dokument mit angezeigt.

    Kann man das auch noch irgendwie verhindern?

  5. #5
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    Ich kann dein Problem nicht nachvollziehen. Mein ursprünglicher Vorschlag etwas abgewandelt:

    Code:
    \usepackage{floatrow}
    \floatsetup[table]{font=sf}
    lockstep

  6. #6
    Registrierter Benutzer
    Registriert seit
    03.06.2006
    Beiträge
    63
    Ja, mit deinem Vorschlag klappt die Schriftänderung:

    \usepackage{floatrow}
    \floatsetup[table]{font=sf,capposition=top}
    Allerdings bekomme ich nun Fehlermeldungen mit:

    Caption(s) lost

  7. #7
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    Nun, bei mir ist floatrow Teil einer umfangreichen, selbst konfigurierten Präambel und erzeugt keine derartige Fehlermeldungen.

    Erstelle bitte ein vollständiges, lauffähiges, kleines Beispiel, das dein Problem demonstriert. Vielleicht findet sich dann eine Lösung.

    lockstep

    P.S.: Ein guter Anfang ist mein ursprüngliches Beispiel - der Code läuft ja hoffentlich auch bei dir fehlerfrei durch.

  8. #8
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zitat Zitat von matzemc Beitrag anzeigen
    Es funktioniert soweit auch recht gut, also die Schrift wird verändert. Allerdings werden nun über den Tabellen die Platzierungsoptionen im Dokument mit angezeigt.

    Kann man das auch noch irgendwie verhindern?
    Siehe Beitrag Nr.6 in dem von localghost verlinkten Thread.

    Liebe Grüße,
    Axel

  9. #9
    Registrierter Benutzer
    Registriert seit
    03.06.2006
    Beiträge
    63
    Es liegt scheinbar an folgendem:

    Einmal taucht der Fehler bei Captions mit einem \textit{} auf und wenn ich \cite benutze.

    Benötigst du dafür auch ein Minimalbeispiel?

  10. #10
    Registrierter Benutzer
    Registriert seit
    03.06.2006
    Beiträge
    63
    Bei der Lösung mit

    \makeatletter
    \g@addto@macro{\table}{\sffamily}
    \makeatother
    verstehe ich leider den Beitrag Nr. 6 nicht wirklich.

  11. #11
    Registrierter Benutzer Avatar von localghost
    Registriert seit
    01.11.2006
    Ort
    Braunschweig
    Beiträge
    3.413

    Arrow Allzwecklösung

    Zitat Zitat von matzemc Beitrag anzeigen
    Bei der Lösung mit […] verstehe ich leider den Beitrag Nr. 6 nicht wirklich.
    Na, ganz einfach. Bei Umgebungen mit Argumenten reicht diese einfache Version nicht. Axels Lösung ist universell und funktioniert mit jeder Umgebung.
    TeX und LaTeX, Fragen und Antworten – TeXwelt

    ¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
    ² System: openSUSE 13.1 (Linux 3.11.10), TeX Live 2013, TeXworks 0.5 (r1351)

  12. #12
    Registrierter Benutzer
    Registriert seit
    03.06.2006
    Beiträge
    63
    Also ist nun diese Variante zu empfehlen?

    \makeatletter
    % Axel Sommerfeldt
    % \href{mailto:caption@sommerfee.de}{\texttt{caption @sommerfee.de}}
    % 2007/01/07
    \providecommand*\AtBeginEnvironment[1]{%
    \@ifundefined{#1}%
    {\@latex@error{Environment #1 undefined}\@ehc
    \@gobble}%
    {\@ifundefined{ABE@env@#1}%
    {\expandafter\let\csname ABE@env@#1\expandafter\endcsname
    \csname #1\endcsname
    \expandafter\let\csname ABE@hook@#1\endcsname\@empty
    \@namedef{#1}{\@nameuse{ABE@hook@#1}\@nameuse{ABE@ env@#1}}}%
    {}%
    \expandafter\g@addto@macro\csname ABE@hook@#1\endcsname}}
    \@onlypreamble\AtBeginEnvironment
    \makeatother

    \AtBeginEnvironment{table}{\sffamily}
    Die Schrift wird bei mir aber leider nicht verändert.
    Geändert von matzemc (12-12-2009 um 13:16 Uhr)

  13. #13
    Registrierter Benutzer Avatar von localghost
    Registriert seit
    01.11.2006
    Ort
    Braunschweig
    Beiträge
    3.413

    Arrow Weiteres

    Code:
    \AtBeginEnvironment{tabular}{\sffamily}
    Wenn Du schräg gestellte Beschriftungen haben willst, dann lade Axels Paket caption mit entsprechenden Optionen.
    Code:
    \usepackage[font=it]{caption}
    Zitate in Beschriftungen musst Du speziell angehen.
    Code:
    \caption[Verzeichniseintrag]{Beschriftung mit Zitat \cite{key}}
    TeX und LaTeX, Fragen und Antworten – TeXwelt

    ¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
    ² System: openSUSE 13.1 (Linux 3.11.10), TeX Live 2013, TeXworks 0.5 (r1351)

  14. #14
    Registrierter Benutzer
    Registriert seit
    03.06.2006
    Beiträge
    63
    Ah, jetzt klappt es.
    Ich musste tabular nehmen.

    Super! Vielen Dank!

    Bei den anderen Dingen haben wir uns wohl falsch verstanden. Kursiv muss ich nur einzelne Worte stellen (Pflanzennamen). Aber das klappt nun auch wie gewohnt. Und zitieren auch. Danke!

  15. #15
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    Die Lösung von Axel erinnert mich darin, wie wenig ich über TeX- und LaTeX-Programmierung weiß.

    Habe jetzt noch einen weiteren Weg gefunden, der vermutlich ähnlich programmiert ist, aber mit einem auf CTAN verfügbaren Paket arbeitet:

    Code:
    \usepackage{etoolbox}
    \apptocmd{\table}{\sffamily}{}{}
    @matzemc: Freut mich, dass dein Problem gelöst ist - nur schade, dass wir der möglichen Inkompatibilität von floatrow nicht auf die Spur gekommen sind (das Paket ist z.B. auch sehr nützlich bei der Definition neuer Gleitumgebungen).

    lockstep

Lesezeichen

Berechtigungen

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