Chemie: Kopplungskonstanten

Formelsatz für Mathematik, Naturwissenschaften und Technik


lisa7147
Forum-Anfänger
Forum-Anfänger
Beiträge: 29
Registriert: Mi 16. Sep 2015, 10:28

Chemie: Kopplungskonstanten

Beitrag von lisa7147 »

Hallo,

für meine Chemie-Protokolle muss ich NMRs auswerten und dann angeben. Dafür benutze ich die experimental-Umgebung, die mir an sich keine Schwierigkeiten bereitet :D
Jedoch muss ich die Kopplungskonstanten so angeben, dass die koppelnden Kerne nach dem J tiefgestellt sind. Mit dem \J-Befehl kommen die aber auf Höhe des J in Klammern :cry:


Hier mal ein kurzes Minimalbeispiel, wie ich die experimental-Umgebung definiert habe:
\documentclass[ 
  parskip, 
  12pt
  ]{scrartcl} 

\usepackage[ngerman]{babel}
\usepackage{amsmath, amssymb, textcomp,chemnum }
\usepackage[ngerman]{chemmacros}
\usepackage{siunitx}
\usepackage{gensymb}

\begin{document}

\sisetup{separate-uncertainty,per-mode=symbol,detect-all,range-phrase=--}
\begin{experimental}[delta=[ppm],list=true,use-equal, pos-number=sub]
\NMR{1, H}(400)[\textrm{D2O}] \val{2.01} (s, \#{24}, \pos{1}, \J(3; H1, H2)[\hertz]{6.0}).
\end{experimental}

\end{document}




Die (H1, H2) sollen also ohne Klammern tiefgestellt werden. Gibt es dafür eine Option? Ich bin im chemmacros-Paket nicht fündig geworden :(

Im Voraus schon einmal vielen Dank!!! :D

Beobachter

Beispiel auf Lauffähigkeit prüfen

Beitrag von Beobachter »

Das Beispiel läuft nicht und erzeugt folgende Meldung (s. Protokolldatei *.log). Es kann also nicht als Minimalbeispiel bezeichnet werden.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
/tmp/chm.tex: chemmacros error: "undefined"
! 
! The environment `experimental' is undefined. You need to load the
! `spectroscopy' module.
! 
! See the chemmacros documentation for further information.
! 
! Type <return> to continue.
!...............................................
Wie Module geladen werden, ist in Teil III der Anleitung zu »chemmacros« nachzulesen.
\documentclass[
  fontsize=12pt,
  parskip=full,
  ngerman
]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß}
}
\usepackage{babel}

\usepackage{chemmacros}
\chemsetup{modules=spectroscopy}

\usepackage{siunitx}
\sisetup{
  detect-all,
  separate-uncertainty,
  per-mode=symbol,
  range-phrase=--
}

\begin{document}
  \begin{experimental}[delta=[ppm],list=true,use-equal, pos-number=sub]
\NMR{1, H}(400)[\textrm{D2O}] \val{2.01} (s, \#{24}, \pos{1}, \J(3; H1, H2)[\hertz]{6.0}).
  \end{experimental}
\end{document}
Da »chemmacros« in der Syntax von LaTeX3 geschrieben ist, kommt für brauchbare Hilfe nur jemand in Frage, der sich damit auskennt. Das könnte auch der Autor selbst sein (cgnieder).

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Ich glaube, Du suchst einfach
\chemsetup{spectroscopy/coupling-pos = sub}
Grüße
Clemens
Paketauthor

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Die folgende Datei sollte mit chemmacros v4 und v5 laufen:
\documentclass[
  fontsize=12pt,
  parskip=full,
  ngerman
]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß}
}
\usepackage{babel}

\usepackage{chemmacros}

\providecommand\IfChemCompatibilityTF[4]{#4}
\IfChemCompatibilityTF{>=}{5.0}{
\chemsetup{
  modules = spectroscopy ,
  spectroscopy/coupling-pos = sub
}
}{
\chemsetup{ nmr/coupling-pos = sub }
}

\usepackage{siunitx}
\sisetup{
  detect-all,
  separate-uncertainty,
  per-mode=symbol,
  range-phrase=--
}

\begin{document}

\begin{experimental}[delta=[ppm],list=true,use-equal, pos-number=sub]
  \NMR{1, H}(400)[D2O] \val{2.01} (s, \#{24}, \pos{1}, \J(3; H1, H2)[\hertz]{6.0}).
\end{experimental}

\end{document}
Grüße
Clemens
Paketauthor

lisa7147
Forum-Anfänger
Forum-Anfänger
Beiträge: 29
Registriert: Mi 16. Sep 2015, 10:28

Beitrag von lisa7147 »

Super, Danke Clemens!!!! Das ist genau das, was ich wollte!! :D :D :D :D


PS: Sorry, dass mein Beispiel nicht funktioniert. Als ich es ausprobiert habe, ging es irgendwie noch, aber ihr hab mich ja anscheinend trotzdem verstanden :wink:

lisa7147
Forum-Anfänger
Forum-Anfänger
Beiträge: 29
Registriert: Mi 16. Sep 2015, 10:28

Beitrag von lisa7147 »

@Clemens

Hallo, ich hätte noch eine Frage:

Kann man bei der Anzahl der H-Atome den Abstand verkleinern?
Also dass bei deinem Beispiel \#{24} der Abstand bei 24 H kleiner wird?

In der chemmacros-Dokumentation habe ich nichts dazu gefunden. Mir scheint, dass in den dort aufgeführten Beispielen der Abstand allgemein geringer ist...

Vielen Dank schon einmal im Vorraus ;)

lisa7147
Forum-Anfänger
Forum-Anfänger
Beiträge: 29
Registriert: Mi 16. Sep 2015, 10:28

Beitrag von lisa7147 »

Weiß jemand da zufällig die Antwort? Bin bei meinen Recherchen nicht fündig geworden...

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Der Abstand ist nicht konfigurierbar, das könnte ich aber ändern… Im Moment wird \, (was \thinspace entspricht) eingefügt. Man kann es durch manuelle Umdefinition des entsprechenden Makros ändern:
\documentclass{article}
\usepackage{chemmacros}

\chemsetup{ modules = spectroscopy }

\ExplSyntaxOn
\cs_set_protected:Npn \chemmacros_nmr_number:n #1
  {
    \__chemmacros_nmr_number:n {#1}
    x % <<< das hier ändern, voreingestellt ist \, (= \thinspace)
    \chemmacros_chemformula:V \g__chemmacros_nmr_element_tl
  }
\ExplSyntaxOff

\begin{document}

\begin{experimental}
  \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5})
\end{experimental}

\end{document}
Grüße
Clemens
Paketauthor

lisa7147
Forum-Anfänger
Forum-Anfänger
Beiträge: 29
Registriert: Mi 16. Sep 2015, 10:28

Beitrag von lisa7147 »

Achso, ok. Mich hat es wie gesagt gewundert, dass in der chemmacros-Dokumentation die Abstände generell kleiner waren. Aber du konntest mir bei meinem Problem mal wieder helfen!!!

Vielen Dank und einen guten Rutsch!!!! :D :D :D

Antworten