Anzeige:
Ergebnis 1 bis 10 von 10

Thema: dcolumn und Schiftgröße in Zellen

  1. #1
    Registrierter Benutzer
    Registriert seit
    22.12.2005
    Beiträge
    16

    dcolumn und Schiftgröße in Zellen

    Hallo Latex-Cracks!

    Ich habe mal wieder ein Problem:

    Die Tabellen in meinem Dokument sind recht umfangreich und um eine Tabelle auf eine Seite zu bekommen, habe ich für die Zellen jeweils eine Schriftgröße definiert nach dem Schema:

    \begin{tabular}{>{\myfontsizetable}l>{\myfontsizetable}c>{\myfontsizetable}c}

    Nun soll ich aber die Spalten nach dem Komma bzw. Punkt zentrieren, was mit dem Paket dcolumn auch wunderbar funktioniert allerdings hat Latex dann ein Prob mit meiner vorgegebene Schriftgröße:

    "LaTeX Font Warning: Command \footnotesize invalid in math mode on input line XY"

    Was kann ich machen um das Problem zu beheben?

    Kann ich evtl über \newcolumntype{d}{D{.}{.}{-1}} irgendwie global die Schriftgröße für d-Spalten ändern? Z.B. durch \newcolumntype{d}{\footnotesize D{.}{.}{-1}}} oder so (ich weiß, dass es so nicht hinhaut, aber vielleicht kann man das so in die Richtigung irgendwie lösen?!).

    Dank schon mal im voraus!

    Rawry
    Geändert von rawry (19-08-2008 um 14:52 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    23.02.2006
    Ort
    Berlin
    Beiträge
    97

    Beispiel?

    Zitat Zitat von rawry Beitrag anzeigen
    Was kann ich machen um das Problem zu beheben?
    Ein Minimalbeispiel.
    Geändert von thongor (19-08-2008 um 15:14 Uhr)

  3. #3
    Registrierter Benutzer
    Registriert seit
    22.12.2005
    Beiträge
    16
    Der Link funzt nicht. Habe trotzdem verstanden ;-)

    There you go:

    Minimalbeispiel:
    %%%%%%%%%%%%%%%%%%%%%%%%
    \documentclass[11pt]{scrbook}
    \usepackage{dcolumn}
    \usepackage{tabularx}
    \usepackage{array}
    \usepackage{threeparttable}
    \usepackage{booktabs}

    \newcolumntype{d}{D{.}{.}{-1}}

    \begin{document}

    \begin{table}[htb]
    \centering
    \begin{threeparttable}

    \begin{tabular}{>{\small}d}
    \toprule
    0.7\\
    0.087 \\
    \end{tabular}
    \end{threeparttable}
    \end{table}

    \end{document}
    %%%%%%%%%%%%%%%%%%%%%%%%

  4. #4
    Registrierter Benutzer
    Registriert seit
    23.02.2006
    Ort
    Berlin
    Beiträge
    97
    Zitat Zitat von rawry Beitrag anzeigen
    Der Link funzt nicht.
    Sorry, das war mein Fehler. Sollte jetzt aber berichtigt sein.

    Versuch doch bitte mal das Folgende:
    Code:
    \documentclass[11pt]{scrbook}
    \usepackage{dcolumn,tabularx,array,threeparttable,booktabs}
    
    \newcolumntype{d}{D{.}{.}{-1}}
    
    \begin{document}
    
    \begin{table}[htb]
    
    \centering
    
    \begin{threeparttable}
    
    \tiny
    \begin{tabular}{d}
    \toprule
    0.7\\ 0.087 \\
    \end{tabular}
    
    \footnotesize
    \begin{tabular}{d}
    \toprule
    0.7\\ 0.087 \\
    \end{tabular}
    
    \end{threeparttable}
    
    \end{table}
    
    \end{document}

  5. #5
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    Deine Spezifikation ist leider widersprüchlich; ich kann zumindest nicht erkennen, ob Du die Schrift für die Tabelle insgesamt oder nur für die d-Spalten ändern willst.

    Für den Fall
    Kann ich evtl über \newcolumntype{d}{D{.}{.}{-1}} irgendwie global die Schriftgröße für d-Spalten ändern?
    möge das helfen:

    \documentclass{article}
    \usepackage{dcolumn}
    \newcolumntype{d}{D{.}{.}{-1}}

    %%% <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    % soll die Schriftgroesse fuer einzelne Spalten geaendert werden,
    % auf das Paket numprint wechseln; das definiert Spaltentypen n und N.
    \usepackage{numprint}
    \npdecimalsign{.}% default ist ein Komma
    \newcolumntype{g}{>{\tiny}n{1}{3}}% Zahlen anpassen od. als Argumente übergeben

    \begin{document}
    \begin{tabular}{ldg}
    ABC & 0.7 & 0.7 \\
    DEF & 0.087 & 0.087 \\
    \end{tabular}
    \end{document}
    edico

  6. #6
    Registrierter Benutzer
    Registriert seit
    22.12.2005
    Beiträge
    16
    Hallo zusammen!

    Vielen Dank für Eure Lösungsvorschläge.

    Die Idee von thongor funktioniert zwar grundsätzlich, allerdings bekomme ich dann zig Warnungen ("\footnotesize is not valid in mathmode"). Außerdem zerhaut es mir die Zeilenabstände innerhalb der Tabelle.


    Der Vorschlag edico funktioniert grundsätzlich auch, liefert aber noch mehr Warnungen: "Package numprint Warning: mantisse exceeds reserved space after decimal sign on input line XY".

    Was genau machen die {1} und die {3} in \newcolumntype{g}{>{\tiny}n{1}{3}?

    Es ergibt sich hier nämlich auch das Problem, dass die Zeilenüberschrift zentriert sein soll (was ich mit multicolumn festlege), die Zahlen in der Spalte aber nun linksbündig stehen.



    Da meine Tabellen zeimlich groß sind, so dass sie geradeso auf eine Seite gehen, definiere ich die Schriftgröße, die innerhalb meiner Tabellen verwendet werden soll global mit
    \newcommand{\myfontsizetable}{\footnotesize\select font}

    Und schreibe dann in allen Tabellen für die das gelten soll:
    \begin{tabular}{>{\myfontsizetable}l>{\myfontsizetable}c}

    Das sind dann in der Regel alle. Es soll also auch für die Spalte, in der die Ausrichtung am Punkt erfolgen soll, diese definierte Schriftgröße gelten.



    Hier nochmal ein Minimalbeispiel:

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \documentclass[11pt]{scrbook}
    \usepackage{dcolumn}
    \usepackage{tabularx}
    \usepackage{array}
    \usepackage{threeparttable}
    \usepackage{booktabs}

    \newcommand{\myfontsizetable}{\footnotesize\select font}
    \newcommand{\myfontsizetablefootnotes}{\tiny\selec tfont}

    \newcolumntype{d}{D{.}{.}{-1}}

    \begin{document}

    \begin{table}
    \centering
    \begin{threeparttable}

    \renewcommand{\baselinestretch}{0.9}

    \begin{tabular}{>{\myfontsizetable}l>{\myfontsizetable}c>{\myfontsizetable}c>{\myfontsizetable}c>{\myfontsizetable}c>{\myfontsizetable}d}
    \toprule
    &&\multicolumn{2}{>{\myfontsizetable}c}{Scenario I\tnote{b}}& \multicolumn{2}{>{\myfontsizetable}c}{Scenario II\tnote{c}}\\[-1mm]
    &&\multicolumn{1}{c}{{\scriptsize $\delta_O=0.1$}}&\multicolumn{1}{c}{{\scriptsize $\delta_O=0.35$}}&\multicolumn{1}{c}{{\scriptsize $\delta_O=0.1$}}&\multicolumn{1}{c}{{\scriptsize $\delta_O=0.35$}}\\
    \midrule

    \bfseries{XY}\tnote{d} & & & & & \\
    U / E &16.5 (16.3)&8.0 &20.4 &19.0 &9.7 \\[-1mm]
    U / A &6.5 (16.7)&17.6 &9.0 &17.9 &18.6 \\[-1mm]
    U / O & &2.4 &20.7 &1.2 &13.8 \\
    \bottomrule
    \end{tabular}
    \begin{tablenotes}\myfontsizetablefootnotes
    \renewcommand{\baselinestretch}{0.5}
    \setlength{\extrarowheight}{-5mm}
    \item[a] Initial
    \end{tablenotes}
    \end{threeparttable}
    \end{table}
    \renewcommand{\baselinestretch}{1.5}
    \end{document}
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



    Warum kann ich einer d-column nicht sagen: "Hier Schriftgröße \myfonsizetable?" ;-)


    Viele Grüße
    Rawry

  7. #7
    Registrierter Benutzer
    Registriert seit
    23.02.2006
    Ort
    Berlin
    Beiträge
    97

    Versuch mal rccol statt dcolumn

    Code:
    \usepackage{rccol}
    
    \begin{tabular}{l>{\footnotesize}R{3}{2}r}
    ab & 0,7 & CD \\
    EF & 0,087 & gh \\
    rt & 12,24 & UI
    \end{tabular}
    Je nachdem, was das für Zahlen sind, könntest du die runden, und dabei auch dezimal ausrichten. Das Paket verträgt auch Schriftgrößenänderungen.

  8. #8
    Registrierter Benutzer
    Registriert seit
    22.12.2005
    Beiträge
    16
    Vielen Dank thongor, ich werde das probieren und dann berichten ob es geklappt hat.

    Hatte diese Paket schon probiert und eine komische Fehlermeldung erhalten, werde es aber erneut installieren und mir mal die Doku dazu reinziehen.

    Grüße
    Rawry

  9. #9
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    funktioniert grundsätzlich auch, liefert aber noch mehr Warnungen
    aber nicht mit meinem Beispiel!?

    Warum kann ich einer d-column nicht sagen: "Hier Schriftgröße \myfonsizetable?"
    weil es IMO eben nicht geht; deswegen meine Empfehlung.
    Was genau machen die {1} und die {3} in \newcolumntype{g}{>{\tiny}n{1}{3}?
    Anzahl der Stellen vor und nach dem Komma (Punkt) - was sonst ;-)

    \documentclass{article}
    \usepackage{dcolumn}
    \newcolumntype{d}{D{.}{.}{-1}}

    %%% <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    % soll die Schriftgroesse fuerr einzelne Spalten geaendert werden,
    % auf das Paket numprint wechseln; das definiert Spaltentypen n und N.
    \usepackage{numprint}
    \npdecimalsign{.}% default ist ein Komma
    \newcolumntype{g}{>{\tiny}n{1}{3}}% Zahlen anpassen od. als Argumente übergeben
    \newcolumntype{G}{>{\tiny}n{2}{1}}%

    \begin{document}
    \begin{tabular}{ldg}
    ABC & 0.7 & 0.7 \\
    DEF & 0.087 & 0.087 \\
    \end{tabular}

    \begin{tabular}{lGGGGG}
    \bfseries{XY} & & & & & \\
    U / E &16.5 (16.3) &8.0 &20.4 &19.0 &9.7 \\
    U / A & 6.5 (16.7) &17.6 &9.0 &17.9 &18.6 \\
    U / O & &2.4 &20.7 &1.2 &13.8 \\
    \end{tabular}
    \end{document}
    edico

  10. #10
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    \everymath

    Hallo,

    in solchen Fällen kann \everymath helfen, z.B.:
    Code:
    \begingroup
    \everymath{\scriptstyle}
    % hier folgt die Tabelle
    \endgroup
    Stefan

Lesezeichen

Berechtigungen

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