diff --git a/kalibrierschein.cls b/kalibrierschein.cls index fd314939c97929637e2f2ce898083f25307ef371..fd430e1b080837742ae3bab7eff81ed7cb18f5ac 100644 --- a/kalibrierschein.cls +++ b/kalibrierschein.cls @@ -285,16 +285,33 @@ footskip=0bp, \RequirePackage{siunitx-PTB} +\newcounter{ks@colNum} +\newcounter{ks@colMax} + +\newcommand*\ks@siTabColSet{% + \ifnum\c@ks@colNum < 3 % nur für erste 3 Spalten 0-Exponent verwenden + \sisetup{print-zero-exponent = true}% + \else + \sisetup{print-zero-exponent = false}% + \fi + \stepcounter{ks@colNum}% + \ifnum\c@ks@colNum = \c@ks@colMax + \setcounter{ks@colNum}{0}% + \fi +} + +\newcolumntype{R}{>{\ks@siTabColSet}r}% rechtsbündig mit untersch. 0-Exponent + \newcommand\resultTable[3][]{% %\begingroup - \@tempcntb=#2 % + \c@ks@colMax=#2 % \edef\@tempa{\noexpand\begin{longtable}{% - @{\noexpand\extracolsep{\fill}}*\the\@tempcntb r + @{\noexpand\extracolsep{\fill}}*\the\c@ks@colMax R }}% \expandafter\ks@add\expandafter{\@tempa}% \ks@add{\toprule}% \ifx\relax#1\relax\else - \edef\@tempa{\noexpand\multicolumn{\the\@tempcntb}{@{}c@{}}{#1}% + \edef\@tempa{\noexpand\multicolumn{\the\c@ks@colMax}{@{}c@{}}{#1}% \noexpand\\\noexpand\toprule}% \expandafter\ks@add\expandafter{\@tempa}% %\showthe\ks@tab