Seite 1 von 1

Tabelle auf Textbreite

Verfasst: So 21. Aug 2016, 14:58
von Goldbra
Halli hallo,

ich möchte gerne meine Tabellen auf Textbreite bringen und bin dabei auf "tabularx" gestoßen, jedoch erzielt es nicht ganz den gewünschten Effekt. Dabei werden zwar meine linien über die Textbreite gezogen, aber nicht der Inhalt.
Minimalbeispiel
\documentclass[12pt,a4paper,twoside,openright,BCOR=20mm,]{report}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{amsmath}
\usepackage{amssymb}

\usepackage{booktabs}
\usepackage{tabularx}

\begin{document}

\begin{table}[htbp]
  \centering
    \begin{tabularx}{\columnwidth}{ll}
    \toprule[2pt]
    Dichte [$g/cm^3$] & 3,94 \\
    therm. Ausdehnungskoeffizient [$K^{-1}$] & $8,5\cdot 10^{-6}$ \\
    therm. Leitfähigkeit [$W/mK$] & 25-30 \\
    Schmelztemperatur [$K$]  & 2323,15 \\
    Bandabstand $E_g$ [$eV$] & 7,2-9,3 \\
    spezifischer Widerstand [$\Omega cm$] & $10^4-10^{14}$ \\
    \bottomrule[2pt]
    \end{tabularx}
\end{table}

\end{document}

[/m]

Irgendwas mache ich falsch, da auch Fehlermeldungen kommen?

Hat jemand Ideen?

Lg :]

Verfasst: So 21. Aug 2016, 15:37
von Johannes_B
Warum benutzt du keine X-Spalten?

Verfasst: So 21. Aug 2016, 15:39
von Stefan Kottwitz
Sehr gutes Minimalbeispiel!

Wenn Fehlermeldungen kommen, kannst Du sie ruhig nennen. Auch wenn man sie vllt. beim Testen des Beispiels auch kriegt - man hat vllt. nicht immer einen Rechner mit TeX bei der Hand. ;-)

Zum Problem: die dehnbaren Spalten werden mit X markiert, also etwa:
\begin{tabularx}{\columnwidth}{Xl}
Hat man mehrere, dann teilen sie sich den Platz auf. Siehe [d]tabularx[/d] Doku für Details.

Die Einheiten würde ich aufrecht schreiben, nicht kursiv wie Variablen, und siunitx verwenden.

Stefan

Verfasst: So 21. Aug 2016, 15:47
von Stefan Kottwitz
Hier mal eine Version mit siunitx:
\documentclass[12pt,a4paper,twoside,openright,BCOR=20mm,]{report}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{amsmath}
\usepackage{amssymb}

\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{siunitx}
\begin{document}

\begin{table}[htbp]
  \centering
  \begin{tabularx}{\columnwidth}{Xl}
    \toprule[2pt]
    Dichte [\si{\g/\cm^3}] & 3,94 \\
    therm. Ausdehnungskoeffizient [\si{\K^{-1}}] & $8,5\cdot 10^{-6}$ \\
    therm. Leitfähigkeit [\si{\W/\meter K}]      & $25-30$            \\
    Schmelztemperatur [\si{\K}]                  & $2323,15$          \\
    Bandabstand $E_g$ [\si{\eV}]                 & $7,2-9,3$          \\
    spezifischer Widerstand [\si{\ohm\cm}]       & $10^4-10^{14}$     \\
    \bottomrule[2pt]
  \end{tabularx}
\end{table}

\end{document}
Bild

Nochwas: schreibe besser alle Zahlen im Mathemodus. Im Beispiel waren die von-bis-Striche unterschiedlich, da ein Mathe-Minus länger als ein Text-Minus ist. Selbst wenn die Ziffern zufällig in Mathemodus und Textmodus gleich aussehen.

Stefan

Verfasst: So 21. Aug 2016, 15:56
von Johannes_B
Hier meine Version:
\documentclass[12pt,a4paper,twoside,openright,ngerman,
%BCOR=20mm,% ungültig bei report
]{report}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{amsmath}
\usepackage{amssymb}

\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{siunitx}

\DeclareSIUnit{\dichte}{\gram\per\cubic\centi\meter}
\DeclareDocumentCommand\Dichte{O{}m}{\SI#1{#2}{\dichte}}
\DeclareSIUnit{\waermeleit}{\watt\per\meter\per\kelvin}
\begin{document}

\begin{table}
	\centering
	\sisetup{range-phrase= --}
	\begin{tabularx}{\columnwidth}{Xll}
		\toprule[2pt]
		Dichte                        & \si{\dichte}            & \num{3,94}\\
		therm. Ausdehnungskoeffizient & \si{\per\kelvin}        & \num{8.5e-6} \\
		therm. Leitfähigkeit          & \si{\waermeleit}        & \numrange{25}{30} \\
		Schmelztemperatur             & \si{\kelvin}            & \num{2323,15}\\
		Bandabstand $ E_g$            & \si{\electronvolt}      & \numrange{7,2}{9,3}\\
		spezifischer Widerstand       & \si{\Omega\centi\meter} & \numrange{10e4}{10e14}     \\
		\bottomrule[2pt]
	\end{tabularx}
\end{table}

\end{document}
Achte btte bei der therm. Leitfähigkeit auf die richtige Einheit.

Verfasst: So 21. Aug 2016, 15:59
von Goldbra
Dank, hat geklappt :)

@Stefan

sinunitx habe ich bereits
\usepackage[%per=slash,
            decimalsymbol=comma,
            loctolang={DE:ngerman,UK:english},
            load=addn
           ]{siunitx}
Allerding weiß ich nicht genau wie ich es Anwende, damit es nicht in Kursiv geschrieben wird?
Wie würde die Schreibweiße aussehen, wenn ich zB
$g/cm^3$]
schreibe?

Verfasst: So 21. Aug 2016, 16:16
von Bartman
Meine Alternative zu dem Beispiel von Johannes_B:
\documentclass[12pt,a4paper,twoside,openright,ngerman,
%BCOR=20mm,% ungültig bei report
]{report}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{amsmath}
\usepackage{amssymb}

\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{siunitx}

\sisetup{locale=DE}

\DeclareSIUnit{\dichte}{\g\per\cubic\cm}
\DeclareDocumentCommand\Dichte{O{}m}{\SI#1{#2}{\dichte}}
\DeclareSIUnit[inter-unit-product = \ensuremath{{}\cdot{}}]{\waermeleit}{\W\per\m\per\kelvin}

\begin{document}

\begin{table}
   \centering
   \sisetup{
      range-phrase = --,
      table-unit-alignment = left,
      per-mode = fraction
   }
   \renewcommand{\arraystretch}{1.3}
   \begin{tabularx}{\columnwidth}{Xsl}
      \toprule[2pt]
      Dichte                        & \dichte     & \num{3,94}          \\
      therm. Ausdehnungskoeffizient & \per\kelvin & \num{8.5e-6}        \\
      therm. Leitfähigkeit          & \waermeleit & \numrange{25}{30}   \\
      Schmelztemperatur             & \kelvin     & \num{2323,15}       \\
      Bandabstand $E_g$             & \eV         & \numrange{7,2}{9,3} \\
      spezifischer Widerstand       & \Omega\cm   & \numrange{e4}{e14}  \\
      \bottomrule[2pt]
   \end{tabularx}
\end{table}

\end{document}