Ich muss durch den folgenden Code ersetzen '
, \textquotesingle
da ich dieses Symbol bevorzuge, wenn ich ein Apostroph eingebe.
\makeatletter
\catcode`\'=\active
\def'{\textquotesingle}
\makeatother
Das Problem besteht darin, dass wenn ich eine Ableitung einer Funktion schreiben möchte, diese nicht kompiliert wird. Ich muss eingeben \text{'}
, was aber nicht einmal gut aussieht. Es sollte etwas schief aussehen.
Daher habe ich mich gefragt, ob es möglich ist, '
ein aktives Zeichen nur im Textmodus und nicht im Mathematikmodus zu erstellen, sodass ich problemlos tippen kann \[ f'(x) \]
.
Antwort1
Sie müssen zwischen dem Text- und dem Mathematikmodus unterscheiden, aber auch das interne Makro aktualisieren, das '
im Mathematikmodus auf ein anderes wartet, um den neuen Kategoriencode zu berücksichtigen.
\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}