Text over arrow is an important expression that we constantly use in chemistry or other fields. Multiple packages and commands are present to print this expression into a latex document.
\documentclass{article}
\usepackage{mathtools,halloweenmath}
\begin{document}
\[ \underleftarrow{abc} \; \underleftrightarrow{abcdr}\;\underrightarrow{abc} \]
\[ \xleftarrow{chem} \; \xrightarrow{physi} \]
% use of halloweenmath package
\[ \underscriptleftarrow{abc}\; \underscriptleftrightarrow{abc}\; \underscriptrightarrow{abc} \]
\end{document}
Output :
The amsmath package has the same command as the stix package. However, the shape of the arrow has some structural changes in this case.
\documentclass{article}
\usepackage{stix}
\begin{document}
\[ \underleftarrow{pqr} \; \underleftrightarrow{pqr}\;\underrightarrow{pqr} \]
\[ \underleftarrow{physics} \; \underleftrightarrow{math}\;\underrightarrow{chemistry} \]
\end{document}
Output :
You will see the use of \xrightarrow
command for this expression in different latex books or online documents, which is available in the amsmath and mathtools package.
But, I think it’s not a best practice.
Write text over a double arrow in LaTeX
Notice the program below, where the \xLeftarrow
and \xRightarrow
commands are used for left and right double arrows.
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\[ \xLeftarrow{use}\; \xLeftrightarrow{double} \xRightarrow{arrow} \]
\[ \xLeftarrow{f(x)}\; \xLeftrightarrow{g(x)} \xRightarrow{f^1(x)} \]
\[ A \xRightarrow{\Delta}\;B \xRightarrow{\Delta} C \]
\[ \xLeftrightarrow{g^1(x)} \]
\end{document}
Output :
However, the point is that you have used this command before, but latex is case-sensitive, so in both cases, the spelling of the command is the same, but the work will be different.
Write text over harpoons in LaTeX
There are structural differences between harpoon and common arrow. One side of the harpoon is like an arrow, and the opposite side is like a normal line.
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\[ \xleftharpoondown{xyz} \;\xrightharpoondown{xyz} \]
\[ \xleftharpoonup{zyx} \;\xrightharpoonup{zyx} \]
\[ \xleftrightharpoons{xyz}\;\xrightleftharpoons{xyz} \]
\end{document}
Output :
Write text above and below arrow
If you want to use text above and below an arrow at the same time, the chemarrow package is best practice. For example
\documentclass{article}
\usepackage{chemarrow}
\begin{document}
\[ A + B \; \autorightarrow{m}{h}\;C \]
\[ D \; \autoleftarrow{a}{h}\;M + N \]
\[ A + B \;\autorightleftharpoons{m}{h}\; C + D \]
\end{document}
Output :
You can add text under each arrow bypassing the text as an optional argument with each text over arrow command in the mathtools package.
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\[ \xleftarrow[qrs]{pqr} \; \xrightarrow[qrs]{pqr} \]
\[ \xhookleftarrow[pqr]{qrs} \; \xhookrightarrow[pqr]{qrs} \]
\[ \xLeftarrow[pqr]{abc} \; \xRightarrow[pqr]{abc} \]
\[ B + HNO_3\;\xrightarrow[\Delta]{H_2SO_4}\; H_3BO_3 + NO_2 \]
\end{document}
Output :