Ausrichtung an der Dezimalstelle (in siunitx-Umgebung)

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Ausrichtung an der Dezimalstelle (in siunitx-Umgebung)

von Bartman » Fr 4. Nov 2016, 11:00

-steffi- hat geschrieben:Das "per-mode=symbol%" sorgt für g/L, oder?
Ja.

von -steffi- » Fr 4. Nov 2016, 07:03

Danke, dann schau ich mir das mal in der Doku an. Als ich reingeschaut habe, habe ich nur die S-Optionen gefunden, da habe wohl zu oberflächlich geschaut..

Das "per-mode=symbol%" sorgt für g/L, oder? Das soll ich ausdrücklich nicht verwenden. :)

von Bartman » Do 3. Nov 2016, 23:41

Die von markusv benutzten Optionen findest Du in der Dokumentation von siunitx.

Die Vorlage für mein Beispiel entnahm ich dem Abschnitt 7.14.
\documentclass[fontsize=12pt, captions=tableabove, ngerman]{scrreprt}% <- geändert

\usepackage[english, main=ngerman]{babel}% <- geändert
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{translator}% <- ergänzt für die Übersetzung der range-phrase (früher tophrase)
\usepackage{siunitx}

\sisetup{
	locale = DE,
	detect-weight, 
	detect-family, 
	mode=text,
	per-mode=symbol% <- ergänzt
}
    
\DeclareSIUnit{\gL}{\g\per\L}
\DeclareSIUnit{\mgL}{\mg\per\L}
    
\begin{document}
\begin{table}
	\centering
	\caption{Zusammensetzung des CGXII-Mediums}
	\begin{tabular}{
		l
	   l@{\hspace{1.2cm}}
		S[table-format=2]@{\,}
		s[table-unit-alignment=left]
	}
	\toprule
	\textbf{Komponente} & \multicolumn{3}{l}{\textbf{Endkonzentration}}\\
	\midrule% <- geändert
	Ammoniumsulfat && 20 & \gL\\
	Kaliumdihydrogenphosphat && 1 & \gL\\
	Dikaliumhydrogenphosphat && 1 & \mgL\\
	Harnstoff && 5 & \gL\\
	MOPS && 42 & \gL\\
	\bottomrule
	\end{tabular}
\end{table}
\end{document}
Laut der Erläuterung der Option table-format dürfen stattdessen auch die zwei anderen dort genannten Optionen verwendet werden, aber in meinem Beispiel führen diese nicht zum gleichen Ergebnis.

von -steffi- » Do 3. Nov 2016, 20:31

Achso.. ich war ein bisschen zu faul die Kurzbefehle in der Tabelle mit dem \SI{}{} umzuschreiben, daher habe ich den Teil aus meiner Präambel mit für das Beispiel übernommen. Die Tabelle haeb ich direkt aus meiner Abschlussarbeit kopiert und da verwende ich insgesamt sehr oft diese Einheiten, sodass ich das natürlich nicht jedes Mal in lang schreiben will.

von Bartman » Do 3. Nov 2016, 20:24

-steffi- hat geschrieben:Das sieht sehr gut aus. Vielen Dank!
Weiß nicht genau, was du mit den ganz Befehlen erreichen willst.
Welche Befehle meinst du?
Ich vermute er meint
\NewDocumentCommand\DeclareNewQuantity{mmm}{%
  \DeclareSIUnit{#2}{#3}%
  \DeclareDocumentCommand{#1}{O{}m}{\SI[##1]{##2}{#2}}%
}
\DeclareNewQuantity
   \gL
   \gl
   {\gram\per\liter}
\DeclareNewQuantity
   \mgL
   \mgl
   {\milli\gram\per\liter}  

von -steffi- » Do 3. Nov 2016, 20:22

Das sieht sehr gut aus. Vielen Dank!
Weiß nicht genau, was du mit den ganz Befehlen erreichen willst.
Welche Befehle meinst du?

Und kannst du (oder wer anders) mir erklären, was diese Einstellungen bedeuten, die du da eingesetzt hast?
[table-figures-decimal=2,
table-number-alignment=center
]

von markusv » Do 3. Nov 2016, 16:16

Weiß nicht genau, was du mit den ganz Befehlen erreichen willst. Aber deine beschriebenen Fragen lassen sich mMn mit folgendem Code lösen, auch wenn es auf mich ein wenig gepfuscht wirkt: die Optionen sind notwendig, um die Ausrichtung zu erreichen. Ohne werden die Einheiten unterschiedlich gesetzt. Vielleicht können die Versierteren hier noch ein paar Stellschrauben drehen.
\documentclass[12pt,a4paper]{scrreprt}
\usepackage[english, ngerman]{babel} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}
\usepackage{longtable}
\usepackage{tabulary}
\usepackage{booktabs} 
\usepackage{siunitx}
\sisetup{
locale = DE ,
detect-weight, 
detect-family, 
mode=text,
tophrase={{~bis~}}
}
\DeclareSIUnit{\gL}{\gram\per\liter}
\DeclareSIUnit{\mgl}{\milli\gram\per\liter}    
    
    
\begin{document}
\begin{table}
\begin{tabular}{lS[table-figures-decimal=2,
table-number-alignment=center
]}
   \toprule   
   \textbf{Komponente} & \textbf{Endkonzentration}\\
   \toprule
      Ammoniumsulfat &20\gL \\
      Kaliumdihydrogenphosphat & 1\gL \\
      Dikaliumhydrogenphosphat &  1\mgl \\
      Harnstoff &  5\gL\\
      MOPS &  42\gL \\
   \bottomrule
\end{tabular}
\end{table}

\end{document}

Ausrichtung an der Dezimalstelle (in siunitx-Umgebung)

von -steffi- » Do 3. Nov 2016, 15:28

Hallo :)

Ich hab zwar schon ein, zwei Beispiele im Forum gefunden, aber die lösen leider mein Problem nicht. Ich würde gerne die Zahlen an der Dezimalstelle ausrichten, aber das scheint aufgrund der Einrahmung in das siunitx-Paket nicht zu funktionieren. Wie kann ich das alternativ realisieren? Und gibt es auch eine Lösung die Einheiten ebenfalls an einer Linie auszurichten?

\documentclass[12pt,a4paper]{scrreprt}
\usepackage[english, ngerman]{babel} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}
\usepackage{longtable}
\usepackage{tabulary}
\usepackage{booktabs} 
\usepackage{siunitx}
\sisetup{
locale = DE ,
detect-weight, 
detect-family, 
mode=text,
tophrase={{~bis~}}
}
\NewDocumentCommand\DeclareNewQuantity{mmm}{%
  \DeclareSIUnit{#2}{#3}%
  \DeclareDocumentCommand{#1}{O{}m}{\SI[##1]{##2}{#2}}%
}
\DeclareNewQuantity
	\gL
	\gl
	{\gram\per\liter}
\DeclareNewQuantity
	\mgL
	\mgl
	{\milli\gram\per\liter}    
    
    
\begin{document}

\begin{longtable}{lS} 
\caption[Zusammensetzung des CGXII-Mediums]{Zusammensetzung des CGXII-Mediums.}\\
	\toprule	
	\textbf{Komponente} & \textbf{Endkonzentration}\\
	\toprule
		Ammoniumsulfat & \gL{20} \\
		Kaliumdihydrogenphosphat & \gL{1} \\
		Dikaliumhydrogenphosphat &  \mgL{1} \\
		Harnstoff &  \gL{5} \\
		MOPS &  \gL{42} \\
	\bottomrule
\end{longtable}
\end{document}

Nach oben