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

Thema: Tabellenproblem

  1. #1
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685

    Tabellenproblem

    Die folgende Tabelle entspricht inzwischen weitgehend den Verlagswünschen, allerdings sollten die Einträge der Spalten zwei bis vier noch mittig unter den "Y" zu stehen kommen. Wie mache ich das?

    Zusatzfrage: Gibt es für die Ausrichtung am \cdot auch eine ähnliche Abkürzung wie mit den "d-Spalten"?

    Code:
    \documentclass{scrartcl}
    \usepackage[ngerman]{babel}
    \usepackage{booktabs}
    \usepackage{numprint}
    \usepackage{tabularx}
    \newcolumntype{C}{>{\centering\arraybackslash}X}
    \begin{document}
     \begin{tabularx}{\linewidth}{@{}lr@{$\,\cdot\,$}lr@{$\,\cdot\,$}lr@{$\,\cdot\,$}l@{}}
      \toprule
       Frequenz & \multicolumn{6}{c}{Spezifische Reflektivitaet in X bei einer
          Regenrate $R$ von} \\
       & \multicolumn{2}{C}{Y} & \multicolumn{2}{C}{Y} &
         \multicolumn{2}{C}{Y} \\
      \cmidrule[\heavyrulewidth]{1-7}
       3 GHz  & 1,5 & \numprint{e-11} & 3 & \numprint{e-10} & 1,5 & \numprint{e-8} \\
       10 GHz & 1,5 & \numprint{e-9}  & 6 & \numprint{e-8}  & 2   & \numprint{e-6} \\
       30 GHz & 2   & \numprint{e-7}  & 9 & \numprint{e-6}  & 2   & \numprint{e-4} \\
      \bottomrule
     \end{tabularx}
    \end{document}

  2. #2
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hi,

    warum nimmst du tabularx. Du nutzt es ja nicht mal.

    Code:
    \documentclass{scrartcl}
    \usepackage[ngerman]{babel}
    \usepackage{booktabs}
    \usepackage{numprint}
    \usepackage{tabularx}
    \newcolumntype{C}{>{\centering\arraybackslash}X}
    \begin{document}
     \begin{tabular}{@{}lr@{$\,\cdot\,$}lr@{$\,\cdot\,$}lr@{$\,\cdot\,$}l@{}}
      \toprule
       Frequenz & \multicolumn{6}{l}{\parbox{5cm}{Spezifische Reflektivitaet in X bei einer
          Regenrate $R$ von}} \\
       & \multicolumn{2}{c}{Y} & \multicolumn{2}{c}{Y} &
         \multicolumn{2}{c}{Y} \\
      \cmidrule[\heavyrulewidth]{1-7}
       3 GHz  & 1,5 & \numprint{e-11} & 3 & \numprint{e-10} & 1,5 & \numprint{e-8} \\
       10 GHz & 1,5 & \numprint{e-9}  & 6 & \numprint{e-8}  & 2   & \numprint{e-6} \\
       30 GHz & 2   & \numprint{e-7}  & 9 & \numprint{e-6}  & 2   & \numprint{e-4} \\
      \bottomrule
     \end{tabular}
    \end{document}
    Gruß
    Marco

  3. #3
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Hast Du Dir den Anhang angeschaut? Die Kopfzeile (und die Tabelle im Ganzen) wird mit "C" ausgetrieben.

  4. #4
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von LuPi Beitrag anzeigen
    Hast Du Dir den Anhang angeschaut? Die Kopfzeile (und die Tabelle im Ganzen) wird mit "C" ausgetrieben.
    Die Tabelle entspricht ja deinem MB

    Ich würde solche Tabellen mit siunitx machen.

  5. #5
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Mit siunitx habe ich mich noch nicht beschäftigt. Kann ich damit die gewünschte Tabellenausrichtung am "Malpunkt" erreichen?

  6. #6
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von LuPi Beitrag anzeigen
    Mit siunitx habe ich mich noch nicht beschäftigt. Kann ich damit die gewünschte Tabellenausrichtung am "Malpunkt" erreichen?
    Das Problem ist die Lange Zeile am Anfang. Wenn diese nicht umgebrochen wird, wird es schwer mit der Ausrichtung. Anbei mal etwas Spielerei:
    Code:
    \documentclass{scrartcl}
    \usepackage[ngerman]{babel}
    \usepackage{booktabs}
    \usepackage{numprint}
    \usepackage{tabularx}
    \usepackage{ragged2e}
    \usepackage{calc}
    \usepackage[locale=DE]{siunitx}
    \sisetup{%
    exponent-product =\cdot}
    \newcolumntype{C}{>{\centering\arraybackslash}X}
    \begin{document}
    \begin{table}[!ht]
    \centering
    \sisetup{
    table-number-alignment = center,
    table-figures-integer = 1,
    table-figures-exponent = 2
    }
    
     \begin{tabular}{@{}
     S
    S[table-figures-exponent = 3,table-figures-decimal = 1]
    S[table-figures-exponent = 3,table-figures-decimal = 0]
    S[table-figures-exponent = 2,table-figures-decimal = 1]
    }
      \toprule
       {Frequenz} & \multicolumn{3}{>{\RaggedRight}m{5.5cm}@{}}{Spezifische Reflektivitaet in X bei einer
          Regenrate $R$ von} \\
       & {Y} & {Y} & {Y} \\ \cmidrule[\heavyrulewidth]{1-4}
      \SI{3}{\giga\hertz}  & 1.5e-11 & 3e-10 & 1.5e-8 \\
      \SI{10}{\giga\hertz} & 1.5e-9  & 6e-8  & 2e-6 \\
      \SI{30}{\giga\hertz} & 2e-7    & 9e-6  & 2e-4 \\
      \bottomrule
     \end{tabular}
    
    
    \vspace*{3\baselineskip}
    
    \renewcommand{\arraystretch}{1.25}
    \begin{tabularx}{\textwidth}{@{}*{4}{>{\Centering}X}@{}}
    \toprule
    Frequenz & \multicolumn{3}{c}{Spezifische Reflektivitaet in X bei einer Regenrate $R$ von}
           \\
          & Y & Y & Y\\\cmidrule[\heavyrulewidth]{1-4}
    \begin{tabular}{S[table-figures-decimal = 1]}
       \SI{3}{\giga\hertz}\\ \SI{10}{\giga\hertz}\\\SI{30}{\giga\hertz}
    \end{tabular}%
    &
    \begin{tabular}{S[table-figures-decimal = 1]}
       1.5e-11\\ 1.5e-9\\2e-7
    \end{tabular}%
    &
    \begin{tabular}{S[table-figures-decimal = 0]}
        3e-10\\6e-8\\9e-6
    \end{tabular}%
    &
    \begin{tabular}{S[table-figures-decimal = 1]}
         1.5e-8\\2e-6 \\2e-4 
    \end{tabular}%
    \\
    \bottomrule
    \end{tabularx}
    
    
    \end{table}
    
    
    \end{document}
    Gruß
    Marco

  7. #7
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Hm, das werde ich morgen testen, vielen Dank!

    Da ich ansonsten auch gut ohne siunitx auskomme (ich nutze units), würde mir eine Lösung ohne siunitx natürlich auch nicht schlecht schmecken.

    Einen schönen, sonnigen Herbstabend noch.

  8. #8
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Beim pdfLaTeXen kommt ein "undefined control sequence" "...\int_compare:nF" zum Vorschein. Was sagt mir das? Eine der gängigen Suchmaschinen hilft da nicht weiter.

  9. #9
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von LuPi Beitrag anzeigen
    Beim pdfLaTeXen kommt ein "undefined control sequence" "...\int_compare:nF" zum Vorschein. Was sagt mir das? Eine der gängigen Suchmaschinen hilft da nicht weiter.
    ist ein Fehler vom Autor von sinuitx, der vergessen hat auch
    andere geänderte Pakete auf CTAN zu laden.

    Sollte mit dem heutigen TeXLive update behoben sein.

    Herbert

  10. #10
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Gut, dann werde ich das morgen noch einmal testen.

    Aber, Herbert, gibt es hierfür tatsächlich keine "einfachere" Lösung, das heißt, ohne siunitx und nur mit Bordmitteln?

  11. #11
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von LuPi Beitrag anzeigen
    gibt es hierfür tatsächlich keine "einfachere" Lösung, das heißt, ohne siunitx und nur mit Bordmitteln?
    Code:
    \documentclass{scrartcl}
    \usepackage[ngerman]{babel}
    \usepackage{booktabs}
    \usepackage{numprint}
    \usepackage{tabularx}
    \def\Y{\tabular{r @{\,Y\,} l}\null&\null\endtabular}
    \begin{document}
    
    \begin{tabularx}{\linewidth}{@{}lr@{$\,\cdot\,$}lr@{$\,\cdot\,$}lr@{$\,\cdot\,$}l@{}}
      \toprule
    Frequenz & \multicolumn{6}{c}{Spezifische Reflektivitaet in X bei einer
          Regenrate $R$ von} \\
       & \multicolumn{2}{X}{\Y}  & \multicolumn{2}{X}{\Y} &
         \multicolumn{2}{X}{\Y} \\
      \cmidrule[\heavyrulewidth]{1-7}
       3 GHz  & 1,5 & \numprint{e-11} & 3 & \numprint{e-10} & 1,5 & \numprint{e-8} \\
       10 GHz & 1,5 & \numprint{e-9}  & 6 & \numprint{e-8}  & 2   & \numprint{e-6} \\
       30 GHz & 2   & \numprint{e-7}  & 9 & \numprint{e-6}  & 2   & \numprint{e-4} \\
      \bottomrule
     \end{tabularx}
    \end{document}
    Herbert

  12. #12
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Vielen Dank, das ist schon fast das Gewünschte. Letzter Punkt: Wie kann ich die Spalten zwei bis vier zentrieren? Ich habe in dem Beispiel nur provisorisch (!) vertikale Linien eingezogen, an denen man erkennt, dass die Einträge linksbündig erscheinen.

    Code:
    \documentclass{scrartcl}
    \usepackage[ngerman]{babel}
    \usepackage{booktabs}
    \usepackage{numprint}
    \usepackage{tabularx}
    \def\Y{\tabular{r @{\,Y\,} l}\null&\null\endtabular}
    \begin{document}
    
    \begin{tabularx}{\linewidth}{@{}l|r@{$\,\cdot\,$}l|r@{$\,\cdot\,$}l|r@{$\,\cdot\,$}l@{}}
      \toprule
    Frequenz & \multicolumn{6}{c}{Spezifische Reflektivitaet in X bei
    einer
          Regenrate $R$ von} \\
       & \multicolumn{2}{X}{\Y}  & \multicolumn{2}{X}{\Y} &
         \multicolumn{2}{X}{\Y} \\
      \cmidrule[\heavyrulewidth]{1-7}
       3 GHz  & 1,5 & \numprint{e-11} & 3 & \numprint{e-10} & 1,5 & \numprint{e-8} \\
       10 GHz & 1,5 & \numprint{e-9}  & 6 & \numprint{e-8}  & 2   & \numprint{e-6} \\
       30 GHz & 2   & \numprint{e-7}  & 9 & \numprint{e-6}  & 2   & \numprint{e-4} \\
      \bottomrule
     \end{tabularx}
    \end{document}

  13. #13
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von LuPi Beitrag anzeigen
    Vielen Dank, das ist schon fast das Gewünschte. Letzter Punkt: Wie kann ich die Spalten zwei bis vier zentrieren? Ich habe in dem Beispiel nur provisorisch (!) vertikale Linien eingezogen, an denen man erkennt, dass die Einträge linksbündig erscheinen.
    Code:
    \documentclass[parskip]{scrartcl}
    \usepackage[ngerman]{babel}
    \usepackage{booktabs}
    \usepackage{numprint}
    \usepackage{tabularx}
    \usepackage{ragged2e}
    \renewcommand\tabularxcolumn[1]{>{\Centering}p{#1}}
    \def\TabA#1{\tabular{l@{\,GHz\hspace{\tabcolsep}}}#1\endtabular}
    \def\TabB#1{\tabular{r @{\,$\cdot$\,} l}#1\endtabular}
    
    \begin{document}
    
    
    \rule{\linewidth}{1pt}
    
    \begin{tabularx}{\linewidth}{@{} l X X X @{}}\toprule
    Frequenz & \multicolumn{3}{c}{Spezifische Reflektivitaet in X bei einer Regenrate $R$ von} \\
     & Y & Y & Y\\\midrule
    \TabA{\phantom{0}3\\10\\30} &
      \TabB{1,5 & \numprint{e-11}\\1,5 & \numprint{e-9}\\2 & \numprint{e-7}} &
      \TabB{3 & \numprint{e-10}\\6 & \numprint{e-8}\\9 & \numprint{e-6}} &
      \TabB{1.5 & \numprint{e-7}\\2 & \numprint{e-6}\\2 & \numprint{e-4}}\\\bottomrule
    \end{tabularx}
    
    \end{document}
    Herbert

  14. #14
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hi,

    einen Lösungsansatz habe ich dir bereits oben gegen und die Schwierigkeit mit dem langen Satz ebenfalls.

    Code:
    \documentclass{scrartcl}
    \usepackage[ngerman]{babel}
    \usepackage{booktabs}
    \usepackage{numprint}
    \usepackage{tabularx,ragged2e}
    \def\Y{\tabular{r @{\,Y\,} l}\null&\null\endtabular}
    \begin{document}
    
    \begin{tabularx}{\linewidth}{@{}l|r@{$\,\cdot\,$}l|r@{$\,\cdot\,$}l|r@{$\,\cdot\,$}l@{}}
      \toprule
    Frequenz & \multicolumn{6}{c}{Spezifische Reflektivitaet in X bei
    einer
          Regenrate $R$ von} \\
       & \multicolumn{2}{X}{\Y}  & \multicolumn{2}{X}{\Y} &
         \multicolumn{2}{X}{\Y} \\
      \cmidrule[\heavyrulewidth]{1-7}
       3 GHz  & 1,5 & \numprint{e-11} & 3 & \numprint{e-10} & 1,5 & \numprint{e-8} \\
       10 GHz & 1,5 & \numprint{e-9}  & 6 & \numprint{e-8}  & 2   & \numprint{e-6} \\
       30 GHz & 2   & \numprint{e-7}  & 9 & \numprint{e-6}  & 2   & \numprint{e-4} \\
      \bottomrule
     \end{tabularx}
    
    
    \def\SPL{\tabular{l} 3 GHz \\ 10 GHz \\30 GHz\endtabular}
    \def\SPR#1{\tabular{r@{$\,\cdot\,$}l} #1 \endtabular}
    
     \begin{tabularx}{\linewidth}{@{}l*{3}{>{\Centering}X}}
       \toprule
     Frequenz & \multicolumn{3}{c}{Spezifische Reflektivitaet in X bei einer  Regenrate $R$ von}
            \\
        & {Y}  & {Y} &   {Y} \\
       \cmidrule[\heavyrulewidth]{1-4}
       \SPL%
       &%
       \SPR{1,5 & \numprint{e-11}\\ 1,5 & \numprint{e-9}\\2   & \numprint{e-7}}%
       &%
       \SPR{3 & \numprint{e-10}\\6 & \numprint{e-8} \\ 9 & \numprint{e-6}}%
       &%
       \SPR{1,5 & \numprint{e-8}\\ 2   & \numprint{e-6}\\  2 & \numprint{e-4}}\\
    \bottomrule
      \end{tabularx}
    \end{document}
    @Herbert: Mit der Konstruktion hast du doch das gleich Probleme. Du nutzt zwar tabularx, doch die Hauptspalte nutzen den Vorzug der Breitenberechnung nicht. Somit kann das bzgl. der gewünschten Spalten doch gar nicht zentriert werden. Natürlich ist durch multicolum{2}{X} sichergestellt, dass die Breiten einen gewissen Startpunkt haben, aber das wars. Verstehst du wenigstens meine Aussage

    Gruß
    Marco

  15. #15
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    @Herbert: Zwei ... ein Gedanke

    Gruß
    Marco

Lesezeichen

Berechtigungen

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