You could simply insert a second invisible arrow and maybe use the optional arguments of \+{<dim1>,<dim2>,<dim3>}
(where <dim1>
is a horizontal space before the plus <dim2>
a horizontal space after the plus and <dim3>
a vertical shift) to adjust the plus vertically
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\schemestart
\chemname{\chemfig{C(=O)(-[4]H)-[6]C(-H)(-[4]HO)-[6]CH_2OH}}{\footnotesize{L-glyceraldehyde}}
\arrow{0}[,0]\+{,,1.5em}\arrow{0}[2,0]
\chemname{\chemfig{COO^{-}-[6]C(=O)-[6]CH_3}}{\footnotesize{pyruvate}}
\schemestop
\end{document}
For the alignment issues: you can use anchors as described in section 5 Anchoring of part IV Reaction Schemes in the chemfig
manual. Basically this is done using the following syntax:
\arrow(.<anchor>--.<anchor>)
where <anchor>
is either the name of the TikZ anchor or the value of a angle. The code below uses
\arrow(.mid east--.mid west)
for the first scheme and
\arrow(--.-162.5)
for the second. You can find details on anchoring both in the chemfig
manual and of course in the pgfmanual.
As for the “issue” with the connection of atoms: just draw it the way you want it. Stupid as this sounds it is exactly what I changed in your molecule. The important part is
B*5(-C-*6(-=-=-)=-D=)
“Rotating” the ring by one bond you get what you need:
C*5(-*6(-=-=-)=-D=B-)
The code below also fixes the erroneous redefinition of \printatom
and moves it and the other global settings into the preamble (where they belong, IMHO). I also added indentation to make the code more readable.
\documentclass[12pt,doublespacing,letterpaper]{report}
\usepackage{chemfig}
\setatomsep{2em}
\setbondoffset{1pt}
\setdoublesep{3pt}
\setbondstyle{line width=1pt}
\renewcommand\printatom[1]{%
\fontsize{11pt}{11pt}\selectfont
\ensuremath{\mathrm{#1}}%
}
\begin{document}
\schemestart[0,1.2,thick]
\chemfig{R_3B}
\+
\chemfig{CH_2=CH-C(=[:90]O)-CH_3}
\arrow(.mid east--.mid west){%
->[\footnotesize H$_2$O]%
}[,2,thick]
\chemfig{R-CH_2-CH-C(=[:90]O)-CH_3}
\schemestop
\bigskip
\schemestart[0,2,thick]
\scriptsize
\chemfig{[:-30]*6(-=-(-[,1.2]BF_3K)=-=)}
\arrow{0}[,0]\+{1em,1em ,17pt}
\scriptsize
\chemfig{HO-[:75,,2](-[:115])(-[:150])-(-[:65]OH)(-[:-45])-[:-90]}
\arrow(--.-162.5){%
->[\footnotesize SiO$_2$]%
[\footnotesize H$_2$O]%
}
\scriptsize
\chemfig{
*6(-=-(
-[,1.1]B?-[:60,1.1]O-[:10](-[:60])(-[:20])
-[:-60](-[:45])(-[:-5])
-[:-145]O-[:-195]?
)=-=-)
}
\schemestop
\bigskip
\scriptsize
\chemfig{
*6(-=-(
-A(-[:90]C*5(-*6(-=-=-)=-D=B-))
-[:-30,1.2]OEt)
=-=)
}
\end{document}
Best Answer
chemfig
always places the first atom of the molecule on the baseline, so if you writethe oxygen will be on the baseline. To put the carbon on the baseline it has to be the first atom:
In other words, you must start from the atom you want to be on the baseline and treat the others like branchings. The code is therefore