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, 12:06

Student's gravatar image

Student
4702577103
Akzeptiert: 96%


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, 12:23

stefan's gravatar image

stefan ♦♦
5.8k12134

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, 14:13

Clemens's gravatar image

Clemens
19.0k112960

bearbeitet 17 Aug '13, 14:25

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×13
×6
×1

Frage gestellt: 17 Aug '13, 12:06

Frage wurde angeschaut: 2,773 Mal

Zuletzt aktualisiert: 17 Aug '13, 14:25