Chemfig: Rechtwinklige Reaktionspfeile / Pfeil „um die Ecke“

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Chemfig: Rechtwinklige Reaktionspfeile / Pfeil „um die Ecke“

von Schokospion » Di 22. Sep 2015, 16:11

Hallo,

ich würde gerne wie in der Vorlage die Pfeile mit den Nummern 2, 10, 11 in das Reaktionsschema einbauen und auch die Zahlen dazu wie in der Vorlage.
Habe schon einiges ausprobiert, leider hat es nicht funktioniert. Hier mein Code:
\documentclass{scrartcl}
\usepackage[latin1]{inputenc}

\usepackage{caption}
\usepackage{newfloat}
\DeclareFloatingEnvironment{scheme}
\usepackage{chemfig} % LaTeX
\usepackage[version=3]{mhchem}


\begin{document}
\begin{center}\setatomsep{1.5em}
\schemestart
\chemname{\chemfig[][scale=0.5]{*6(-=(-)-(-)=-=)}}{o-Xylol}
\arrow(oX--TA){->[1]}
\chemname{\chemfig[][scale=0.5]{*6((-)-=-=-(-=[:90]O)=)}}{o-TA}
\arrow{->[4]}[,2.0]
\chemname{\chemfig[][scale=0.5]{*6(-=(*5(--O-(=O)--))-=-=)}}{PH}
\arrow(PH--PA){->[8]}
\chemname{\chemfig[][scale=0.5]{*6(-=(*5(-(=O)-O-(=O)--))-=-=)}}{PA}
\arrow(@TA--PAld){->[*{0}3]}[45]
\chemname{\chemfig[][scale=0.5]{*6((-=[:-90]O)-=-=-(-=[:90]O)=)}}{PAld}
\arrow(--PAc){->[7]} \chemname{\chemfig[][scale=0.5]{*6((-(=[:-90]O)(-[::-60]HO))-=-=-(-(=[:90]O)(-[::60]HO))=)}}{PAc}
\arrow(@PAc--@PA){->[*{0}9]}[-45]
\arrow(@TA--TAc){->[*{0}5]}[-45]
\chemname{\chemfig[][scale=0.5]{*6((-)-=-=-(-(=[:90]O)(-[::60]HO))=)}}{TAc}
\arrow(@TAc--@PH){->[*{0}6]}[45]
\arrow(@PAld--@TAc){0}[-90]
\arrow(@TAc--COx){0}[-90]
\chemfig{CO_x}
\schemestop

\makeatletter
\chemmove{
  \draw[-CF@full, shorten <=\CF@arrow@offset, shorten >=\CF@arrow@offset]
    (COx) -| node[pos=0.2,above] {10} (PA) ;
}
\makeatother
\end{center}
\end{document}
Ebenfalls würde ich gerne die Namen o-Xylol, TA, PH & PA auf einer horizontalen Linie haben. Ich habe das bereits mit \chemnameinit probiert, leider hat es mir die Reaktanden verschoben.

Vielen Dank für eure Hilfe.

Grüße
Schokospion
Dateianhänge
Vorlage.pdf
(14.49 KiB) 368-mal heruntergeladen

von cgnieder » Sa 16. Nov 2013, 13:35

Man kann sich neue Pfeiltypen definieren. Das ist in der Doku im Abschnitt Arrows customization beschrieben. Wenn es aber nur ein einziger Pfeil sein soll, dann kann man auch manuell den Pfeil zeichen. Ein Schema ist ja ein Tikzpicture und die einzelnen Komponenten sind Nodes, auf die man zugreifen kann.

Zweimal kompilieren:
\documentclass[a4paper,11pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{chemfig}

\begin{document}

\schemestart
  A
  \arrow(aa--bb){->[Text2]}[,1.5]
  B
  \arrow(@aa--cc){->[][*{0} Text1]}[-90]
  C
\schemestop
\makeatletter
\chemmove{
  \draw[-CF@full,shorten <=\CF@arrow@offset,shorten >=\CF@arrow@offset]
    (cc) -| node[pos=.7,right] {Text3} (bb) ;
}
\makeatother

\end{document}
Für einen Befehl, der das Gegenteil zu \merge ist (\fork) siehe z.B. Forked arrows with chemfig auf TeX.sx

Grüße

Chemfig: Rechtwinklige Reaktionspfeile / Pfeil „um die Ecke“

von dieg0 » Di 12. Nov 2013, 01:58

Hallo,

ich suche eine Möglichkeit, mit Chemfig rechtwinklige Reaktionspfeile zu setzen.

Folgendes Minimalbeispiel soll das verdeutlichen:
\documentclass[a4paper]{scrartcl}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\KOMAoptions{fontsize=11pt}
\usepackage{amsmath,amssymb,amstext}
\usepackage{chemmacros}
\usepackage{chemfig}
\renewcommand*\printatom[1]{\small\ensuremath{\mathsf{#1}}}
\setatomsep{16.5pt}
\setbondstyle{line width=0.6pt}
\setcrambond{3pt}{0.6pt}{1.5pt}
\setdoublesep{2.6pt}
\setbondoffset{1.6pt}
\setarrowdefault{,1.0,}

\begin{document}
Bisherige (nicht so schöne) Lösung:

\schemestart
A
\arrow(aa--bb){->}
B
\arrow(@aa--cc){->[][*{0.0} Text1]}[-45]
C
\arrow(@cc--@bb){->[][*{0.180} Text2]}
\schemestop
\\[2em]
So in etwa soll es aussehen:

\schemestart
A
\arrow(aa--bb){->}
B
\arrow(@aa--){->[][*{0} Text1]}[-90]
C
\arrow(--dd){->}
\chemfig{\phantom{D}}
\arrow(@dd--@bb){->[*{0.180} Text2]}
\schemestop
\end{document}
Das obere Beispiel ist meine bisherige Lösung für das Problem. Mit den schrägen Pfeilen sieht das aber nicht so gut aus. Ich möchte nur horizontale und vertikale Pfeile verwenden, was bei drei Verbindungen nur funktioniert, wenn ein Pfeil um die Ecke geht (hier von C nach B). Dabei ist es wichtig, dass Pfeilbeschriftungen, wie in Chemfig üblich, auch weiterhin möglich bleiben. Die gewünschte, schönere Variante habe ich im unteren Beispiel versucht, anzudeuten.

Ich würde mich sehr freuen, wenn ihr eine Idee habt. Oder wenn ihr einen Link zu einer Seite habt, wo sowas schon diskutiert wurde. Ich habe eine Weile gesucht, weil ich der Überzeugung bin, dass ich nicht der Erste mit dem Problem bin, aber ich bin leider nicht fündig geworden.

Viele Grüße,
dieg0


Edit: Eine weitere Möglichkeit, so eine Verzweigung darzustellen, wäre diese hier https://commons.wikimedia.org/wiki/File ... cht-v1.svg

In Chemfig ist leider nur die umgekehrte Variante mit dem \merge-Befehl vorgesehen (Chemfig-Doku, Kapitel 11), der mehrere Verbindungen in einer zusammenfasst, d. h. die Pfeilspitzen sind an den anderen zwei Enden (siehe Beispiel).

Diese Variante wäre natürlich auch interessant...

Nach oben