Tengo el siguiente código para reemplazar '
porque \textquotesingle
prefiero este símbolo cuando escribo un apóstrofe.
\makeatletter
\catcode`\'=\active
\def'{\textquotesingle}
\makeatother
El problema es que cuando quiero escribir un derivado de una función no se compila, tengo que escribir \text{'}
, pero ni siquiera se ve bien, debería verse un poco inclinado.
Entonces me preguntaba si es posible crear '
un carácter activo solo en modo texto y no en modo matemático, para poder escribir fácilmente \[ f'(x) \]
.
Respuesta1
Debe diferenciar entre el modo texto y el modo matemático, pero también actualizar la macro interna que espera otra '
en modo matemático para encargarse del nuevo código de categoría.
\documentclass{article}
\makeatletter
\catcode`\'=\active
\protected\def'{\ifmmode\expandafter\active@math@prime\else\textquotesingle\fi}
\gdef\pr@m@s{%
\ifx'\@let@token
\expandafter\pr@@@s
\else
\ifx^\@let@token
\expandafter\expandafter\expandafter\pr@@@t
\else
\egroup
\fi
\fi}
\makeatother
\begin{document}
It's $f'$ or $f''$
\end{document}