4

Hello I need help drawing/typesetting an acid base reaction showing the conjugate pairs: enter image description here Here is what I have so far:

\documentclass{article}
\usepackage{chemfig}
\usepackage{endiagram}
\usepackage{booktabs}
\begin{document}
\setchemfig{cram width=3pt}
\schemestart
\chemname{\chemfig{H_{3}C-C(=[:45]O)-[:-45]O-[:0]H}}{Acetic Acid}
+
\chemname{\chemfig{H_{3}C-\Lewis{2:,N}(<:[:-15]H)<[:-40]H}}{Methylamine}
\arrow{<=>}
\chemname{\chemfig{H_{3}C-C(=[:45]O)-[:-45]O\rlap{${}^-$}}}{Acetate Ion}
+
\chemname{\chemfig{H_{3}C-N\rlap{${}^+$}(-[:45]H)(<:[:-15]H)<[:-40]H}}{Mathylammonium Ion}
\schemestop
\end{document}

Which produces the reaction and the lewis structures I am interested in. I do not need the colours nor the dots around the oxygen atoms, I only require assistance with the bottom section of the figure. My code currently produces this: enter image description here I know it might be possible to use \tikz[overlay,remember picture]{}, but I do not know how to label the text below the chemicals.

2

Something like this?

\documentclass{article}
\usepackage{chemfig}
\usepackage{endiagram}
\usepackage{booktabs}
\usetikzlibrary{tikzmark,positioning,shapes.geometric}
\definecolor{dullblue}{RGB}{178,201,231}
\begin{document}
\setchemfig{cram width=3pt}
\schemestart
\chemname{\chemfig{H_{3}C-C(=[:45]O)-[:-45]O-[:0]H}}{\tikzmarknode{A}{Acetic
Acid}}
+
\chemname{\chemfig{H_{3}C-\Lewis{2:,N}(<:[:-15]H)<[:-40]H}}{\tikzmarknode{B}{Methylamine}}
\arrow{<=>}
\chemname{\chemfig{H_{3}C-C(=[:45]O)-[:-45]O\rlap{${}^-$}}}{\tikzmarknode{C}{Acetate
Ion}}
+
\chemname{\chemfig{H_{3}C-N\rlap{${}^+$}(-[:45]H)(<:[:-15]H)<[:-40]H}}{\tikzmarknode{D}{Mathylammonium
Ion}}
\schemestop
\begin{tikzpicture}[overlay,remember picture]
\node[below=3mm of A,fill=dullblue,draw,ellipse] (Acid1) {Acid};
\node[below=3mm of B,draw,ellipse] (Base1) {Base};
\node[below=3mm of C,fill=dullblue,draw,ellipse] (Base2) {Base};
\node[below=3mm of D,draw,ellipse] (Acid2) {Acid};
\draw[blue!50] (Acid1) -- ++ (0,-1.5) coordinate(aux) -| (Base2);
\draw (Base1) -- ++ (0,-2)  -| (Acid2);
\node[anchor=south,blue!50,fill=white,outer sep=1pt] at (aux-|Base1) {Conjugate pair};
\end{tikzpicture}
\end{document}

enter image description here

  • That's exactly what I wanted, but one question what does aux-|Base1 do for the position of the conjugate pair node – sab hoque Nov 30 '18 at 22:05
  • 1
    @sabhoque The coordinate (aux-|Base1) is the point with the y-coordinate of aux and the x-coordinate of Base1, as explained very nicely in this answer. – marmot Nov 30 '18 at 22:11

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.