0

I am making a large poster, and when I use \chemfig{} to make arrows, \arrow{} the reversible reaction arrow is having very small distance between the two lines. Can anyone suggest how to manually increase the distance between the reversible reaction arrow ?

MWE:

\documentclass{article}
\usepackage{chemfig}
\begin{document}
    \schemestart
        \chemfig{2H_2O} \arrow{<=>} \chemfig{4H} \+ \chemfig{O_2} 
    \schemestop
\end{document}

Here the <=> creates reversible reaction arrow, but the spacing between the two lines is very small for a huge poster. How to increase this space?

  • 1
    What you provided is not a MWE. You should give us a full, compilable code with \documentclass, \begin{document} and \end{document}, with all relevant code parts. – bmv Jan 18 '18 at 14:28
  • The distance seems to be hard-coded inside chemfig.tex (look for \definearrow3{<=>}{% -- the yshift=1pt and yshift=-1pt clauses define the offset between the two arrows). So, you would need to create a hacked version of that command to change the vertical distance. – Michael Palmer Jan 18 '18 at 15:24
  • Since you have some responses below that seem to answer your question, please consider marking one of them as ‘Accepted’ by clicking on the tickmark below their vote count (see How do you accept an answer?). This shows which answer helped you most, and it assigns reputation points to the author of the answer (and to you!). It's part of this site's idea to identify good questions and answers through upvotes and acceptance of answers. – samcarter_is_at_topanswers.xyz May 11 '18 at 8:25
1

As @MichaelPalmer wrote in the comment, you have to create a new type of arrow, e.g.,

\documentclass{article}
\usepackage{chemfig}

\makeatletter
\definearrow{4}{<S>}{%
    \CF@arrow@shift@nodes{#3}%
    \path[allow upside down](\CF@arrow@start@node)--(\CF@arrow@end@node)%
    node[pos=0,sloped,yshift=#4](\CF@arrow@start@node @u0){}%
    node[pos=0,sloped,yshift=-#4](\CF@arrow@start@node @d0){}%
    node[pos=1,sloped,yshift=#4](\CF@arrow@start@node @u1){}%
    node[pos=1,sloped,yshift=-#4](\CF@arrow@start@node @d1){};%
    \begingroup
    \pgfarrowharpoontrue
    \expandafter\draw\expandafter[\CF@arrow@current@style](\CF@arrow@start@node @u0)--(\CF@arrow@start@node @u1);%
    \expandafter\draw\expandafter[\CF@arrow@current@style](\CF@arrow@start@node @d1)--(\CF@arrow@start@node @d0);%
    \endgroup
    \CF@arrow@display@label{#1}{0.5}+\CF@arrow@start@node{#2}{0.5}-\CF@arrow@end@node%
}
\makeatother

\begin{document}
    \schemestart[0,1,line width=1mm]
        \chemfig{2H_2O} \arrow{<S>[][][][4pt]} \chemfig{4H} \+ \chemfig{O_2} 
    \schemestop
\end{document}

where I set the distance to 4pt and the thickness of the lines to 1mm.

Another approach, if you want to tweak the arrows even more, then look here:

How to change distance within a reversible edge and increase the font size in chemfig?

How do we mirror a reversible reaction arrow in chemfig

How to get different colors for reversible arrows in chemfig

2

Use the key double arrow sep.

enter image description here

\documentclass{article}
\usepackage{chemfig}
\begin{document}
% Default arrow double sep = 2pt
\schemestart
    \chemfig{2H_2O} \arrow{<=>} \chemfig{4H} \+ \chemfig{O_2}
\schemestop

\bigskip

% Increase arrow spacing
\setchemfig{arrow double sep=6pt}
\schemestart
    \chemfig{2H_2O} \arrow{<=>} \chemfig{4H} \+ \chemfig{O_2}
\schemestop
\end{document}
  • Not really sufficient: with a huge font the thickness doesn't vary and the arrows get longer. – egreg May 20 '18 at 16:33
  • 1
    @egreg That can be tweaked with the other chemfig options. If the OP gives more information about how this is being used I can advise further. Otherwise, imho the central question has been answered. – Troy May 20 '18 at 16:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.