从包中修改部分环境:chemmacros 的实验环境

从包中修改部分环境:chemmacros 的实验环境

一般问题:如何使用包中的环境并修改一个或多个命令,但保留其他命令的所有功能?抱歉,我知道这是不可能的或不可行的,而且自己从头开始创建环境更容易(这超出了我的技能)。

具体问题:如何使用 chemmacros 中的实验环境,但修改例如\NMR\pos可能的\J命令?是否仍可以\\#{}使用更新的\NMR命令进行工作?

对于我们的报告,我们需要提供如图所示的 NMR 数据。

在此处输入图片描述

更新\NMR命令对于在实验环境和外部使用都很有效。但更新其他命令不起作用。仅举个\newcommand例子,\J{}{}{}仅适用于环境之外。

\documentclass[12pt,a4paper]{scrartcl}
\usepackage{textgreek}
\usepackage{siunitx}
\usepackage{chemmacros}
\chemsetup{modules={all},greek=textgreek}

\renewcommand{\NMR}[6]{\noindent\textbf{$\mathbf{^{#1}#2}$-NMR (#3)} (#4~MHz, #5~K, \ch{#6}, $\delta/\si{ppm}$):}   %\nmr{MZ}{Kern}{Nummer}{Frequenz}{Temperatur}{Lsm}
\renewcommand{\J}[3]{$^{{\textsl{##1}}}J_{\mathrm{##2}} = ##3~\mathrm{Hz}$} %\J{Bindungen}{koppelnde Kerne}{Frequenz}
\renewcommand{\pos}[1]{\textbf{##1}}    %Zuordnung

\begin{document}
\begin{experimental}
\NMR{1}{H}{prakt\_AC.999}{400}{298}{CDCl3} \val{1.11--2.22} (d, 4 H, \J{4}{HH}{6.66}, \pos{7})
\end{experimental}
\end{document}

并且更新环境会“删除”所有其他命令,例如命令\val{}\J命令。

\renewenvironment{experimental}{
\renewcommand{\NMR}[6]{\noindent\textbf{$\mathbf{^{##1}##2}$-NMR (##3)} (##4~MHz, ##5~K, \ch{##6}, $\delta/\si{ppm}$):} %\nmr{MZ}{Kern}{Nummer}{Frequenz}{Temperatur}{Lsm}
\renewcommand{\pos}[1]{\textbf{##1}}    %Zuordnung
\renewcommand{\#}[1]{\textbf{##1}}  %Anzahl Kerne
}{}

答案1

\pos\J\#是通过环境设置的experimental。它们在外部没有任何意义 —— 至少在 中没有意义chemmacros。对于它们中的每一个,都存在一个内部命令,在 的情况下,pos可以轻松重新定义,如下例所示。

这是获取所需输出的一种方法(除了斜体原子核下标 - 我怀疑这个例子中的这个是偶然的而不是故意的......)

\documentclass[12pt,a4paper]{scrartcl}
\usepackage{textgreek}
\usepackage{siunitx}
\usepackage{chemmacros}

\chemsetup{
  modules = spectroscopy ,
  greek   = textgreek ,
}

\ExplSyntaxOn
\chemmacros_define_keys:nn {spectroscopy}
  { atom-number-space .skip_set:N = \l__chemmacros_nmr_space_skip }
\cs_set_protected:Npn \chemmacros_nmr_position:n #1
  { \textbf {#1} }
\ExplSyntaxOff

\chemsetup{
  spectroscopy/format = \bfseries ,
  spectroscopy/coupling-pos = sub ,
  spectroscopy/atom-number-space = 0pt
}

\begin{document}

\begin{experimental}
  \data{\NMR*{1,H} (ac\_prakt 12345)}
  (\SI{250}{\mega\hertz}, \SI{298}{\kelvin}, \ch{CDCl3}, $\delta$/ppm):
    \val{8.71} (d, \#{1}, \J(3;HH){4.4}, \pos{2})
    \val{7.66} (d, \#{1}, \J(3;HH){7.7}, \pos{4})
    \val{7.38} (dd, \#{1}, \J(3;HH){4.5}, \J(3;HH){7.8}, \pos{3})
    \val{3.03} (t, \#{2}, \J(3;HH){5.99}, \pos{8})
    \val{2.81} (t, \#{2}, \J(3;HH){5.98}, \pos{10})
    \val{2.2} (p, \#{2}, \J(3;HH){6.11}, \pos{9})
\end{experimental}

\end{document}

在此处输入图片描述

相关内容