3

Please tell me, How I can reduce a distance between arrow and feed substances. I want the same distances at all three directions. To make it clearer, I explain: I drew the side substances as a massive elements in order to the scheme acquired roundness. To get a nice scheme. In my opinion each of the array elements has a rectangular invisible borders which can not overlap with an arrows, so the lower elements have lager distances between arrows than the upper. How to solve this problem? Thanks in advance

enter image description here

\documentclass{article} 
\usepackage{chemfig}
\usepackage{tikz}

\begin{document}

\begin{figure}[!h]
\begin{center}
\setchemrel{}{}{3em}
\noindent
\schemestart
\chemfig{%
**6(------)
}
\arrow{<=>}[90]
\chemfig{%
*6(---
    ([,,,,draw=none]-([,,,,draw=black]*6(--
        ([,,,,draw=none]-([:-18,,,,draw=black]*5(----(-)-)))
    ----)))
-(-)--)
}
\arrow(@c1--){<=>}[210]
\chemfig{%
**6(-
    ([,,,,draw=none]-([,,,,draw=black]**6(-(-)---
        ([,,,,draw=none]-([,,,,draw=black]**6(-(-)--(-)---)))
    --)))
----*6(--)-)
}
\arrow(@c1--){<=>}[330]
\chemfig{%
-[:30]-[:-30]-[:30](-[:90])-[:-30]
-[:-90,,,,draw=none]-[:210,,,,draw=black]-[:150]-[:210]-[:150]-[:210]
-[:-90,,,,draw=none](-[:210]-[:150])-[:-30,,,,draw=black]-[:30]-[:-30]-[:30]
}
\schemestop
\caption{Reforming} \label{fig:Precursors}
\end{center}
\end{figure}

\end{document}
1

1 Answer 1

3

The “problem” is empty space. The arrows actually are not far away from what chemfig sees as compound. You can verify this by adding \schemedebug{true}:

\documentclass{article} 
\usepackage{chemfig}
\usepackage{tikz}

\begin{document}

\begin{figure}
  \centering
  \schemedebug{true}
  \setatomsep{1.5em}
  \schemestart
    \chemfig{**6(------)}
    \arrow{<=>}[90]
    \subscheme{
      \chemfig{*6(----(-)--)}
      \arrow{0}[20,.3]
      \chemfig{*6(------)}
      \arrow{0}[-30,.2]
      \chemfig{*5(---(-)--)}
    }
    \arrow(@c1--){<=>}[210]
    \null
    \subscheme{
      \chemfig{-[:30]**6(--(-)----)}
      \arrow{0}[-90,.3]
      \chemfig{-[:30]-[:-30]**6(------)}
      \arrow{0}[-40,.1]
      \chemfig{-[:-30]**6(------)}
    }
    \arrow(@c1--){<=>}[330]
    \subscheme{
      \chemfig{-[:30]-[:-30]-[:30]-[:-30]-[:30]}
      \arrow{0}[-120,.1]
      \chemfig{-[:30]-[:-30]-[:30](-[:90])-[:-30]}
      \arrow{0}[-130,.4]
      \chemfig{-[:-30]-[:30]-[:-30]-[:30]-[:-30]-[:30]}
    }
  \schemestop
  \caption{Reforming} \label{fig:Precursors}
\end{figure}

\end{document}

enter image description here

A possible idea (which uses the subschemes that I used for the clusters of molecules with single \chemfig's for each molecule): connect the center and the surroundings with shortened invisible arrows and latter connect the center with specific molecules in the clusters. (I also scaled all molecules by using e reduced atom-sep (\setatomsep{1.5em}).)

\documentclass{article} 
\usepackage{chemfig}
\usepackage{tikz}

\begin{document}

\begin{figure}
  \centering
  \schemedebug{true}
  \setatomsep{1.5em}
  \schemestart
    \chemfig{**6(------)}
    \arrow{<=>}[90]
    \subscheme{
      \chemfig{*6(----(-)--)}
      \arrow{0}[20,.3]
      \chemfig{*6(------)}
      \arrow{0}[-30,.2]
      \chemfig{*5(---(-)--)}
    }
    \arrow(@c1--){0}[210,.1]% invisible
    \subscheme{
      \chemfig{-[:30]**6(--(-)----)}
      \arrow{0}[-90,.3]
      \chemfig{-[:30]-[:-30]**6(------)}
      \arrow{0}[-40,.1]
      \chemfig{-[:-30]**6(------)}
    }
    \arrow(@c1--){0}[330,.1]% invisible
    \subscheme{
      \chemfig{-[:30]-[:-30]-[:30]-[:-30]-[:30]}
      \arrow{0}[-120,.1]
      \chemfig{-[:30]-[:-30]-[:30](-[:90])-[:-30]}
      \arrow{0}[-130,.4]
      \chemfig{-[:-30]-[:30]-[:-30]-[:30]-[:-30]-[:30]}
    }
    % connect with arrows:
    \arrow(@c1--@c8){<=>}
    \arrow(@c1--@c12){<=>}
  \schemestop
  \caption{Reforming} \label{fig:Precursors}
\end{figure}

\end{document}

enter image description here

enter image description here

5
  • Yes, in this case the substances are closer to the arrows. But I drew the side substances as a massive elements in order to the scheme acquired roundness. To get a nice scheme. In my opinion each of the array elements can not overlap with an arrow, so the lower elements have lager distances between arrows than the upper.
    – EvgenyChem
    Sep 8, 2014 at 20:25
  • You should have mentioned that requirement in your question. I'll revise my answer in a bit...
    – cgnieder
    Sep 8, 2014 at 20:26
  • And of course I do not know how to make the scheme a little less. It goes abroad. This is another problem.
    – EvgenyChem
    Sep 8, 2014 at 20:31
  • @EvgenyChem I edited the answer
    – cgnieder
    Sep 8, 2014 at 21:06
  • Great, thank you. This is much better. Now I will understand.
    – EvgenyChem
    Sep 8, 2014 at 21:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .