Tiefgestellte Schrift dauerhaft gerade schreiben

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Stockente
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Mi 19. Okt 2022, 15:26

Tiefgestellte Schrift dauerhaft gerade schreiben

Beitrag von Stockente »

Guten Tag,
Ich studiere momentan Chemie und muss daher ziemlich viele Variabeln mit tief geschriebenen Buchstaben/ Zeichen definieren. Diese müssen normal geschrieben sein. Die Standardeinstellung ist jedoch kursiv. Ich habe vor einiger Zeit einen Code gefunden mit dem ich die Einstellung auf geraden Text geändert habe.
Nur habe ich damit noch ein kleines Problem. Durch diese neue Definition kann ich keine Befehle mehr tiefschreiben. Das brauche ich um z.B. Unendlichzeichen zu schreiben.
Ich kenne mich leider nicht gut genug aus und habe den Code den ich momentan nutze auch nicht vollständig verstanden. Hat jemand eine Lösung für mich in der das tiefgeschriebene sowohl normal geschrieben ist, ich aber auch noch Befehle nutzen kann?

Dies ist der Code den ich momentan dafür nutze:
 \catcode`\_=\active
\def_#1{\sb{\text{#1}}}
Minimalbeispiel:
\documentclass{article}
\usepackage{amsmath}
\catcode`\_=\active
\def_#1{\sb{\text{#1}}}
\begin{document}
\begin{align}
    c_A
\end{align}
\end{document}
So funktioniert alles genau wie ich es will, das A ist normal geschrieben und nicht kursiv.
\documentclass{article}
\usepackage{amsmath}
\catcode`\_=\active
\def_#1{\sb{\text{#1}}}
\begin{document}
\begin{align}
    c_\infty
\end{align}
\end{document}
Wenn ich jedoch einen Befehl dort eingebe, lässt sich die PDF nicht mehr kompilieren.
Zuletzt geändert von Stockente am Mi 19. Okt 2022, 18:31, insgesamt 5-mal geändert.

ich meine ja nur

Re: Tiefgestellte Schrift dauerhaft gerade schreiben

Beitrag von ich meine ja nur »

Du suchst vordergründig eventuell nach \textsubscript. Tatsächlich suchst du aber vermutlich eher nach einem Chemiepaket , allen voran chemmacros.

Dessen ungeachtet empfehle ich, bei weiteren oder konkreten Fragen immer ein Minimalbeispiel mit anzugeben, mit dem wir das Problem direkt nachvollziehen und an dem wir unsere Lösungsideen direkt testen können.

Stockente
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Mi 19. Okt 2022, 15:26

Re: Tiefgestellte Schrift dauerhaft gerade schreiben

Beitrag von Stockente »

Danke für die Antwort. Habe das Minimalbeispiel direkt ergänzt.
Chemmacros gucke ich mir jetzt mal genauer an, scheint aber nen super Tipp zu sein.

ich meine ja nur

Re: Tiefgestellte Schrift dauerhaft gerade schreiben

Beitrag von ich meine ja nur »

Nun, du definierst hier:
\def_#1{\sb{\text{#1}}}
, 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.

Antworten