PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Teile einer tabelle zentrieren



the whizz
15-04-2013, 18:54
Hallo Leute,

irgenwie komm ich nicht ganz weiter. Möchte eine Tabelle mit 7 Spalteneinträge erstellen, die nicht über den Textrand reichen sollte, weiterhin sollte die Einträge in der ersten Zeile und die in der 2,5,6,7 Spalte zentriert stehen. Leider wird der Text auch nicht immer umgebrochen und ich muss das extra eingeben. Die erste Spalte passt mir ganz gut, die Zahlen müssen nicht zwangsweise bei der Bezeichnung stehen, bei den anderen Spalten hätt ich aber scho gern einen fließenden Text, dasselbe auch mit der Formel.
Gibt es auch noch die Möglichkeit die erste Zeile auch in der vertikalen mit den umgebrochenen zu zentrieren ?
Wäre für jede Hilfe dankbar.
Anbei mal mein Beispiel.

\documentclass[10pt,a4paper,titlepage,liststotoc]{article}
\usepackage[utf8]{inputenc}
\usepackage{textcomp}
\usepackage{xspace}
\usepackage{longtable}
\usepackage{rotating}
\usepackage{listings} % source code printing
\usepackage{graphicx} %%For loading graphic files
\usepackage{fancyhdr} %%Fancy headings
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{caption}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{booktabs,colortbl}
\usepackage[ngerman]{babel}
\usepackage{float}
%\usepackage{titlepage}
\usepackage[left=2.9cm,right=2.9cm,top=3cm,bottom=3cm]{geometry}
\usepackage{multirow}
\usepackage{appendix}
\usepackage[T1]{fontenc}
\usepackage{csquotes}
\usepackage[style=alphabetic,maxbibnames=3,backend=bibtex,doi= false,isbn=false,url=false,urldate=comp,dateabbrev =false]{biblatex}
\usepackage{hyperref}
\usepackage{tocloft}
\usepackage{pdfpages}
\usepackage{array}


\usepackage[bottom,hang]{footmisc} %Einruecken der 2. Fusszeile
\setlength{\footnotemargin}{0pt}

\setlength{\parindent}{0pt}
\captionsetup{font=small,labelfont=bf,format=hang}
\pgfplotsset{compat=newest}



\begin{document}
\begin{table}[h]
\centering
\footnotesize
\begin{tabular}{ |p{2cm} | c | p{3cm} | p{3.5cm} | p{1.2cm} | c | p{1.2cm} |}
\hline
\centering \textbf{Compound} &\textbf{Hersteller} & \textbf{Chemischer Name} &\textbf{Chemische Formel} &\centering \textbf{M$_{W}$ [g/mol]} &\textbf{F$_{A}$} &\centering \textbf{S [mol/kg]}\tabularnewline
\hline
AP-Caprolactam &Lanxess &Caprolactam &$C_{6}H_{11}NO$ & 113.2 &- &8.837\\
\hline
Addonyl 8120 (Aktivator) &RheinChemie &Diisocyanat & -& - & - & -\\
\hline
Addonyl TT (Aktivator) &RheinChemie &Dimeres Toluylen-2,4-diisocyanat&$C_{9}H_{6}N_{2}O_{2}$&174.16 &2 &-\\
\hline
Addonyl 8112 (Katalysator)
& RheinChemie &PolyOxypropylen\linebreak Triamin
Poly[oxy(methyl-1,2-ethanediyl)]
,a,a',a''-1,2,3-propanetriyltris[w-(2-aminomethylethoxy)-]
& $C_{9}H_{25}NO_{6}$\newline$[-CH(CH_{2}-)_{2}]$\newline $[[OCH_{2}CH(CH_{3})]nNH_{2}]_{3}$
&243.3006 &- &-\\
\hline
\end{tabular}
\end{table}

\end{document}

hakaze
15-04-2013, 21:53
Willkommen im Forum!

Zunächst allgemein:
Bitte benutze zum Posten von Code den #-Button oder die tags
hier code und lasse immer alle Pakete raus, die dein Beispiel nicht beeinflussen (ich habe sie mal rot markiert)! Hattest du ursprünglich mal eine KOMA-Script-Klasse (http://texdoc.net/texmf-dist/doc/latex/koma-script/scrguide.pdf) verwendet? Zumindest die Option liststotoc wird IMHO nämlich nicht von den Standardklassen unterstützt. Falls ja, habe ich mal die aktuelle Syntax der Klassenoptionen für scrartcl gesetzt. Dazu gehört auch parskip; das spart dann auch die händische Umdefinition von parindent auf 0pt (siehe auch scrguide.pdf (http://texdoc.net/texmf-dist/doc/latex/koma-script/scrguide.pdf)).

Zur Tabelle:
Ich habe alle Linien rausgenommen und nur die rules aus dem booktabs (http://texdoc.net/texmf-dist/doc/latex/booktabs-de/booktabs-de.pdf)-Paket verwendet (das hattest du eh' schon geladen).

Die Spaltendefinition beginnt und endet mit @{}. Damit wird der zusätzlich Abstand (tabcolsep) unterdrückt und spart schon etwas Platz.

p-Spalten werden jetzt nur verwendet, wo mehrzeiliger Text in den Zellen erwartet wird. Die jeweilige Breite habe ich noch etwas reduziert. Mit \raggedright wird linksbündiger Text (statt Standard-Blocksatz) genutzt. Für die lokale Änderung der Spalten-Ausrichtung etc. in einzelnen Zellen (z.B. für die Kopfzeile) können multicolumn-Befehle genutzt werden (auch wenn nicht mehrere Spalten zusammengefasst werden sollen). Die Einheiten werden in eine separate Zeile gesetzt.

Die Trennung kann man verbessern, wenn man auf die Kurzbefehle zurückgreift, die Sprachdefinition von babel bereitstellt (siehe l2kurz). Wenn Bindestriche existieren, wird nur dort getrennt... mit "= können Bindestriche als zusätzliche (nicht ausschließliche) Trennstellen gesetzt werden, z.B. Wort"=Trennung.

Für die Formatierung von chemischen (Summen)Formeln nutze ich mhchem (http://texdoc.net/texmf-dist/doc/latex/mhchem/mhchem.pdf). Für die ordentliche Ausrichtung von Zahlen (und Einheiten) könntest du dir ja mal das Paket siunitx (http://texdoc.net/texmf-dist/doc/latex/siunitx/siunitx.pdf) ansehen.


\documentclass[Fontsize=10pt, paper=a4, titlepage, listof=totoc, parskip]{scrartcl}
\usepackage[utf8]{inputenc}
%\usepackage{textcomp}
%\usepackage{xspace}
%\usepackage{longtable}
%\usepackage{rotating}
%\usepackage{listings} % source code printing
%\usepackage{graphicx} %%For loading graphic files
%\usepackage{fancyhdr} %%Fancy headings
%\usepackage{amsmath,amsfonts,amssymb}
%\usepackage{caption}
%\usepackage{pgfplots}
%\usepackage{pgfplotstable}
\usepackage{booktabs,colortbl}
\usepackage[ngerman]{babel}
%\usepackage{float}
%\usepackage{titlepage}
\usepackage[left=2.9cm,right=2.9cm,top=3cm,bottom=3cm]{geometry}
%\usepackage{multirow}
%\usepackage{appendix}
\usepackage[T1]{fontenc}
%\usepackage{csquotes}
%\usepackage[style=alphabetic,maxbibnames=3,backend=bibtex,doi= false,isbn=false,url=false,urldate=comp,dateabbrev =false]{biblatex}
%\usepackage{hyperref}
%\usepackage{tocloft}
%\usepackage{pdfpages}
%\usepackage{array}

%\usepackage[bottom,hang]{footmisc} %Einruecken der 2. Fusszeile
%\setlength{\footnotemargin}{0pt}

%\setlength{\parindent}{0pt}
%\captionsetup{font=small,labelfont=bf,format=hang }
%\pgfplotsset{compat=newest}

\usepackage{blindtext} % für Blindtext (rein zu Demo-Zwecken)
\usepackage[version=3]{mhchem} % Formatierung chem. Formeln

\begin{document}
\blindtext

\begin{table}[h]
\centering
\footnotesize
\begin{tabular}{ @{}>{\raggedright}p{1.8cm} l >{\raggedright}p{3cm} p{3cm} r c c @{}}
\toprule
\multicolumn{1}{c}{\bfseries Compound} &\multicolumn{1}{c}{\bfseries Hersteller} &\multicolumn{1}{c}{\bfseries Chemischer Name} &\multicolumn{1}{c}{\bfseries Chemische Formel} &\multicolumn{1}{c}{\bfseries M\textsubscript{W}} &\multicolumn{1}{c}{\bfseries F\textsubscript{A}} & \multicolumn{1}{c}{\bfseries S} \\
& & & & \multicolumn{1}{c}{\bfseries g/mol} & & \multicolumn{1}{c}{\bfseries mol/kg} \\
\midrule
AP"=Caprolactam &Lanxess &Caprolactam &\ce{C6H11NO} & 113.2 & -- & 8.837 \\
%\hline
Addonyl 8120 (Aktivator) &RheinChemie &Diisocyanat & -- & -- & -- & -- \\
%\hline
Addonyl TT (Aktivator) &RheinChemie &Dimeres Toluylen"=2,4"=diisocyanat & \ce{C9H6N2O2} & 174.16 & 2 & -- \\
%\hline
Addonyl 8112 (Katalysator)
& RheinChemie & PolyOxypropylen Triamin
Poly[oxy(methyl"=1,2"=ethanediyl)]
,$\alpha$,$\alpha^\prime$,$\alpha^{\prime\prime}$-1,2,3-propanetriyltris[$\omega$"=(2"=aminomethylethoxy)"=]
& \ce{C9H25NO6} \ce{ [-CH(CH2-)_{2}]} \ce{ [[OCH_{2}CH(CH_{3})]nNH_{2}]_{3}}
& 243.3006 & -- & --\\
\bottomrule
\end{tabular}
\end{table}

\blindtext
\end{document}
Leseempfehlung: Lapo Filippo Mori - Tables in LATEX2e: Packages and Methods (http://www.tug.org/pracjourn/2007-1/mori/mori.pdf), Stefan Kottwitz - Creating tables in LaTeX (http://www.packtpub.com/article/creating-tables-latex) und l2kurz (LATEX 2e-Kurzbeschreibung) (http://texdoc.net/texmf-dist/doc/latex/lshort-german/l2kurz.pdf)

the whizz
19-04-2013, 12:33
Hab Dank,

das bringt mich schonmal weiter.
Das es ein Paket für chemische Formeln gibt, wusste ich gar nicht, damit werd ich mich mal näher beschäftigen.
Man lernt eben nie aus :)

cgnieder
23-07-2013, 15:08
Ein weiteres Beispiel, das diesmal chemmacros (http://www.ctan.org/pkg/chemmacros) lädt, das neben chemformula für die Formeln bereitzustellen, auch den \iupac Befehl hat, der für die Namen ganz praktisch sein kann. Z.B. sollten die griechischen Buchstaben in Substanznamen laut IUPAC-Empfehlung aufrecht sein, was hier mit Hilfe des upgreek (http://www.ctan.org/pkg/upgreek) Pakets passiert. Für Einheiten und Ausrichtung der Zahlen in Tabellenspalten am Komma habe ich außerdem siunitx (http://www.ctan.org/pkg/siunitx) hinzugefügt.


\usepackage[T1]{fontenc}
\usepackage{blindtext} % für Blindtext (rein zu Demo-Zwecken)
\usepackage{chemmacros} % Formatierung chem. Formeln
\usepackage{upgreek}
\chemsetup{option/greek=upgreek}
\usepackage{siunitx}
\sisetup{detect-all}
\usepackage{ragged2e}

\newcommand*\thead[1]{\multicolumn{1}{c}{\bfseries#1}}
\newcommand*\stack[2]{\begin{tabular}[t]{c}#1\\#2\end{tabular}}

\begin{document}
\blindtext

\begin{table}[h]
\centering
\setlength\extrarowheight{.5ex}
\footnotesize
\begin{tabular}{
@{}
>{\RaggedRight}p{1.8cm}
l
>{\RaggedRight}p{2.3cm}
>{\RaggedRight}p{2.5cm}
S[table-format=3.4]
S[table-format=1]
S[table-format=1.3]
@{}
}
\toprule
\thead{Compound} &
\thead{Hersteller} &
\thead{\stack{Chemischer}{Name}} &
\thead{\stack{Chemische}{Formel}} &
\thead{\stack{M\textsubscript{W}}{\si{g/mol}}} &
\thead{\stack{F\textsubscript{A}}{\si{mol/kg}}} &
\thead{S} \\
\midrule
AP"=Caprolactam &
Lanxess &
Caprolactam &
\ch{C6H11NO} &
113.2 & {--} & 8.837 \\
Addonyl 8120 (Aktivator) &
RheinChemie &
Diisocyanat &
{--} & {--} & {--} & {--} \\
Addonyl TT (Aktivator) &
RheinChemie &
Dimeres \iupac{Toluylen\-2,4\-di\|iso\|cyanat} &
\ch{C9H6N2O2} &
174.16 & 2 & {--} \\
Addonyl 8112 (Katalysator) &
RheinChemie &
\iupac{Poly\|Oxy\|propylen Tri\|amin Poly\|[oxy\|(methyl\-1,2\-ethan\|ediyl)]},
\iupac{\a,\a$'$,\a$''$\-1,2,3\-propan\|etriyl\|tris\|[\w\-(2\-amino\|methyl\|ethoxy)\-]}
&
\ch{C9H25NO6}
\ch{[-CH(CH2-)2]}
\ch{[[OCH_{2}CH(CH_{3})]}
\ch{"$n$" NH2]3}
&
243.3006 & {--} & {--} \\
\bottomrule
\end{tabular}
\end{table}

\blindtext
\end{document}

http://www.mrunix.de/forums/attachment.php?attachmentid=5796&stc=1&d=1374584824

Grüße