How do I position pairs of arrows in TikZ to make 'harpoons'?
I would suggest using the chemfig package for such purposes. It has built-in commands for schemes like these which are highly customizable. What's more it provides several arrow types, one of them being harpoons for an equilibrium reaction:
\documentclass{article}
\usepackage{chemfig,siunitx}
\setchemfig{compound sep=7em} % (not exactly) the length of the arrows
\begin{document}
\schemestart
A \+ R
\arrow{<=>[$k_{+1}$][$k_{-1}$]}
ARb
\arrow{<=>[$\alpha$][$\beta$]}
ARc
\arrow(ARc--){<=>[$\delta$][$\gamma$]}[35] AR$^*$
\arrow(@ARc--){<=>[\SI{1000}{\per\second}][\SI{10}{\per\second}]}[-35] AD
\schemestop
\end{document}
In answer to my original question (above), I found that using the transform canvas
command provided the easiest way to generate rightleftharpoon
-like arrows using TikZ. Thanks to Caramdir for pointing out this previous answer. Below is a simple (somewhat meaningless example) showing both horizontal and angled harpoons.
\resizebox{!}{!}{ % picture placed inside a resize box (change to values etc as per desired sizing)
\begin{tikzpicture}
\node (A) at (0,0) {A + R};
\node (B) at (1.7,0) {AR};
\node (C) at (3,1) {AR*};
\node (D) at (3,-1) {AD};
\begin{scope}[every node/.style={font= \scriptsize}]
\draw[transform canvas={yshift=0.3ex},-left to] (A) -- node[above]{$k_{+1}$} (B);
\draw[transform canvas={yshift=-0.3ex},left to-] (A) -- node[below] {$k_{-1}$} (B);
\draw[transform canvas={yshift=0.2ex, xshift=-0.05ex},-left to] (B) -- node[above, xshift=-5]{$\beta$} (C);
\draw[transform canvas={yshift=-0.32ex, xshift=0.2ex},left to-] (B) -- node[below, xshift=5]{$\alpha$} (C);
\draw[transform canvas={yshift=0.32ex, xshift=0.2ex},-left to] (B) -- node[above, xshift=15]{1000 s$^{-1}$} (D);
\draw[transform canvas={yshift=-0.2ex, xshift=-0.05ex},left to-] (B) -- node[below, xshift=-10]{10 s$^{-1}$} (D);
\end{scope}
\end{tikzpicture}
}
This produces:
\documentclass{minimal}
\usepackage{mathtools}
\begin{document}
\[
A + R \xrightleftharpoons[k_{-1}]{k_{+1}} AR \xrightleftharpoons[\alpha]{\beta} AR*
\]
\end{document}