Fragen zu siunitx (\SIrange, mathmode<->displaymathmod

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: Fragen zu siunitx (\SIrange, mathmode<->displaymathmod

von rico_em » Fr 13. Nov 2015, 20:47

\sisetup{tophrase={{~bis~}}} :wink:

von flofli » Mo 22. Mär 2010, 13:22

Hallo

ich habe mein Problem [b[3)[/b] nun auch über die Neudefinition eines Befehls gelöst:
\newcommand{\ei}[3][]{%
\ifmmode
 {\mathchoice{%
     {\sisetup{mode=math} \SI[#1]{#2}{#3}}}{ % Mathemodus  (displaystyle)
     {\SI[#1]{#2}{#3}}}{                     % Zahlen im Text Mathemodus (textstyle)
     {\sisetup{mode=math} \SI[#1]{#2}{#3}}}{ % Scriptstyle
     {\sisetup{mode=math} \SI[#1]{#2}{#3}}}} % Scriptscriptstyle
\else
 {\SI[#1]{#2}{#3}}% dieser Teil gilt für den Textmodus
\fi
}
Damit kann man die Darstellung je nach Modus seinen Wünschen anpassen.

Wright habe ich auch geschrieben aber bisher kam keine Antwort.

Grüße
Florian

von IrenaSekuta » Sa 20. Mär 2010, 17:34

Bei mir gibt es bei \SI{1,23E-5}{1/a} Folgendes: 1,23 *10^(-5) 1/a

von phi » Fr 19. Mär 2010, 22:28

IrenaSekuta hat geschrieben:Gibt es bei bei siunitx auch die Möglichkeit die Zahlen in wissenschaftlicher Form, d.h. 1,46E-7 darstellen zu lassen?
Klar, wieso nicht?
\num{1,46E-7}

von phi » Fr 19. Mär 2010, 21:37

flofli hat geschrieben:Danke

zu 1):

Da ich die Sprachauswahl Babel überlassen wollte habe ich die Locale wie folgt gesetzt:
\sisetup{loctolang={UK:UKenglish,DE:ngerman,DE:german}}
dadurch scheint aus irgendeinem Grund die Option tophrase auser Gefecht gesetzt zu werden....
Ja, die babel-Sprachauswahl überschreibt die globalen Einstellungen. Ich verwende in diesem Fall folgendes Muster:
\addto\extrasngerman{\sisetup{locale=DE,…}}
\addto\extras…
zu 3)
wenn emulate=units gesetzt ist werden die Minuskel Ziffern nur im reinen Textmode Verwendet, ohne diese Option werden die Minuskelziffern immer verwendet. - Verstehe ich nicht so ganz :?
Der Optionsname deutet darauf hin, dass dies zur Emulation des units-Pakets dient, welches wohl dieses Verhalten (aus welchen Gründen auch immer) zeigt.
Aber leider klappt es damit immer noch nicht, dass nur im Text und Mathe Textstyle Modus die Minuskelziffern verwendet werden. :-(
Frage doch einfach Joseph Wright direkt. Möglicherweise baut er diese Möglichkeit beim nächsten Update dann ein.

von IrenaSekuta » Fr 19. Mär 2010, 18:21

Ich hoffe, es wird nicht als unverschämt empfunden, wenn ich mich mit einer Frage hier kurz einbringe:

Gibt es bei bei siunitx auch die Möglichkeit die Zahlen in wissenschaftlicher Form, d.h. 1,46E-7 darstellen zu lassen?

Damit ich auch etwas hier beitragen kann:


Gruß,

Irena
\newcommand{\SIr}[4][true]{\SIrange[repeatunits=#1]{#2}{#3}{#4}}
\SIr[false]{2.31(1)}{\gram} 
\SIr{2}{3}{\meter}  

von flofli » Fr 19. Mär 2010, 17:09

Danke

zu 1):

Da ich die Sprachauswahl Babel überlassen wollte habe ich die Locale wie folgt gesetzt:
\sisetup{loctolang={UK:UKenglish,DE:ngerman,DE:german}}
dadurch scheint aus irgendeinem Grund die Option tophrase auser Gefecht gesetzt zu werden....

mite \newcommand... kann man sich dann auch gleich noch die Option für den "range" Befehl sparen.

nun gehts:
\usepackage[fix-cm]{hfoldsty} % minuskelziffern (old-style)

% \usepackage{amsfonts}
\usepackage[emulate=units]{siunitx}
\sisetup{
        locale=DE,
%          loctolang={UK:UKenglish,DE:ngerman,DE:german},    % Sprachen zuweisen --- VERURSACHT DEN FEHLER!
         seperr=true,                    % Fehler anzeigen
         tightpm,                        % Abstand zwischen Fehler verringern
         repeatunits=false,              % Einheiten bei Fehlern und Range nicht wiederholen
         trapambigerr=false,             % keine Klammern um Fehler setzen
         trapambigrange=false,           % keine Klammern bei Range setzen
         tophrase={{ bis }},             % muss trotzdem nochmal definiert werden!!
%          mode=text,                    % Oldstyle Zahlen (nur wenn entsprechende Schrift geladen ist -> hfoldsty)
         valuemode=text,unitmode=maths,  % Old Style nicht für Hochzahlen
         colourall,colour=blue,
         fraction=nice
         }


% Neudefinition des Bereichs
\newcommand{\SIr}[4][repeatunits=true]{\SIrange[#1]{#2}{#3}{#4}}

\begin{document}

\SI{2.123456}{\celsius}  --- $\SI{2.123456}{\celsius} + 122$
\[ \SI{2.123456}{\celsius} + 1.23 \]

\SI[repeatunits=false]{2.31(1)}{\gram}

\SIr{2}{3}{\meter}
\SIr[repeatunits=false]{2}{3}{\meter}


\end{document}
zu 3)
wenn emulate=units gesetzt ist werden die Minuskel Ziffern nur im reinen Textmode Verwendet, ohne diese Option werden die Minuskelziffern immer verwendet. - Verstehe ich nicht so ganz :?
Aber leider klappt es damit immer noch nicht, dass nur im Text und Mathe Textstyle Modus die Minuskelziffern verwendet werden. :-(

von Syralist » Fr 19. Mär 2010, 16:01

Ich hab da mal ein paar Anworten:

1) Bei mir funktioniert es. Sowohl als globale Option als auch mit \sisetup.

2) Die Option repeatunits=true setzt sich bei der Fehlerdarstellung leider durch (siehe Anleitung). Wenn du also bei \SIrange wiederholende Einheiten haben möchtest aber bei Fehlern nicht, musst du entweder so wie ich unten bei Fehlern die Option repeatunits=false von Hand setzten oder bei \SIrange eben repeatunits=true und global repeatunits=false einstellen.

3) da kann ich grad nichts zu sagen...

4) Warum benutzt du denn nicht \celsius wenn du schon siunitx benutzt? :shock:

Hier nochmal alles zusammen als Minimalbeispiel. Bei der nächsten Frage solltest du übrigens dein eigenes Minimalbeispiel machen.
\documentclass{scrartcl}

\usepackage[ngerman]{babel}

\usepackage[locale=DE,seperr,repeatunits=true,trapambigerr=false,tophrase={{ bis }}]{siunitx}

\begin{document}

\SI{2}{\celsius} $\SI{3}{\celsius}$

\SI[repeatunits=false]{2.3(1)}{\gram}

\SIrange{2}{3}{\meter}
\sisetup{tophrase={{ bla }}}
\SIrange{3}{4}{\meter}

\end{document}

Fragen zu siunitx (\SIrange, mathmode<->displaymathmod

von flofli » Fr 19. Mär 2010, 15:30

Hallo

ich habe ein paar Fragen zu siunitx:

1) \SIrange liefert bei mir Ergebnisse in der Form 8bis9, also ohne Leerzeichen und wenn ich versuche die Option
\sisetup{tophrase={{ bis }}}
zu ändern, hat dies keine Änderung zur Folge.

2) Außerdem würde ich gerne bei \SIrange die Einheiten wiederholt haben, also 8 m bis 10 m, allerdings bei Fehlern nicht ( 1.234±0.005 m). Die Option
\sisetup{repeatunits=false}
scheint sich allerdings auf beides (\SIrange & Fehler) auszuwirken. Gibt es eine andere Möglichkeit?

3) Ich verwende Minuskelziffern (OldStyle Ziffern) und würde diese gerne nicht nur im Textmodus sonder auch im Mathemodus (textstyle) allerdings nicht im Mathemodus (displaystyle) angezeigt bekommen. Ist dies möglich?

4) Bei der verwendung von "°C" als Einheit bekomme ich die Warnmeldung
Command \textdegree invalid in math mode
und es wird nur "C" angezeigt. Ich hatte bisher immer "gensymb" als Paket geladen aber dies verursacht einen Fehler mit siunitx.
edit: wenn man anstatt von °C den Befehl \celsius verwendet tritt der Fehler nicht auf!

5) Ist es möglich die nicefrac Ausgabe auch bei Verwendung von "literal" Einheiten zu verwenden. Also, bei Eingabe von
\SI{44}{m/s}
soll ebenso wie bei
\SI{44}{\meter\per\second}
die Ausgabe im nicefrac Format efolgen.



Viele Fragen ;-) Wäre super wenn jemand auf das ein oder andere eine Antwort weiß...

Grüße
Florian[/i]

Nach oben