PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Siunitx oder?



ichhabeeinefrag
05-12-2012, 19:35
Moin,
ich verwende jetzt seit neuesten das Paket siunitx um z.B. Einheiten schön darzu stellen oder in einer Tabelle Zahlen ordentlich auszurichten. Dazu habe ich jezt mehrere Fragen. Zu erst ein Mal würde ich gerne von euch wissen, ob ihr das Paket empfehlen könnt bzw. ob es für das was ich damit mache richtig ist und ob es so wie ich es mache richtig ist.:)
Ich habe außerdem ein Problem mit dem \per. ich würde gerne


\SI{4}{\N\per\mm^2}

als Bruch stehen haben in der align Umgebung und auch im Text. Allerdings schaffe ich es nicht das einzustellen, außer ich mache:

\SI[per-mode=fraction]{4}{\N\per\mm^2}

Global klapt das leider irgendwie nicht. In der Dokumentation habe ich auch nichts passendes gefunden.
Hier mein Minimalbeispiel:

\documentclass[12pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{float,caption,mathtools,booktabs,multi row,threeparttable,lmodern}
\usepackage[options]{mcode}
\usepackage{listings}
\lstset{numbers=left,frame=lines, breaklines=true, numberstyle=\tiny, numbersep=5pt,basicstyle=\small,commentstyle=\colo r{white}, stringstyle=\ttfamily, showstringspaces=false}
\lstset{language=Matlab}
\usepackage[locale=DE,per-mode=fraction]{siunitx}
\newcommand{\grad}{$^\circ$}
\usepackage[
colorlinks=true,
linkcolor=black,
citecolor=black,
filecolor=black,
pagecolor=black,
urlcolor=black,
bookmarks=true,
bookmarksopen=true,
bookmarksopenlevel=3,
plainpages=false,
pdfpagelabels=true]{hyperref}
\begin{document}
\begin{align}
\sigma_v &= \sqrt{(\SI{74,5}{\N\per\mm^2} + \SI{12,7}{\N\per\mm^2})^2 + 3\cdot (\SI{0,4}{\N\per\mm^2} + \SI{14}{\N\per\mm^2})^2} = \SI{91,7}{\N\per\mm^2}
\end{align}
Text Text Text\SI{2}{\N\per\mm^2} Text Text Text Text
\begin{table}[H]
\centering
\begin{tabular}{l c S}
\toprule
Komponente & & \multicolumn{1}{c}{Gewicht}\\
& & \multicolumn{1}{c}{kg}\\\hline
Keil & = & 8,5\\
Gegenhalter & = & 13,4\\
Führung & = & 14,3\\
Welle & = & 114\\
Gerüst & = & 101,1\\
Schlitten & = & 78\\
Handkurbel & = & 14\\
Baumstamm & = & 54\\\hline
Gesamt & = & 397,3\\\bottomrule
\end{tabular}
\caption{Gewicht des Baumstammspalters}
\end{table}
Mit freundlichen Grüßen :)

hakaze
05-12-2012, 20:13
Eigentlich funktioniert es genauso, als Paketoption

\usepackage[locale=DE,per-mode=fraction]{siunitx}
oder über sisetup

\sisetup{locale=DE, per-mode=fraction}
Hast du mal versucht, deine LaTeX-Distribution zu aktualisieren? Aktuell ist:

siunitx.sty 2012/11/27 v2.5m A comprehensive (SI) units package

esdd
05-12-2012, 20:33
Hallo,

werden bei dir mit


\SI[per-mode=fraction]{4}{\N\per\mm^2}
wirklich die Einheiten als Bruch dargestellt? Bei mir klappt das wegen dem ^2 nicht.

Aber

\SI{4}{\N\per\square\mm}
\SI{4}{\N\per\mm\squared}
funktionieren auch schon mit der Klassenoption per-mode=fraction.

Gruß
Elke

ichhabeeinefrag
05-12-2012, 20:35
Also ich habe jetzt im Tex Live Utility siunitx aktualisiert. Doch jetzt gibt mir texlipse 170 fehlermeldungen an und generiert keine pdf Datei mehr.
Was denn da passiert? Ich weiß jetzt auch nicht was man noch für Infos braucht.

hakaze
05-12-2012, 20:44
Die Fehlermeldungen, v.a. die ersten paar wären ganz sinnvoll.

Funktioniert denn der Aufruf von pdflatex im Terminal?

ichhabeeinefrag
05-12-2012, 20:55
Ok.
Es lag anscheinend daran, dass ich nur siunitx aktualisiert hatte. Hab jetzt alle Updates gemacht und dann lief es wieder. Wegen meines ursprünglichen Problems:

\SI{4}{\N\per\mm\squared}
funktioniert tatsächlich. Vielen Dank Elke und hakaze!
Für die Einheit ist das ja ganz schön viel geschreibe oder? Muss ich mich damit abfinden oder geht das auch besser?
Mit freundlichen Grüßen
Sam

hakaze
05-12-2012, 21:44
Schau mal in die Doku zu siunitx (http://texdoc.net/texmf-dist/doc/latex/siunitx/siunitx.pdf)! Du kannst dir auch deine eigene (Kurz-)Einheiten definieren:

\DeclareSIUnit\Npqmm{\N\per\square\milli\metre}

cgnieder
05-12-2012, 22:49
Übrigens: damit locale=DE einen Effekt hat, muss man ngerman entweder als Paketoption verwenden oder das translator Paket mit der Option ngerman laden. Man vergleiche

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{siunitx}
\sisetup{locale=DE}
\begin{document}

\numrange{1}{5}

\end{document}

mit


\documentclass[ngerman]{article}
\usepackage{babel}
\usepackage{siunitx}
\sisetup{locale=DE}
\begin{document}

\numrange{1}{5}

\end{document}

Grüße

ichhabeeinefrag
05-12-2012, 23:12
Super Tips dankeschön ihr beiden! :)

hakaze
06-12-2012, 07:46
Übrigens: damit locale=DE einen Effekt hat, muss man ngerman entweder als Paketoption verwenden oder das translator Paket mit der Option ngerman laden. Man vergleiche...

Ich glaube, die Anleitung ist in dieser Hinsicht leicht missverständlich. locale=DE passt lediglich typographische Konventionen (wie Dezimal- und Tausendertrennzeichen) an. Es ist nicht für die Übersetzung von Strings zuständig. Das können nur die von dir beschriebene Option bzw. das translator-Paket tun. vgl.
\documentclass[ngerman]{article}
\usepackage{babel}
\usepackage{siunitx}
%\sisetup{locale=DE}
\begin{document}

\numrange{1,5}{5,7} % ergibt: 1.5 bis 5.7

\end{document}Das bedeutet natürlich, dass man mit einem deutschen Dokument i.d.R. beides einschalten will/muss.

cgnieder
06-12-2012, 11:05
Stimmt, meine Erinnerung lässt mich wohl etwas im Stich... dritte Möglichkeit übrigens: nach siunitx \uselanguage{German} aufrufen.

Grüße