Im folgenden Beispiel steht vor „chloride“ kein Leerzeichen, wie beabsichtigt. Wenn ich jedoch die Oxidationszahl „(III)“ entferne, ist das Leerzeichen da, wie es sein sollte. Warum ist das so und wie kann ich ein Leerzeichen innerhalb des \iupac-Befehls erzwingen? Und übrigens, ist es in diesem Fall die richtige Art, einfach „(III)“ einzugeben?
\documentclass[12pt,a4paper]{scrartcl}
\usepackage[left=1.5cm,right=1.5cm,top=2cm,bottom=2cm,includeheadfoot]{geometry}
\usepackage[ngerman,british]{babel}
%FONTS
\usepackage{mathptmx} %Etwas Times New Roman Aehnliches
\usepackage{helvet}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
%DIVERSES
\usepackage{graphicx} %[draft]: Platzhalter für Bilder
\usepackage{amsmath, amssymb, array, color, epstopdf, lipsum, pdfpages, textgreek, url}
%CHEMIE UND PHYSIK
\usepackage{siunitx}
\sisetup{separate-uncertainty = true, range-units = brackets, per-mode=symbol}
\usepackage{chemmacros}
\chemsetup{modules={all},greek=default}
\begin{document}
\section{Aim of the Experiment}
The aim of this experiment is the enantiospecific synthesis of the complex \iupac{(R,R)\-N,N'-bis(3,5-di-tert-Butyl|salicydene)-1,2-cyclo|hexane|diamino|manganese(III) chloride}, \ch{[Mn(salen)Cl]} or \emph{Jacobsens Catalyst}.
\end{document}
Antwort1
Der Grund ist eine fehlerhafte Definition von \chemmacros_allow_hyphens:
. Ich werde das in der nächsten Version beheben. Hier ist eine vorübergehende Lösung:
\documentclass{scrartcl}
\usepackage[british]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{chemmacros}
\chemsetup{modules={all},greek=textgreek}
\ExplSyntaxOn
\ChemCompatibilityTo{5.7}
\cs_set_protected:Npn \chemmacros_allow_hyphens:
{
\chemmacros_nobreak:
\skip_horizontal:N \c_zero_skip
}
\EndChemCompatibility
\ExplSyntaxOff
\begin{document}
\iupac{\cip{R,R}-\N,\N'-bis(3,5-di-\tert-Butyl|salicydene)-1,2-cyclo|hexane|%
diamino|manganese(III) chloride}, \ch{[Mn(salen)Cl]} or \emph{Jacobsens
Catalyst}.
\end{document}
BTW: es sollte \cip{R,R}-\N,\N'-bis(3,5-di-\tert-
… lauten, um den IUPAC-Richtlinien zu entsprechen. Außerdem greek=default
macht diese Einstellung keinen wirklichen Sinn, da dies zukursivGriechische Kleinbuchstaben!
Antwort2
Wahrscheinlich wird dadurch (...)
ein gewisses Vorausschauen ausgelöst, bei dem beim Handeln Leerzeichen ignoriert werden.
Ich weiß nicht, ob die von Ihnen verwendete Syntax den IUPAC-Normen entspricht. Der Kontrollraum funktioniert jedenfalls:
\documentclass[a4paper,12pt]{article}
\usepackage[left=1.5cm,right=1.5cm,top=2cm,bottom=2cm,includeheadfoot]{geometry}
\usepackage{newtxtext,newtxmath}
\usepackage{chemmacros}
\chemsetup{modules={all},greek=default}
\begin{document}
\section{Aim of the Experiment}
The aim of this experiment is the enantiospecific synthesis of the complex
\iupac{(R,R)\-N,N'-bis(3,5-di-tert-Butyl|salicydene)-1,2-cyclo|hexane|% <-- line break
diamino|manganese(III)\ chloride}, \ch{[Mn(salen)Cl]} or \emph{Jacobsens Catalyst}.
\end{document}