Siunitix unterschiedliche Strichlänge

Formelsatz für Mathematik, Naturwissenschaften und Technik


ko3rn3r
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: Mi 23. Jan 2019, 13:46

Siunitix unterschiedliche Strichlänge

Beitrag von ko3rn3r »

Hallo,
ich verwende siunitix mit folgenden Parametern:

Code: Alles auswählen

\usepackage{siunitx}
\sisetup{	        locale 			= DE,
			range-units         	= brackets,
			range-phrase		= {-},
allerdings ist mir aufgefallen, dass wenn ich die selbe Zeile Code:

Code: Alles auswählen

 \SIrange{1}{2}{nm} $\SIrange{1}{2}{nm}$
jedoch einmal in der normalen Text Umgebung und einmal in einer Matheumgebung mache, LATEX untschiedlich lange Bindestiche macht, obwohl ich oben doch nur eins definiert habe?!
Kann man das einheitlich definieren oder woran liegt das?

Liebe Grüße
Dateianhänge
SI.pdf
(26.23 KiB) 93-mal heruntergeladen

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4038
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Mache ein komplettes, kleines Beispiel, das man direkt kompilieren und testen kann.

ko3rn3r
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: Mi 23. Jan 2019, 13:46

Beitrag von ko3rn3r »

Hallo, hier mein vollständiges Beispiel:

Code: Alles auswählen

\documentclass[a4]{scrreprt}
\usepackage{siunitx}
\sisetup{	locale 					= DE,
			range-units         	= brackets,
			range-phrase			= {-},
}

\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{blindtext}

\begin{document}
	\SIrange{1}{2}{nm} $\SIrange{1}{2}{nm}$
\end{document}
Liebe Grüße!
Dateianhänge
SI.pdf
(26.23 KiB) 95-mal heruntergeladen

Ratgeber

Kennzeichnung des Bereichs

Beitrag von Ratgeber »

Sollen Bereiche nicht durch "bis" zwischen Anfangs- und Endwert dargestellt werden, dann ist ein Bindestrich ohnehin die falsche Wahl. Angebracht ist da ein Halbgeviertstrich (engl.: en dash).

Code: Alles auswählen

\documentclass[parskip=half,ngerman]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage{babel}

\usepackage[detect-all,locale=DE]{siunitx}
\sisetup{
  range-units = brackets,
  range-phrase = {\text{\textendash}}
}

\usepackage{lmodern}
\usepackage{microtype}

\begin{document}
  \SIrange{1}{2}{nm} $\SIrange{1}{2}{nm}$
\end{document}

ko3rn3r
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: Mi 23. Jan 2019, 13:46

Beitrag von ko3rn3r »

Vielen Dank für deine Hilfe! Genau so soll es sein!

ko3rn3r
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: Mi 23. Jan 2019, 13:46

Beitrag von ko3rn3r »

Hi, ich hätte noch eine weitere Frage: und zwar wenn ich eine "SIlist{}{}" in der normalen Text-Umgebeung mache, wird automatisch ein Zeilenumbruch gemacht. Wenn ich die selbe SIlist allerdings in einer Matheumgebung mache bricht der die Zeile nicht um und es kommt zu einem Overfull \hbox{} Warning. Kann man das so einstellen, dass LATEX auch in der MAthe-Umgebung einen Zeilenumbruch macht?

Code: Alles auswählen

\documentclass[paper=a4]{scrreprt}
\usepackage{siunitx}
\sisetup{	locale 					= DE,
			range-units         	= brackets,
			list-final-separator	= {\text{ und }},
			range-phrase			= {\text{\textendash}},
}

\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{blindtext}

\begin{document}
\begin{flushleft}

\SIrange{1}{2}{nm}\\
$\SIrange{1}{2}{nm}$\\

A=\SIlist{1;2;3;4}{\micro\metre}\\
$A=\SIlist{1;2;3;4}{\micro\metre}$

\end{flushleft}

text text text text text text text text text text text text text text text A=\SIlist{1;2;3;4}{\micro\metre}\\
text text text text text text text text text text text text text text text $A=\SIlist{1;2;3;4}{\micro\metre}$

\end{document}
Liebe Grüße!
Dateianhänge
SI.pdf
(30.31 KiB) 154-mal heruntergeladen

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2226
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Code: Alles auswählen

\documentclass[parskip=half, ngerman]{scrreprt}
\usepackage{siunitx}
\sisetup{   
    locale               = DE,
    range-units          = brackets,
    range-phrase         = {\text{\textendash}},
    list-final-separator = {\ \linebreak[0]\text{\translate{and} }},
    list-pair-separator  = {\ \text{\translate{and}}\ },
    list-separator       = {,\ \linebreak[0]}
}

\usepackage{lmodern}
\usepackage{babel}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage{showframe}

\begin{document}
\SIrange{1}{2}{\nm}\\
$\SIrange{1}{2}{\nm}$

A=\SIlist{1;2;3;4}{\mm}\\
$A=\SIlist{1;2;3;4}{\mm}$

text text text text text text text text text text text text text text text A=\SIlist{1;2;3;4}{\mm}

text text text text text text text text text text text text text text text $A=\SIlist{1;2;3;4}{\mm}$
\end{document}
Ich verstehe jedoch nicht, warum egreg die erste Zuweisung an list-separator vom Fragesteller übernommen hat.

Quelle: Antwort von egreg

ko3rn3r
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: Mi 23. Jan 2019, 13:46

Beitrag von ko3rn3r »

Vielen Dank für deine Hilfe, da wäre ich nie drauf gekommen!

Allerdings fällt mir auf, dass zwei gleiche "SIlist" sich zwischen Text- und Mathe-Umgebung von der Länge her unterscheiden (siehe Anhang).

Liebe Grüße
Dateianhänge
SI_Forum.pdf
(34.52 KiB) 87-mal heruntergeladen

markusv
Forum-Meister
Forum-Meister
Beiträge: 876
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

ko3rn3r hat geschrieben:Allerdings fällt mir auf, dass zwei gleiche "SIlist" sich zwischen Text- und Mathe-Umgebung von der Länge her unterscheiden (siehe Anhang).
Dies liegt in der unterschiedlichen Interpretation von KOmmata in der Matheumgebung ggü. der Textumgebung. Im Mathematik-Modus wird ein Komma standardmäßig als Listentrenner interpretiert. Dies lässt sich umgehen, indem man das Komma einklammert.

Code: Alles auswählen

\documentclass[parskip=half, ngerman]{scrreprt}
\usepackage{siunitx}
\sisetup{  
    locale               = DE,
    range-units          = brackets,
    range-phrase         = {\text{\textendash}},
    list-final-separator = {\ \linebreak[0]\text{\translate{and} }},
    list-pair-separator  = {\ \text{\translate{and}}\ },
    list-separator       = {{,}\ \linebreak[0]}
}

\usepackage{lmodern}
\usepackage{babel}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage{showframe}

\begin{document}
\SIlist{1;2;3;4}{\mm}

$\SIlist{1;2;3;4}{\mm}$
\end{document}
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

ko3rn3r
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: Mi 23. Jan 2019, 13:46

Beitrag von ko3rn3r »

Vielen dank für deine Hilfe! Jetzt ist es schön einheitlich :)

Antworten