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}
Please do not use tables to draw chemical structures. There's the already mentioned chemfig
package and a few alternatives available for drawing chemical structures and schemes, see Can you make chemical structure diagrams in LaTeX? and the posts tagged chemfig.
Also there's no need to use a tikzpicture
for positioning the compounds. It's far easier to use invisible bonds by passing the TikZ setting draw=none? to a bond's TikZ-Option (
[,,,,]) and
chemfig`'s powerful scheme-mechansim.
The basic molecule here is easily drawn by creating a O-Si-O-Al-O-Si-O
chain:
\chemfig{
O-[:-30]
Si-[:30]
O-[:-30]
Al-[:30]
O-[:-30]
Si-[:30]
O-[:-30]
Al-[:30]
O
}
The charges can be put above the Al
atoms with \chemabove
:
\chemfig{
O-[:-30]
Si-[:30]
O-[:-30]
\chemabove{Al}{-}-[:30]
O-[:-30]
Si-[:30]
O-[:-30]
\chemabove{Al}{-}-[:30]
O
}
Now we can add the side chains to the missing O
s using chemfig
's (...)
syntax:
\chemfig{
O-[:-30]
Si(-[:-120]O)(-[:-60]O)-[:30]
O-[:-30]
\chemabove{Al}{-}(-[:-120]O)(-[:-60]O)-[:30]
O-[:-30]
Si(-[:-120]O)(-[:-60]O)-[:30]
O-[:-30]
\chemabove{Al}{-}(-[:-120]O)(-[:-60]O)-[:30]
O
}
Last but not least let's draw invisible bonds from the Al
s to the ammonium ions:
\chemfig{
O-[:-30]
Si(-[:-120]O)(-[:-60]O)-[:30]
O-[:-30]
\chemabove{Al}{-}(-[:-120]O)(-[:-60]O)(-[2,,,,draw=none]NH_4^+)-[:30]
O-[:-30]
Si(-[:-120]O)(-[:-60]O)-[:30]
O-[:-30]
\chemabove{Al}{-}(-[:-120]O)(-[:-60]O)(-[2,,,,draw=none]NH_4^+)-[:30]
O
}
The complete scheme as seen in @EvgenyChem's answer can then best be created using
\schemestart
<compound>
\arrow
<compound>
\schemestop
In this case a vertical arrangement seems to make sense so we choose the default angle -90
for the scheme with the optional argument of \schemestart[-90]
. Here's an example for a possible complete scheme:
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\begin{figure}
\centering
\small
\schemestart[-90]
\chemfig{
O-[:-30]
Si(-[:-120]O)(-[:-60]O)-[:30]
O-[:-30]
\chemabove{Al}{-}(-[:-120]O)(-[:-60]O)(-[2,,,,draw=none]NH_4^+)-[:30]
O-[:-30]
Si(-[:-120]O)(-[:-60]O)-[:30]
O-[:-30]
\chemabove{Al}{-}(-[:-120]O)(-[:-60]O)(-[2,,,,draw=none]NH_4^+)-[:30]
O
}
\arrow
\chemfig{
O-[:-30]
Si(-[:-120]O)(-[:-60]O)-[:30]
O-[:-30]
\chemabove{Al}{-}(-[:-120]O)(-[:-60]O)(-[2,,,,draw=none]H^+)-[:30]
O-[:-30]
Si(-[:-120]O)(-[:-60]O)-[:30]
O-[:-30]
\chemabove{Al}{-}(-[:-120]O)(-[:-60]O)(-[2,,,,draw=none]H^+)-[:30]
O
}
\arrow
\chemfig{
O-[:-30]
Si(-[:-120]O)(-[:-60]O)-[:30]
O(-[2]H)-[:-30,,,,draw=none]
Al(-[:-120]O)(-[:-60]O)-[:30]
O-[:-30]
Si(-[:-120]O)(-[:-60]O)-[:30]
O(-[2]H)-[:-30,,,,draw=none]
Al(-[:-120]O)(-[:-60]O)-[:30]
O
}
\arrow
\chemfig{
O-[:-30]
Si(-[:-120]O)(-[:-60]O)-[:30]
O-[:-30]
\chemabove{Al}{-}(-[:-120]O)(-[:-60]O)-[:30]
O-[:-30]
\chemabove{Si}{+}(-[:-120]O)(-[:-60]O)-[:30,,,,draw=none]
-[:-30,,,,draw=none]
Al(-[:-120]O)(-[:-60]O)-[:30]
O
}
\schemestop
\caption{Caltination of zeolites} \label{fig:Caltination}
\end{figure}
\end{document}

Best Answer
I don't normally advertize the
tabu
package (see this post for reasons why) but in this case it is very handy. It scales the table horizontally to textwidth per default if you use itsX
type columns. Those columns have an optional argument for specifying the ratio of one column to another:X[1]X[2]
would mean that the second column has a width twice as much as the first. In the optional argument you can also specify what traditional column type you'd like to have. I usedX[<num>c,m]
to have all cells centered both vertically and horizontally.Instead of scaling each of the molecules I redefined the atom-sep and the
\printatom
command inside thetable
environment. Since this is inside the environment the effect of the redefinitions will stay local.In the code below I removed all unnecessary packages. Instead I introduced
mhchem
(I could also have usedchemformula
) for inline chemical formulae, andbooktabs
for nicer table rules: