Ich weiss, dass es zum ausschreiben von Ordinalzahlen schon packages gibt, aber ich wollte das ganze selbst erstellen, um mich im Kreieren von etwas komplizierteren Makros zu üben. Ich hatte allerdings zwei Probleme. Das erste ist, dass beim ersten Aufruf von \ord immer case 0 gewählt wird, bei allen weiteren Aufrufen funktionierts richtig. Zweitens reklamiert er, ich habe ein $ vergessen und fügt eines ein, das hat dann zur Folge, dass nachstehender Text auch im mathmode steht. Hier mein code
\newcommand{\ord}[1]{ \newcount\aux \aux = #1 \relax \ifnum\aux < 0 \relax \aux = -#1 \relax \fi \ifnum\aux > 13 \relax \newcount\bux \relax \bux = \aux \relax \divide \bux by 10 \relax \multiply \bux by 10 \relax \advance \aux by -\bux \relax \fi \ifcase\aux \def\nth{\text{th}} \or \def\nth{\text{st}} \or \def\nth{\text{nd}} \or \def\nth{\text{rd}} \else \def\nth{\text{th}} \fi \ensuremath{#1^{\nth}} }
Vielen Dank!