Tengo el siguiente problema. Cuando dibujo una flecha <-> con chemfig, tiene un espacio en el medio. Lo curioso es que la brecha es sólo si mi flecha va de derecha a izquierda. Las flechas verticales están dibujadas correctamente. He hecho un ejemplo pero en el ejemplo es al revés. La flecha de izquierda a derecha no está completamente dibujada, mientras que la de derecha a izquierda sí.
\documentclass{scrartcl}
\usepackage{chemfig}
\begin{document}
\schemestart
\chemfig{*6(------)}
\arrow{<->}
\chemfig{*6(------)}
\arrow{<->}[90]
\chemfig{*6(------)}
\arrow{<->}[180]
\chemfig{*6(------)}
\schemestop
\end{document}
¿Alguien tiene alguna idea? Ya revisé la documentación de chemfig pero no pude encontrar nada. Saludos Moritz
Respuesta1
EDITAR: El problema descrito en la pregunta se puede reproducir con la versión de chemfig (de donde se toma 1.31
la 'definición original' de la flecha). <->
Con la versión, 1.34
el problema ya no ocurre y se obtiene el resultado deseado.
El siguiente ejemplo contiene una versión modificada del <->
tipo de flecha que no muestra el espacio si se gira 180°.
\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}
Si comparamos esto con la definición original dechemfig.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
}
Puedes ver que he eliminado las xshift
opciones.