I would like the arrows created by \textleftarrow and \textrightarrow to be 50% and 75% shorter, while leaving the arrow head the same size. I'm using it in a non-math environment; just normal text.

I have consulted the following posts to no avail, because they all seem to be math-based:

  • What prevents you from using a math-based solution and wrapping it into \ensuremath{...}? – marmot Mar 4 at 19:15
  • The arrow produced by \ensuremath{\rightarrow} looks the same as \textrightarrow. I don't see in those examples how to shorten it in combination with \ensuremath. – AML Mar 4 at 19:41
  • What I meant is \documentclass{article} \newcommand{\veryshortarrow}[1][3pt]{\ensuremath{\mathrel{% \hbox{\rule[\dimexpr\fontdimen22\textfont2-.2pt\relax]{#1}{.4pt}}% \mkern-4mu\hbox{\usefont{U}{lasy}{m}{n}\symbol{41}}}}} \begin{document} a\veryshortarrow b \end{document} – marmot Mar 4 at 19:47
  • It's got potential. Thank you. Looking for the arrow head to be the same size and also a left arrow. – AML Mar 4 at 19:59

You can use the trimclip package for this.

enter image description here

The clipbox* command removes portions of your text outside the box specified by 4 coordinates:

\clipbox*{{.25\width} 0pt {\width} {\height}} \textrightarrow

will leave the right 75% of the arrow. Similarly,

\clipbox*{0pt 0pt {.75\width} {\height}} \textleftarrow

will leave the left 75% of the arrow. Adjust as desired.

Here's the code:


\newcommand{\shorttextrightarrow}{\clipbox*{{.25\width} 0pt {\width} {\height}} \textrightarrow}
\newcommand{\shorttextleftarrow}{\clipbox*{0pt 0pt {.75\width} {\height}} \textleftarrow}


Why \textrightarrow\ can't I figure this out \textleftarrow ?

Why \shorttextrightarrow\ can't I figure this out \shorttextleftarrow ?


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.