In diesem Minimalbeispiel

\documentclass{article}
\begin{document}
$X^\mbox{e}$
\end{document}

erhalte ich den Fehler:

! Missing { inserted.
<to be read again> 
                   \unhbox 
l.3 $X^\mbox{e}
               $

Damit kriege ich das ähnlich und fehlerfrei hin:

\documentclass{article}
\usepackage{relsize}
\begin{document}
$X^\mathlarger{\mathrm{e}}$
\end{document}

Ich hab hier auch nicht mehr geschweifte Klammern, außer drinnen wegen des zusätzlichen \mathrm. Warum kommt der Fehler mit \mbox?

gefragt 17 Aug '13, 18:06

Student's gravatar image

Student
5807779104
Akzeptiert-Rate: 82%


Zwar könnnen Makros direkt im Exponenten oder Index funktionieren, wie Du am \mathlarger siehst, doch nicht immer: hier muss \mbox noch in geschweifte Klammern gefasst werden:

$X^{\mbox{e}}$

Am besten verwende in Index und Exponent stets Klammern, selbst wenn es nur eine Ziffer oder eine Variable ist, wo es ohne Klammern funktioniert, oder ein Makro, womit es gerade geht. Das wäre konsistent und nicht fehleranfällig bei Änderungen.

Permanenter link

beantwortet 17 Aug '13, 18:23

stefan's gravatar image

stefan ♦♦
18.1k143048
Akzeptiert-Rate: 48%

Stefan hat schon die praktische Lösung gezeigt. Darum hier ein bisschen zur Fehlerursache.

Du hast mit \mathlarger Glück. Dass das funktioniert, ist womöglich (wenn nicht gar wahrscheinlich) gar nicht vom Autor von relsize geplant, und nur ein glücklicher Umstand, der an Art liegt, wie \mathlarger definiert ist.

Die richtige und empfohlene Syntax ist für LaTeX ...^{<superscript>}, also mit geschweiften Klammern um die Hochstellung. Bei einer Konstruktion wie ...^\foo{bar} sollte man immer damit rechnen, dass nur \foo als Exponent verwendet wird und so wirkt, als hätte man ...^{\foo}{bar} eingegeben. (Die eigentliche Frage ist daher eher: „Wieso kommt der Fehler nicht mit \mathlarger“?) Bei einzelnen Ziffern wie x^2 ist es zwar oft üblich, die Klammern wegzulassen (manche -- mich eingeschlossen -- halten das in solchen Fällen auch für besser lesbar), aber man sollte sich das nicht als Standardsyntax angewöhnen.

Es gibt den einen oder anderen Befehl im LaTeX-Kernel, der extra dafür designt wurde, damit er auch ohne Klammern verwendet kann. Das ist allerdings nicht geschehen, um diese Syntax zu empfehlen, sondern der Tatsache geschuldet, dass Anwender Empfehlungen aus welchen Gründen auch immer gerne mal ignorieren. Zitat David Carlisle:

users ignoring the rules in the LaTeX book and not always bracing arguments can cause problems and limit the scope of package designers. (The standard LaTeX2e \frac and \mathrm and friends were explicitly designed to cope with that unbraced superscript use, on the grounds that keeping users happy was probably better than assuming they followed instructions.)

Die Klammern in einem Fall wie $x^\frac{1}{2}$ funktioniert zwar im Standard-LaTeX, wird aber problematisch, sobald ein Paket ^ als aktiven Charakter umdefiniert, während $x^{\frac{1}{2}}$ weiterhin funktionieren würde.

Permanenter link

beantwortet 17 Aug '13, 20:13

cgnieder's gravatar image

cgnieder
22.1k243463
Akzeptiert-Rate: 60%

bearbeitet 17 Aug '13, 20:25

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×15
×7
×1

gestellte Frage: 17 Aug '13, 18:06

Frage wurde gesehen: 10,211 Mal

zuletzt geändert: 17 Aug '13, 20:25