Ich habe folgendes Problem. Wenn ich mit Chemfig einen <->-Pfeil zeichne, hat er in der Mitte eine Lücke. Das Lustige ist, dass die Lücke nur besteht, wenn mein Pfeil von rechts nach links geht. Vertikale Pfeile werden richtig gezeichnet. Ich habe ein Beispiel gemacht, aber in dem Beispiel ist es umgekehrt. Der Pfeil von links nach rechts wird nicht vollständig gezeichnet, während der von rechts nach links gezeichnet wird.
\documentclass{scrartcl}
\usepackage{chemfig}
\begin{document}
\schemestart
\chemfig{*6(------)}
\arrow{<->}
\chemfig{*6(------)}
\arrow{<->}[90]
\chemfig{*6(------)}
\arrow{<->}[180]
\chemfig{*6(------)}
\schemestop
\end{document}
Hat jemand eine Idee? Ich habe die Dokumentation von Chemfig bereits durchgesehen, konnte aber nichts finden. Grüße Moritz
Antwort1
BEARBEITEN: Das in der Frage beschriebene Problem ist mit der Version 1.31
von Chemfig (von wo die „ursprüngliche Definition“ des <->
Pfeils stammt) reproduzierbar. Mit der Version 1.34
tritt das Problem nicht mehr auf und die gewünschte Ausgabe wird erhalten.
Das folgende Beispiel enthält eine modifizierte Version des <->
Pfeiltyps, bei der die Lücke nicht angezeigt wird, wenn er um 180° gedreht wird
\documentclass{scrartcl}
\usepackage{chemfig}
\makeatletter
\definearrow3{<->}{%
\CF@arrow@shift@nodes{#3}%
\path(\CF@arrow@start@node)--(\CF@arrow@end@node)%
node[pos=0.5,sloped](\CF@arrow@start@node1){}node[pos=0.5,sloped](\CF@arrow@end@node1){};%
\expandafter\draw\expandafter[\CF@arrow@current@style](\CF@arrow@start@node1)--(\CF@arrow@end@node);%
\expandafter\draw\expandafter[\CF@arrow@current@style](\CF@arrow@end@node1)--(\CF@arrow@start@node);%
\CF@arrow@display@label{#1}{0.5}+\CF@arrow@start@node{#2}{0.5}-\CF@arrow@end@node
}
\makeatother
\begin{document}
\schemestart
\chemfig{*6(------)}
\arrow{<->}[0]
\chemfig{*6(------)}
\arrow{<->}[-90]
\chemfig{*6(------)}
\arrow{<->}[180]
\chemfig{*6(------)}
\schemestop
\end{document}
Vergleicht man dies mit der ursprünglichen Definition vonchemfig.tex
\definearrow3{<->}{%
\CF@arrow@shift@nodes{#3}%
\path(\CF@arrow@start@node)--(\CF@arrow@end@node)%
node[pos=0.5,sloped,xshift=-1pt](\CF@arrow@start@node1){}node[pos=0.5,sloped,xshift=1pt](\CF@arrow@end@node1){};%
\expandafter\draw\expandafter[\CF@arrow@current@style](\CF@arrow@start@node1)--(\CF@arrow@end@node);%
\expandafter\draw\expandafter[\CF@arrow@current@style](\CF@arrow@end@node1)--(\CF@arrow@start@node);%
\CF@arrow@display@label{#1}{0.5}+\CF@arrow@start@node{#2}{0.5}-\CF@arrow@end@node
}
xshift
Sie können sehen, dass ich die Optionen entfernt habe .