chemmacros:化合物名称中的空格与 \iupac

chemmacros:化合物名称中的空格与 \iupac

在以下示例中,“氯化物”之前没有空格,这是预期的。但是,当我删除氧化数“(III)”时,空格就出现了,这是应该的。为什么会这样?我如何在 \iupac 命令中强制添加空格?顺便问一下,在这种情况下,直接输入“(III)”是正确的方法吗?

在此处输入图片描述 在此处输入图片描述

\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}

答案1

原因是 的定义有误\chemmacros_allow_hyphens:。我会在下一版本中修复它。以下是临时修复:

\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}

在此处输入图片描述

顺便说一句:它应该是\cip{R,R}-\N,\N'-bis(3,5-di-\tert-……遵循 iupac 指南。此外,设置greek=default实际上没有意义,因为这会导致斜体小写希腊字母!

答案2

可能发生的情况是,这(...)会触发一些向前看的行为,从而在行动时忽略空格。

根据 IUPAC 规范,我不知道您使用的语法是否正确;无论如何,控制空间有效:

\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}

在此处输入图片描述

相关内容