Seite 1 von 1

Reihenfolge der chemnum-Nummerierung ändern

Verfasst: Do 22. Dez 2016, 20:37
von lunen
Hi,

Ich bin ein wenig am ausprobieren von verscheidenen Lösungen um chemische Strukturen zu nummerieren. Bisher sehr gut gefällt mir das Paket chemnum. Ich weiss, dass laut Dokumentation die Nummerierung mit der ersten referenzierten Verbindung beginnt.
Nun habe ich aber eine Satzkonstuktion in einem Protokoll gefunden, die das ganze ins wanken bringt:
\documentclass[a4paper,11pt, titlepage]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{ngerman}
\usepackage{textcomp}
\usepackage{amsmath}
\usepackage[super, comma, numbers, square, sort]{natbib} 
\usepackage{chemfig}
\usepackage{titlesec}
\usepackage{url}
\usepackage{graphicx}
\usepackage{color}
\usepackage{caption}
\usepackage{pdfpages}
\usepackage{a4wide}
\usepackage{chemnum}
%----------------------------------------------------------------------------------
    
\setatomsep{1.8em} %atome nicht so nah beieinander
\usetikzlibrary{arrows} %pfeile
\renewcommand*\printatom[1]{\ensuremath{\mathsf{#1}}} %serifenlose Schrift in Molekülen

    %anpassung von \chemfig
  %----------------------------------

\titleformat{\chapter}{\Huge\bfseries}{\thechapter.}{20pt}{\Huge\bfseries} %keine überschrift "kapitel" und nummereirung direkt vor der überschrift

\linespread{1,5}\selectfont %1.5 zeilenabstand 

\setlength{\abovecaptionskip}{10 px} %tabellenüberschriften mit etwas abstand

\setlength{\parindent}{0em} %vermeidet einrückungen nach gleichungen etc

    %allgemeine anpassung des Text/formats
    

\begin{document}


\sffamily %schriftart


%----------------------------------------------------------------------------------

\section{Einführung}
So sieht es aus:

In diesem Protokoll wird eine zweistufige Synthese von \textit{N}-(7-Methyl-1,8-naphthyridin-2-yl)acrylamid \cmpd{stufe2} über die Zwischenstufe 2-Amino-7-methylnaphthyridinamin \cmpd{stufe1} dargestellt. 


\begin{center}   
\scriptsize\setbondoffset{1pt}\setatomsep{2em}\setcompoundsep{4em}\setarrowdefault{0,1.5}
\schemestart
\chemfig{*6(-=-(-[:30]@{stick}\lewis{2, N}(-[:0]H)(-[:-90]H))=N-(-[:150]H_2N)=)}
\arrow{->}
  \chemname{\chemfig{*6(=-(*6(-=-(-[:30]@{stickstoff2}\lewis{6, N}(-[:90]H)(-[:-30]H))=N--))=-N=(-[:150])-)}}{\cmpd{stufe1}}
    \arrow{->}
 \chemname{\chemfig{*6(=-(*6(-=-(-[:30]N(-[:90]H)(-[:-30](=[:-90]O)-[:30]=[:-30]))=N--))=-N=(-[:150])-)}}{\cmpd{stufe2}}
\schemestop
\end{center}

So sollte es werden:

In diesem Protokoll wird eine zweistufige Synthese von \textit{N}-(7-Methyl-1,8-naphthyridin-2-yl)acrylamid \textbf{2} über die Zwischenstufe 2-Amino-7-methylnaphthyridinamin \textbf{1} dargestellt. 
\begin{center}
\scriptsize\setbondoffset{1pt}\setatomsep{2em}\setcompoundsep{4em}\setarrowdefault{0,1.5}
\schemestart
\chemfig{*6(-=-(-[:30]@{stick}\lewis{2, N}(-[:0]H)(-[:-90]H))=N-(-[:150]H_2N)=)}
\arrow{->}
  \chemname{\chemfig{*6(=-(*6(-=-(-[:30]@{stickstoff2}\lewis{6, N}(-[:90]H)(-[:-30]H))=N--))=-N=(-[:150])-)}}{\textbf{1}}
    \arrow{->}
 \chemname{\chemfig{*6(=-(*6(-=-(-[:30]N(-[:90]H)(-[:-30](=[:-90]O)-[:30]=[:-30]))=N--))=-N=(-[:150])-)}}{\textbf{2}}
\schemestop

\end{center}

\end{document}
Die Nummerierung ist in soweit korrekt, dass sie stringent durchgezogen wird, jedoch wird spätestens bei der Reaktion klar, warum das nur suboptimal ist:

Es ist in der Reihenfolge unlogisch, dass Verbindung 2 mit verbindung 1 reagiert.
In dem Schema darunter habe ich die Markierungen "per hand" gesetzt, um zu zeigen, wie ich es mir vorgestellt habe.

Gibt es eine mehr oder weniger elegante Lösung dafür, ausser dass ich den Satz umformuliere?

Danke,
Gruss,
Lunen

Verfasst: Fr 23. Dez 2016, 07:12
von markusv
Eine quick-and-dirty-Lösung könnte die Verwendung von
\cmpd*{stufe1}\cmpd{stufe2}

anstelle der ersten Referenzierung sein.

Damit wird stufe1 bereits vor stufe2 referenziert, aber nicht gesetzt.

Im Code:
\documentclass[a4paper,11pt, titlepage]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{ngerman}
\usepackage{textcomp}
\usepackage{amsmath}
\usepackage[super, comma, numbers, square, sort]{natbib} 
\usepackage{chemfig}
\usepackage{titlesec}
\usepackage{url}
\usepackage{graphicx}
\usepackage{color}
\usepackage{caption}
\usepackage{pdfpages}
\usepackage{a4wide}
\usepackage{chemnum}
%----------------------------------------------------------------------------------
    
\setatomsep{1.8em} %atome nicht so nah beieinander
\usetikzlibrary{arrows} %pfeile
\renewcommand*\printatom[1]{\ensuremath{\mathsf{#1}}} %serifenlose Schrift in Molekülen

    %anpassung von \chemfig
  %----------------------------------

\titleformat{\chapter}{\Huge\bfseries}{\thechapter.}{20pt}{\Huge\bfseries} %keine überschrift "kapitel" und nummereirung direkt vor der überschrift

\linespread{1,5}\selectfont %1.5 zeilenabstand 

\setlength{\abovecaptionskip}{10 px} %tabellenüberschriften mit etwas abstand

\setlength{\parindent}{0em} %vermeidet einrückungen nach gleichungen etc

    %allgemeine anpassung des Text/formats
    

\begin{document}


\sffamily %schriftart


%----------------------------------------------------------------------------------

\section{Einführung}
So sieht es aus:

In diesem Protokoll wird eine zweistufige Synthese von \textit{N}-(7-Methyl-1,8-naphthyridin-2-yl)acrylamid \cmpd*{stufe1}\cmpd{stufe2} über die Zwischenstufe 2-Amino-7-methylnaphthyridinamin \cmpd{stufe1} dargestellt. 
\begin{center}   
\scriptsize\setbondoffset{1pt}\setatomsep{2em}\setcompoundsep{4em}\setarrowdefault{0,1.5}
\schemestart
\chemfig{*6(-=-(-[:30]@{stick}\lewis{2, N}(-[:0]H)(-[:-90]H))=N-(-[:150]H_2N)=)}
\arrow{->}
  \chemname{\chemfig{*6(=-(*6(-=-(-[:30]@{stickstoff2}\lewis{6, N}(-[:90]H)(-[:-30]H))=N--))=-N=(-[:150])-)}}{\cmpd{stufe1}}
    \arrow{->}
 \chemname{\chemfig{*6(=-(*6(-=-(-[:30]N(-[:90]H)(-[:-30](=[:-90]O)-[:30]=[:-30]))=N--))=-N=(-[:150])-)}}{\cmpd{stufe2}}
\schemestop
\end{center}
\end{document}

Verfasst: Fr 23. Dez 2016, 09:59
von lunen
Danke schön.