A seta Chemfig tem uma lacuna

A seta Chemfig tem uma lacuna

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}

Exemplo

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.31do chemfig (de onde é tirada a 'definição original' da <->seta). Com a versão 1.34o 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}

insira a descrição da imagem aqui

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 xshiftopções.

informação relacionada