Как выровнять текст, структуры и стрелки в пакете chemfig

Как выровнять текст, структуры и стрелки в пакете chemfig

Есть идеи, как выровнять названия структур на одной высоте. Стрелки и знаки плюс, и химические структуры тоже.

Я пытался выровнять их с помощью \chemnameinit, но не получилось.

введите описание изображения здесь

\begin{figure}
\centering
\scalebox{.6}{
\chemnameinit{\chemfig{[:210]O*3(-(-R|^1)-(-R|^2)-)}}
\schemestart
\chemname{\chemfig{R|^1-=-R|^2}}{Alqueno}
\+
\chemname{\chemfig{H_2O_2}}{Peróxido\\de hidrógeno}
\arrow{->[Base][Disolvente]}[0,2]
\chemname{\chemfig{[:210]O*3(-(-R|^1)-(-R|^2)-)}}{Epóxido}
\+
\chemname{\chemfig{H_2O}}{Agua}
\schemestop
\chemnameinit{}
}
\caption{Reacción de epoxidación. Oxidación de un alqueno en presencia de un peróxido de hidrógeno y una base orgánica.}
\label{fig:2}
\end{figure}

решение1

Не уверен, что это лучший способ сделать это, но вы можете указать опорные точки, используемые для средней стрелки, а затем вручную сместить молекулу epxidoвверх с помощью yshift. Я выделил изменения в следующем коде:

\documentclass{article}
\usepackage{chemfig}

\begin{document}    

\begin{figure}
    \centering
    \scalebox{.6}{
    \chemnameinit{\chemfig{[:210]O*3(-(-R|^1)-(-R|^2)-)}}
    %\schemedebug{true} % Activate to see anchor points
    \schemestart
    \chemname{%
        \chemfig{R^1-=-R^2}
        }{Alqueno}
    \+
    \chemname{%
        \chemfig{H_2O_2}
        }{Peróxido\\de hidrógeno}
    \arrow(.mid east--.mid west) % <--------
        {->[Base][Disolvente]}[0,2] 
    \chemname{%
        \chemfig[yshift=2em]{[:210]O*3(-(-R|^1)-(-R|^2)-)} % <--------
        }{Epóxido}
    \+
    \chemname{%
        \chemfig{H_2O}
        }{Agua}
    \schemestop
    \chemnameinit{}
    }
    \caption{Reacción de epoxidación. Oxidación de un alqueno en presencia de un peróxido de hidrógeno y una base orgánica.}
    \label{fig:2}
\end{figure}

\end{document}

схема реакции

Приложение

Вы можете взглянуть на опорные точки и на то, как chemfigгруппируются молекулы вместе с помощью \schemedebug{true}размещенного ранее \schemestart(раскомментируйте его в коде выше, чтобы увидеть, что я имею в виду). Это полезно при попытке выровнять стрелки, + и молекулы в схеме реакции.

с включенной отладкой

Связанный контент