% \begin{macro}{\fmslash}
% \textit{Feynman slashes} are ubiquitous in particle physics:
% \begin{equation}
%   \bar\psi\fmslash\partial\psi,
%   \bar\psi\fmslash a\psi,
%   \bar\psi\fmslash\Delta\psi,
%   \bar\psi\fmslash P\psi,
%   {\cal L}^{\fmslash\partial},
%   {\cal L}^{\fmslash a},
%   {\cal L}^{\fmslash\Delta},
%   {\cal L}^{\fmslash P}
% \end{equation}
% This implementation of a \textit{Feynman slash} macro is tailored
% after DEK's \verb"\notin" macro.  The neat idea is to use
% \verb"\halign" with vanishing \verb"\baselineskip" to center both
% the argument and the slash in the same box.  The optional argument
% is a dimension which can be used to shift the slash.  This can
% improve the optical appeal for some characters.
% \def\fmslashtest#1{%
%   $\fmslash[-2mu] #1, \fmslash[-1mu] #1, \fmslash #1,
%   \fmslash[1mu] #1, \fmslash[2mu] #1$}
% Compare the following choices \verb"-2mu", \verb"-1mu", \verb"0mu"
% (default), \verb"1mu" and \verb"2mu":
% \fmslashtest\partial, \fmslashtest p, \fmslashtest l.  The
% characters look best with the default, \verb"1mu" and \verb"-1mu",
% respectively.
% The tricky part is to make it work in subscripts, etc.
% Unfortunately, DEK's \verb"\mathpalette" can be only be used with
% macros that take a single argument.  Thus we have to call
% \verb"\mathchoice" directly.
%    \begin{macrocode}
\newcommand{\fmslash}[2][0mu]{%
  \mathchoice
    {\fmsl@sh\displaystyle{#1}{#2}}%
    {\fmsl@sh\textstyle{#1}{#2}}%
    {\fmsl@sh\scriptstyle{#1}{#2}}%
    {\fmsl@sh\scriptscriptstyle{#1}{#2}}}
\newcommand{\fmsl@sh}[3]{%
  \m@th\ooalign{$\hfil#1\mkern#2/\hfil$\crcr$#1#3$}}
%    \end{macrocode}
% \end{macro}