Dreifachbindung bei ChemFig

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: Dreifachbindung bei ChemFig

von cgnieder » Do 14. Apr 2011, 00:14

Die Ursache des Problems ist gefunden (catcode von ~ wurde falsch interpretiert, liegt an der Art, wie TeX Argumente von Makros einliest*), die nächste Version von myChemistry wird in diesem Bereich fehlerfrei laufen.

Danke fürs aufmerksam machen :-)


*In Wirklichkeit war/ist es also kein "Bug" von ChemFig. Die Sache mit den Catcodes ist trickreich. Ich fange erst an, da durchzusteigen...

von cgnieder » Di 12. Apr 2011, 23:18

Es ist wohl doch ein Bug bei ChemFig, der erst durch myChemistry bemerkbar wurde. Der gleiche Fehler:
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\def\test#1{#1}
\test{\chemfig{~[:30]}}\par\medskip
\test{\chemfig{()~[:30]}}
\end{document}
Ich habe dem Maintainer eine kurze Nachricht geschickt.

Gute Nacht!

von Ferghun » Di 12. Apr 2011, 22:52

Vielen Dank! Das ist wohl eine sehr ungewöhnliche Lösung, aber effektiv. :D

von cgnieder » Di 12. Apr 2011, 22:40

Vorläufige Lösung: ein paar Klammern () vor der ersten Dreifachbindung. Nach dem Klammerpaar geht es seltsamerweise, deshalb hatte das Molekül bei Dir an der zweiten Stelle auch die richtige Bindung.
\documentclass{scrartcl}
\usepackage{mychemistry}
\begin{document}
\begin{rxn}
\reactand{\chemfig{~[:30]}}
\end{rxn}
vs.
\begin{rxn}
\reactand{\chemfig{()~[:30]}}
\end{rxn}
\end{document}

von cgnieder » Di 12. Apr 2011, 22:09

Ah jetzt ja! Du hast beim ersten Mal offenbar kein echtes Minimalbeispiel gepostet. Jetzt kann ich den Fehler reproduzieren. Er liegt offensichtlich bei myChemistry, wie man hier sehen kann:
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{mychemistry}

\setatomsep{1.8em}
\setcrambond{3pt}{0.5pt}{1pt}
\setarrowlength{4em}

\begin{document}
\begin{rxn}
\reactand{\chemfig{N~[:30]N-[:30](-[:120])(-[:60])-[:-30]N=[:30]N-[:-30](-[:-120])(-[:-60])-[:30]N~[:30]N}}
\arrow{$\Delta$}{}
\reactand{2}
\reactand{\chemfig{N~[:30]N-[:30]\lewis{1.,C}(-[:90])-[:-30]}}
\chemand
\reactand{\ce{N2}}
\end{rxn}

\chemfig{N~[:30]N-[:30](-[:120])(-[:60])-[:-30]N=[:30]N-[:-30](-[:-120])(-[:-60])-[:30]N~[:30]N}\chemrel[$\Delta$]{->}2 \chemfig{N~[:30]N-[:30]\lewis{1.,C}(-[:90])-[:-30]}\chemsign+\ce{H2}

\end{document}
Ich werde dem auf den Grund gehen. Dann gibt es wohl bald ein Update von myChemistry geben.

BTW:
\reactand{}
hat nur ein Argument und
\arrow{}{}
hat als Default den type={->}.

von Ferghun » Di 12. Apr 2011, 21:53

Okay, also jetzt folgende Datei:
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{mychemistry}

\setatomsep{1.8em}
\setcrambond{3pt}{0.5pt}{1pt}
\setarrowlength{4em}

\begin{document}
\begin{rxn}
\reactand{\chemfig{N~[:30]N-[:30](-[:120])(-[:60])-[:-30]N=[:30]N-[:-30](-[:-120])(-[:-60])-[:30]N~[:30]N}}{}
\arrow[type={->}]{$\Delta$}{}
\reactand{2}
\reactand{\chemfig{N~[:30]N-[:30]\lewis{1.,C}(-[:90])-[:-30]}}{}
\chemand
\reactand{\ce{N2}}{}
\end{rxn}
\end{document}
Ich hoffe du kannst .rar-Dateien entpacken. Hatte schon sehr sehr oft böse Rückmeldung wegen dem Datei-Format bekommen. ;D
Dateianhänge
AIBN.rar
die entsprechende log-Datei
(21.75 KiB) 455-mal heruntergeladen

von cgnieder » Di 12. Apr 2011, 20:40

Ich bin etwas ratlos.
Vielleicht kannst Du zu Deinem ersten Beispiel mal eine log-Datei posten?

Wie erwähnt: wenn ich Dein erstes Beispiel durchlaufen lasse, sieht alles aus, wie es soll.

von Ferghun » Di 12. Apr 2011, 19:44

Egal wo ich geschweifte Klammern setze, es will und will nicht funktionieren. Die 0.4a Version habe ich jetzt auch auf jeden Fall, aber das hat an speziell diesem Problem nichts verändert.
Komisch ist natürlich, warum die zweite Dreifachbindung hinhaut, aber die erste nicht.

Eine Version hat nun letztendlich funktioniert, und zwar wenn man wieder mit draw=none arbeitet. = )
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{mychemistry}

\setatomsep{1.8em}
\setcrambond{3pt}{0.5pt}{1pt}

\begin{document} 
\chemfig{([0,.01,,,draw=none])N~[:30]N-[:30](-[:120])(-[:60])-[:-30]N=[:30]N-[:-30](-[:-120])(-[:-60])-[:30]N~[:30]N}
\end{document}
Vielen Dank für die Hilfestellung! Jetzt ist das package ja auch auf dem neusten Stand. :D

von cgnieder » Di 12. Apr 2011, 16:30

An den Programmen wird's nicht liegen.

Am 10.04.2011 gab es ein Update von ChemFig mit bugfixes... http://www.ctan.org/tex-archive/macros/ ... ib/chemfig

Bei Dir sieht es aus, als ob
N~[:30]
als Atom interpretiert wird. Versuch mal, den Stickstoff in geschweifte Klammern zu setzen:
\chemfig{{N}~[:30]N-[:30](-[:120])(-[:60])-[:-30]N=[:30]N-[:-30]-[:30]N~[:30]N}

von Ferghun » Di 12. Apr 2011, 16:24

So sehe ich das (zwei Methyl-Gruppen habe ich schon wieder eingefügt):
Bild

Mmmh. Wo kann ich das nachschauen?

Im Package Manager steht "packaged: 08.04.2011". Habe seit ungefähr 2 Wochen LaTeX.

Vielleicht siehst du ein paar Fehler darin in welcher Reihenfolge und was ich installiert habe:
Acrobat Reader 8.1.2
MiKTeX 2.9
Ghostscript 9.01
FreePDF 4.04
TeXnicCenter 1 RC 1

Danach Updates durchgeführt, "Update Formats" und "Refresh FNDB". MyChemistry müsste in der aktuellsten Version vorliegen, außer MiKTeX macht das nicht, wenn ich den Button drücke: "Update"

Nach oben