What is the advantage of using $f^\prime$ instead of $f'$?

TL;DR: ' is a shorthand for ^{\prime}.


' is defined in latex.ltx as active math character:

\def\active@math@prime{^\bgroup\prim@s}
{\catcode`\'=\active \global\let'\active@math@prime}
\def\prim@s{%
  \prime\futurelet\@let@token\pr@m@s}
\def\pr@m@s{%
  \ifx'\@let@token
    \expandafter\pr@@@s
  \else
    \ifx^\@let@token
      \expandafter\expandafter\expandafter\pr@@@t
    \else
      \egroup
    \fi
  \fi}
\def\pr@@@s#1{\prim@s}
\def\pr@@@t#1#2{#2\egroup}

The active ' looks for following ' and puts them together as superscript, a''' becomes a^{\prime\prime\prime}. Thus using ' makes the input easier to write.


Sometimes you may want to pass LaTeX code as an argument to another program. In that case the code is typically wrapped in quotes. Using quote to mean a prime will confuse the second program. For example to type TeX in graphical output of MATLAB one may use something like

str='$$F^\prime$$'
text(0,0,str,'Interpreter','latex')

to print $F'$ at location $(0,0)$. Using $F'$ in the code however becomes problematic.


Tl;DR: You can use \prime with additional superscripts.

There is certainly one advantage to using \prime under a particular situation. Suppose you have a map \pi which necessitates the use of another map \pi', which at first seems to be appropriately named.

That is, until you have to pullback something with respect to \pi'. Now you can either write (\pi')^* or \pi^{\prime,*}. The latter looks, arguably, a little better.

But both look horrible.