I know I should probably separate the questions into multiple stems but I don't want to spam. I am attempting to recreate this diagram but there are a few parts I am unsure of:
Here is my code for some of the diagram (I have decided to not include all the nodes and diagrams because that would clutter the code) but here it is and the diagram it renders:
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[left=0.00cm, right=0.00cm]{geometry}
\usepackage{tikz}
\usepackage{chemfig}
\usepackage{mhchem}
\usetikzlibrary{calc,fadings,decorations.markings}
\begin{document}
\begin{tikzpicture}
\setchemfig{atom sep=2em}
% ---------------- LABELS ----------------
\node[align=center] (alkyne) at (0,0) {Alkyne\\{{\footnotesize \chemfig{-C~C-}}}};
\node[align=center] (haloalkene) at (2,3) {Haloalkene};
\node[align=left] at (3.65,3) {{\footnotesize \chemfig{C(-[:-120])(-[:120]R)=C(-[:60]X)-[:-60]}}};
\node[align=center] (haloalkane) at (0,6) {Haloalkane};
\node[align=left] at (1.8,6) {{\footnotesize \chemfig{-C(-[:90]R1)(-[:-90]R2)-C(-[:90]X)(-[:-90]R3)-}}};
\node (alkane) at (-1,3) {Alkane};
\node at (0.2,2.7) {\footnotesize\chemfig{-C(-[:90]H)(-[:-90]H)-C(-[:90]H)(-[:-90]H)-}};
\node (tertiaryalcohol) at (0,8) {3$^\circ$ Alcohol};
\node (alkene) at (-3.2,3) {Alkene};
\node (ketone) at (-4,0.4) {Ketone};
\node (alcohol) at (-6,3) {Alcohol};
\node (glucose) at (-6,6) {Glucose};
\node (ester) at (-6,-1) {Ester};
\node (carboxylicacid) at (-9,1) {Carboxylic Acid};
% BOXES FOR PRIMARY (1 DEGREE) AND SECONDARY (2 DEGREE) ALCOHOL
\draw[-latex] (alcohol) -- (ketone);
\draw[fill=white] (-6.5,2.3) rectangle (-6,2.8) (-6,2.3) rectangle (-5.5,2.8);
\node at (-6.25,2.55) {1$^\circ$};
\node at (-5.75,2.55) {2$^\circ$};
% ---------------- ARROWS ----------------
\draw[-latex] (alkyne) -- node[above,midway] {\ce{HX},\ce{X2}} node[below,midway] {halogenation} (haloalkene); % HOW DO I ROTATE THE LABELS ABOVE AND BELOW THE ARROWS HERE
\draw[-latex] (haloalkene) -- (haloalkane);
\draw[-latex] (alkyne) -- (alkane);
\draw[-latex] (alkane) -- (haloalkane);
\draw[-latex] (alkene) -- (alkane);
\draw[-latex] (alkyne) -- (ketone);
\draw[-latex] (alcohol) -- (haloalkane); % HOW DO I DRAW THE REVERSE ARROW HERE
\draw[-latex] (haloalkane) -- (tertiaryalcohol);
\draw[-latex] (alkene) -- (haloalkane);
\draw[-latex] (alcohol) -- (alkene); % HOW DO I DRAW THE REVERSE ARROW HERE
\draw[-latex] (glucose) -- (alcohol);
\draw (alcohol) -- (ester); % HOW DO I ADD THE CURLY BRACKETS AT THE ALCOHOL AND HOW DO I ADD THE EQUILIBRIUM REACTION ARROW AT THE KETONE END
\draw (carboxylicacid) .. controls +(0:3) and +(90:2) .. (ester);
% ---------------- ADDITIONAL DECORATIONS ----------------
\draw[-latex] (glucose) .. controls +(-90:1) and +(180:1) .. (-5,5) node[right] {\ce{CO2}};
\end{tikzpicture}
\end{document}
The first problem is with the nodes on the arrow, I am unsure of how to rotate them so that they are at the same angle as the arrow. For example see the nodes on the arrow between alkyne to haloalkene on my diagram and the original.
The second problem is say the arrows between the alcohol and haloalkane should be a set of two arrows one that goes forwards and the other backwards. I am unsure of how to do this without specifying exact coordinates as this would be tedious.
The third problem is that I am unusre of how to add the curly brackets at the alcohol underneath the boxes for the first and second degree.
The fourth and final problem is the double headed end arrow (equilibrium reaction arrow) at the ester.
Note that I have labelled the relavant points in the code for your help. Thank you
Edit
Also is it possible with along with the rotation of the nodes above and below the arrow, that if the arrow was say a bezier cruve (..controls +(point 1) and +(point 2) ..
) that the node text could follow the curve of the arrow?