Eu tenho o seguinte problema. Quando desenho uma seta <-> com chemfig, ela fica com uma lacuna no meio. O engraçado é que a lacuna só existe se minha flecha for da direita para a esquerda. As setas verticais são desenhadas corretamente. Eu fiz um exemplo, mas no exemplo é o contrário. A seta da esquerda para a direita não está totalmente desenhada, enquanto a da direita para a esquerda está.
\documentclass{scrartcl}
\usepackage{chemfig}
\begin{document}
\schemestart
\chemfig{*6(------)}
\arrow{<->}
\chemfig{*6(------)}
\arrow{<->}[90]
\chemfig{*6(------)}
\arrow{<->}[180]
\chemfig{*6(------)}
\schemestop
\end{document}
Alguém tem alguma ideia? Já examinei a documentação do chemfig, mas não consegui encontrar nada. Saudações Moritz
Responder1
EDIT: O problema descrito na pergunta é reproduzível com a versão 1.31
do chemfig (de onde é tirada a 'definição original' da <->
seta). Com a versão 1.34
o problema não ocorre mais e a saída desejada é obtida.
O exemplo a seguir contém uma versão modificada do <->
tipo seta que não mostra a lacuna se for girada em 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}
Se você comparar isso com a definição 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
}
você pode ver que removi as xshift
opções.