Seite 1 von 1
Zellinhalte vertikal zentrieren
Verfasst: Fr 15. Jan 2021, 11:26
von Larry
Hallo liebe LaTeXuser,
möchte die Zahlenwerte der Tabellenfelder vertikal zentriert setzen.
Kann mir jemand bei der Lösungsfindung helfen, mir fehlt dazu der Ansatz?
Schon einmal vielen Dank und freundliche Grüße
[code]\documentclass[11pt,ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[margin=3cm]{geometry}
\usepackage{multirow,tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\setlength{\extrarowheight}{3pt}
\begin{document}
\centering
\begin{tabularx}{0.7\linewidth}{|c|c|c|} \cline{1-3}
\multirow[tt]{3}{*} Meßun- & & \\
sicherheit & \multicolumn{1}{C|}{Flüssigkeit} & \multicolumn{1}{C|}{Gas} \\
SI-Einheit & & \\ \cline{1-3}
\(\Delta \mathrm{C_{Vm}}\) & 0.1 & o.1 \\
$\mathrm{J / (mol \cdot K)}$ & & \\ \cline{1-3}
\end{tabularx}
\end{document}
[/code]
Re: Zellinhalte vertikal zentrieren
Verfasst: Fr 15. Jan 2021, 11:56
von Bartman
Der Einsatz der Umgebung tabularx ergibt ohne den Spaltentyp X keinen Sinn.
Ein Vorschlag mit makecell:
\documentclass[11pt,ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage[margin=3cm]{geometry}
% makecell und siunitx laden beide das Paket array.
\usepackage{makecell}
\usepackage{siunitx}
\usepackage{booktabs}
\sisetup{
locale=DE,
per-mode=symbol,
inter-unit-product=\ensuremath{{}\cdot{}}
}
\begin{document}
\centering
\sisetup{table-format=1.1}
\begin{tabular}{|>$c<$|S|S|}
\hline
$\makecell{Meßun-\\sicherheit}$ & {Flüssigkeit} & {Gas} \\
\hline
\makecell{\Delta\mathrm{C_{Vm}}\\\si{\J\per\mole\per\K}} & 0.1 & 0.1 \\
\hline
\end{tabular}
\bigskip
oder mit \verb|booktabs| und dessen Befehl \verb|\addlinespace|
\bigskip
\begin{tabular}{>$c<$ SS}
\toprule
$\makecell{Meßun-\\sicherheit}$ & {Flüssigkeit} & {Gas} \\
\midrule
\makecell{\Delta\mathrm{C_{Vm}}\\\si{\J\per\mole\per\K}} & 0.1 & 0.1 \\
\addlinespace
\makecell{\Delta\mathrm{C_{Vm}}\\\si{\J\per\mole\per\K}} & 0.1 & 0.1 \\
\bottomrule
\end{tabular}
\end{document}
Wenn es Dir erlaubt ist, dann könntest Du die Einheiten auch in eine neue Spalte verschieben.
Re: Zellinhalte vertikal zentrieren
Verfasst: Fr 15. Jan 2021, 14:08
von Larry
Bartman hat geschrieben: ↑Fr 15. Jan 2021, 11:56
Ein Vorschlag mit makecell:
Habe Deinen Vorschlag für die gesamte Tabelle umgesetzt. Kann mich dafür nur ganz herzlich bei Dir bedanken. Einfach super!
Kannst Du mal schaun, warum der eine Eintrag eine Fehlermeldung hervorruft?
Kann man die herkömmliche Tabelle oben im VM auch mit einem stärkeren Rahmen versehen?
Nochmals vielen Dank für Deine auszuzeichnende Hilfe sowie freundliche Grüße
[code]\documentclass[11pt,ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage[margin=3cm]{geometry}
% makecell und siunitx laden beide das Paket array.
\usepackage{makecell}
\usepackage{siunitx}
\usepackage{booktabs}
\sisetup{
locale=DE,
per-mode=symbol,
inter-unit-product = \ensuremath{{}\cdot{}}
}
\begin{document}
\centering
\sisetup{table-format=1.1}
\begin{tabular}{|>$c<$|S|S|}
\hline
$\makecell{Meßun-\\sicherheit}$ & {Flüssigkeit} & {Gas} \\
\hline
\makecell{\Delta\mathrm{C_{Vm}}\\\si{\J\per\mole\per\K}} & 0.1 & 0.1 \\
\hline
\end{tabular}
\bigskip
oder mit \verb|booktabs| und dessen Befehl \verb|\addlinespace|
\bigskip
\begin{tabular}{>$c<$ SS}
\toprule
$\makecell{Meßun-\\sicherheit}$ & {Flüssigkeit} & {Gas} \\
\midrule
\makecell{\Delta\mathrm{C_{Vm}}\\\si{\J\per\mole\per\K}} & 0.1 & 0.1 \\
\addlinespace
\makecell{\Delta\mathrm{B}\\\si{\l\per\mole}} & - & 10^{-3} \\
\bottomrule
\end{tabular}
\end{document}
[/code]
Re: Zellinhalte vertikal zentrieren
Verfasst: Fr 15. Jan 2021, 14:40
von Bartman
In der Zelle einer S-Spalte werden die Eingaben in einem bestimmten Format erwartet. Wenn Du die letzte Zeile in der zweiten Tabelle so haben möchtest, dann bleibt Dir meines Wissens nur
\makecell{\Delta\mathrm{B}\\\si{\l\per\mole}} & {--} & {\num{e-3}} \\% oder
\makecell{\Delta\mathrm{B}\\\si{\l\per\mole}} & {--} & {$10^{-3}$} \\
Larry hat geschrieben: ↑Fr 15. Jan 2021, 14:08
Kann man die herkömmliche Tabelle oben im VM auch mit einem stärkeren Rahmen versehen?
Durch das in der Präambel bereits geladene Paket array ist der Längenbefehl \arrayrulewidth verfügbar.