Seite 1 von 1

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

Verfasst: Mo 27. Jul 2020, 12:15
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


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

Verfasst: Mo 27. Jul 2020, 15:20
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.


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

Verfasst: Mo 27. Jul 2020, 15:36
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.


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

Verfasst: Mo 27. Jul 2020, 15:46
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.


Aufräumarbeiten

Verfasst: Mo 27. Jul 2020, 19:10
von Stamm-Gast

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


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

Verfasst: Do 30. Jul 2020, 14:41
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]

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

Verfasst: Fr 31. Jul 2020, 10:00
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}