Nun, du definierst hier:
, dass das Argument von
_ immer als Text gesetzt werden soll. Wenn du dann Befehle wie
\infty angibst, die nach dem Mathemodus verlangen, musst du den natürlich explizit wieder einschalten. Das zeigt auch, dass eine solche Definition nicht unbedingt sinnvoll ist. Besser ist, wenn man
_ unangetastet lässt und für die Texttieferstellung einen Befehl verwendet. Natürlich kannst du auch den umgekehrten Weg gehen und
_ umdefinieren, dann aber für tiefgestellte Mathematik immer
\sb verwenden:
\documentclass{article}
\usepackage{amsmath}
\catcode`\_=\active
\def_#1{\sb{\text{#1}}}
\begin{document}
\begin{align}
c\sb{\infty}
\end{align}
\end{document}
Achja: Du solltest auch bei
_ und
^ Argumentklammern verwenden. Wenn man sich nicht sehr gut auskennt, geht das sonst recht schnell schief. Und einige Leute, die noch vor ein paar Jahren dachten, sie würden das beherrschen, sind letztens durch eine LaTeX-Änderung gewaltig auf die Nase gefallen. Das kann man durch Konsequenz vermeiden.
Wenn man schon mit Befehlen arbeitet und intensiv von tiefer gestelltem Text Gebrauch macht, bietet sich auch die Verwendung eines Pakets wie
spbmark an. Dann kann man ggf. den
mode explizit per Option angeben.
Wenn es sich um Chemie handelt, ist aber natürlich die Wahl eines passenden Chemiepakets normalerweise noch sinnvoller.
Nun, du definierst hier: [code]\def_#1{\sb{\text{#1}}}[/code], dass das Argument von [tt]_[/tt] [b]immer[/b] als Text gesetzt werden soll. Wenn du dann Befehle wie [tt]\infty[/tt] angibst, die nach dem Mathemodus verlangen, musst du den natürlich explizit wieder einschalten. Das zeigt auch, dass eine solche Definition nicht unbedingt sinnvoll ist. Besser ist, wenn man [tt]_[/tt] unangetastet lässt und für die Texttieferstellung einen Befehl verwendet. Natürlich kannst du auch den umgekehrten Weg gehen und [tt]_[/tt] umdefinieren, dann aber für tiefgestellte Mathematik immer [tt]\sb[/tt] verwenden:
[code]
\documentclass{article}
\usepackage{amsmath}
\catcode`\_=\active
\def_#1{\sb{\text{#1}}}
\begin{document}
\begin{align}
c\sb{\infty}
\end{align}
\end{document}
[/code]
Achja: Du solltest auch bei [tt]_[/tt] und [tt]^[/tt] Argumentklammern verwenden. Wenn man sich nicht sehr gut auskennt, geht das sonst recht schnell schief. Und einige Leute, die noch vor ein paar Jahren dachten, sie würden das beherrschen, sind letztens durch eine LaTeX-Änderung gewaltig auf die Nase gefallen. Das kann man durch Konsequenz vermeiden.
Wenn man schon mit Befehlen arbeitet und intensiv von tiefer gestelltem Text Gebrauch macht, bietet sich auch die Verwendung eines Pakets wie [ctan]spbmark[/ctan] an. Dann kann man ggf. den [tt]mode[/tt] explizit per Option angeben.
Wenn es sich um Chemie handelt, ist aber natürlich die Wahl eines passenden Chemiepakets normalerweise noch sinnvoller.