Bruch im Text - \nicefrac erste Einheit kursiv, zweite Einheit normal

Formelsatz für Mathematik, Naturwissenschaften und Technik


Zoid
Forum-Century
Forum-Century
Beiträge: 104
Registriert: Do 12. Mär 2020, 13:48

Bruch im Text - \nicefrac erste Einheit kursiv, zweite Einheit normal

Beitrag von Zoid »

Moin moin zusammen,

ich benötige im Textverlauf die Nennenung von Einheiten, welche normalerweise im Bruch stehen. Laut Literatur gibt es mehrere Gestaltungsmöglichkeiten, von welcher mit allerdings die Variante mit schrägem Bruchstrich und horizontal angeordneten Einheiten am meisten zusagt. In Kombination mit siuntix und nicefrac erscheint die erste Einheit kursiv und die zweite Einheit normal. Ich kann mir nicht erklären, woran es liegt, zumal ich bei anderen Beispielen nie diesen Utnerschied gesehen habe. Es ergibt für mich auch keinen Sinn, warum man Einheiten in einem Bruch im Normalfall unterschiedlich schreiben sollte. Anbei ein Bild:
Bild

Meinen Code habe ich soweit runtergebrochen, wie das alle benötigten Elemente zur Erstellung des Dokumentes noch vorhanden sind, wobei ich mich frage, welche Rolle die usapackages acronym und biblatex hier spielen. Wenn ich sie entferne, klappts allerdings nicht.

Die anderen Brüche dienen als visuelles Beispiel bzw. Vergleich.
Ich nutze TexWorks mit LuaLateX.

\documentclass[ngerman,12pt,a4paper]{scrreprt}
\usepackage{fontspec}	% Schriftart
	\setmainfont{Arial}	% =
\usepackage[backend=biber,style=authoryear,maxcitenames=2]{biblatex}		% Literaturverzeichnis mit Datei
\usepackage[locale=DE,range-units = single]{siunitx} % schreiben von SI-Einheiten
\usepackage[printonlyused]{acronym}
\usepackage{nicefrac} % Brüche im Text nebeneinander


\begin{document}
\SI{30}{\gram\per\meter\squared} 

\SI[per-mode=fraction]{30}{\gram\per\meter\squared}

\SI{30}{\frac{\gram}{\meter\squared}}

\SI{30}{\nicefrac{\gram}{\meter\squared}}

\SI{30}{\nicefrac{\meter\squared}{\meter\squared}}

\end {document}

Über alle Anregungen und Ideen würde ich mich sehr freuen,

Vielen Dank und Grüße :D


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

Re: Bruch im Text - \nicefrac erste Einheit kursiv, zweite Einheit normal

Beitrag von Bartman »

Falls es eine Variante Deines Beispiels geben sollte, in der der Befehl \nicefrac im Argument für die Einheiten funktioniert, dann kenne ich sie nicht.

Die folgende Änderung behebt das Problem:

\documentclass[ngerman,fontsize=12pt]{scrreprt}
\usepackage{fontspec}
\setmainfont{Arial}% Schriftart
% schreiben von SI-Einheiten
\usepackage{siunitx} 
\usepackage{nicefrac} % Brüche im Text nebeneinander

\sisetup{
    locale=DE,
    range-units = single, 
    per-mode = fraction,
    fraction-function=\nicefrac
}

\begin{document}
\SI{30}{\gram\per\meter\squared} 

\SI[per-mode=fraction]{30}{\gram\per\meter\squared}

\SI{30}{\frac{\gram}{\meter\squared}}

\SI{30}{\gram\per\meter\squared}

\SI{30}{\meter\squared\per\meter\squared}
\end{document}

Ich benutze den Befehl \sisetup, weil fraction-function=\nicefrac als Option des Pakets auch dann eine Fehlermeldung erzeugt, wenn nicefrac vor siunitx geladen wird. Die Verschiebung der anderen Optionen ist nicht nötig, aber übersichtlicher.

Zuletzt geändert von Bartman am Mo 27. Jul 2020, 15:38, insgesamt 1-mal geändert.

Zoid
Forum-Century
Forum-Century
Beiträge: 104
Registriert: Do 12. Mär 2020, 13:48

Re: Bruch im Text - \nicefrac erste Einheit kursiv, zweite Einheit normal

Beitrag von Zoid »

Bartman hat geschrieben:
Mo 27. Jul 2020, 15:20

Die folgende Änderung behebt das Problem:

Das würde dann aber auf das gesamte Dokument angewandt. Da ich aber auch viel mit Formeln arbeite, würde es das gesamte Layout meiner Formeln zerstören.


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

Re: Bruch im Text - \nicefrac erste Einheit kursiv, zweite Einheit normal

Beitrag von Bartman »

Stimmt, für Dein Beispiel müssten per-mode=fraction und fraction-function=\nicefrac als Optionen der letzten beiden Befehle eingefügt werden oder man bestimmt einen neuen Befehl.


Stamm-Gast

Aufräumarbeiten

Beitrag von Stamm-Gast »

Vergiss das 22 Jahre alte »nicefrac« und ersetze es durch »xfrac«.


Zoid
Forum-Century
Forum-Century
Beiträge: 104
Registriert: Do 12. Mär 2020, 13:48

Re: Bruch im Text - \nicefrac erste Einheit kursiv, zweite Einheit normal

Beitrag von Zoid »

Stamm-Gast hat geschrieben:
Mo 27. Jul 2020, 19:10

Vergiss das 22 Jahre alte »nicefrac« und ersetze es durch »xfrac«.

Ich hab den Code etwas umgeschrieben, sodass Tabellen und Formeln nicht davon beeinflusst sind. Die unterste Variante finde ich am besten, allerdings kann ich da nur begrenzt mit Exponenten arbeiten. Ein -1 oder eine 4 sind so leider nicht möglich. Bei den beiden oberen Varianten finde ich persönlich den Abstand zwischen Einheit und schrägem Bruchstrich zu weit. Faktisch sind dort keine Leerzeichen vorhande, auch wenn es so aussieht. Hätte da jemand eine Idee, wie man das noch ändern könnte?

Bild

\documentclass[ngerman,fontsize=12pt]{scrreprt}
\usepackage{fontspec}
\setmainfont{Arial}
\usepackage{siunitx} 
\usepackage{xfrac}

\begin{document}
Beispielsatz über \SI{2}{\sfrac{\meter\squared}{\second\squared}} im Fließtext.

Beispielsatz über \SI[fraction-function=\sfrac]{2}{\meter\squared/\second\squared} im Fließtext.

Beispielsatz über 2\,\sfrac{m²}{s²} im Fließtext.
\end{document}
[\code]

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

Re: Bruch im Text - \nicefrac erste Einheit kursiv, zweite Einheit normal

Beitrag von markusv »

Mit der Option mode=text lässt sich zumindest die erste Variante entsprechend den Wünschen anpassen. Um Tipperei zu ersparen, könnte man sich ein neues Makro anlegen:

\documentclass[ngerman,fontsize=12pt]{scrreprt}
\usepackage{fontspec}
\setmainfont{Arial}
\usepackage{xfrac}

\usepackage[per-mode=fraction,fraction-function=\sfrac,mode=text]{siunitx} 
\newcommand{\sfSI}[3]{\SI{#1}{\sfrac{#2}{#3}}}
\begin{document}
Beispielsatz über \SI{2}{\sfrac{\meter\tothe{-4}}{\second\tothe2}} im Fließtext.

Beispielsatz über \sfSI{2}{\meter\tothe{-4}}{\second\tothe2} im Fließtext.
\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

Antworten