Diese Frageerklärt den Unterschied zwischen \over
und \frac
und es scheint, als ob die erfahrensten Mitglieder einstimmig der Meinung sind, dass \over
minderwertig ist (wenn nicht sogar etwas, das man ausgesprochen bedauern sollte); das Beispiel von egreg veranschaulicht zwar ein potenzielles Problem, reicht jedoch nicht ganz aus, um mich von der Praktikabilität von abzubringen \over
.
Ich habe diesen Befehl gerade erst entdeckt und ihn noch nirgends implementiert, finde ihn aber sehr reizvoll, weil er praktisch ist und man nicht überall Trennzeichen verwenden muss (insbesondere, weil ich Ausdrücke stark farbkodiere, wodurch auch die Anzahl der Trennzeichen steigt).
Ich vertraue auf die Erfahrung dieser Gemeinschaft, möchte aber, wenn möglich, verstehen, welche Art vonpraktisch\over
Probleme, die bei der gelegentlichen Verwendung von im Umgang mit einfachen Ausdrücken auftreten können ?
Weilpraktischsubjektiv ist, werde ich versuchen, die beabsichtigte Maßnahme anhand des Beispiels von egreg zu veranschaulichen: Er veranschaulichte den Unterschied in der Darstellung zwischen:
\[
\fam0 a \over b
\]
Und
\[
\frac{\fam0 a}{b}
\]
Sollte ein solches Problem auftreten, lässt es sich für meine Zwecke leicht lösen, indem ich verwende \frac
. Dieses Beispiel veranschaulicht also eineMangel und der Bedarf nach \over
etwas Robusterem, stellt es für mich keinen Grund dar, darauf zu verzichten, \over
wenn es das gewünschte Ergebnis liefert.
Antwort1
InDas TeX-Tuning von 2014(TUGboat, Band 35 (2014), Nr. 1), in dem alle Änderungen an TeX auf der Grundlage der in den Jahren 2008 bis 2013 eingegangenen Kommentare erörtert werden (alle Änderungen = eine einzige Änderung:siehe diese Frage), beantwortet Donald Knuth eine Frage zu \over
versus \frac
und ähnlichem:
Fragen und Antworten Barbara [Beeton] bat mich außerdem, drei Fragen zu beantworten, die ihrer Aussage nach „immer wieder in verschiedenen Foren auftauchen“, sodass sie die Leute auf die Antworten hinweisen könne, wenn diese Fragen erneut auftauchen.
[…]
(2) Wenn Sie heute TeX entwickeln würden, würden Sie immer noch
\over
und Freunde verwenden, statt etwas wie\frac{...}{...}
, wenn Letzteres die Notwendigkeit von\mathchoice
und vermeiden würde\mathpalette
?Diese Frage aus
tex.stackexchange.com
, auch zitiert von Seite 151 von [Das TeXbook]:
\mathchoice
ist hinsichtlich Zeit und Platz relativ kostspielig und Sie sollten es nur verwenden, wenn Sie bereit sind, den Preis zu zahlen.Und ich schätze, dieses Zitat impliziert meine Antwort. Denn ich war 1982 eindeutig bereit, den Preis zu zahlen, also bin ich heute ganz sicher bereit, null zu zahlen!
Ich nehme an, dass es einige Leute auf der Welt gibt, die Ausdrücke wie 'Summe(2, 3)' gegenüber '2 + 3' bevorzugen; aber ich gehöre bestimmt nicht dazu. Seit es TeX gibt, bin ich enorm erfreut darüber, dass ich '
2\over3
' oder 'n\choose k
' oder 'p\atop q
' oder ··· schreiben kann, anstatt gezwungen zu sein, etwas wie ' ' zu schreiben,frac{2}{3}
das meine Aufmerksamkeit von der eigentlichen Aufgabe abgelenkt hätte.Der Fragesteller scheint die Last lieber allen Benutzern aufbürden zu wollen, als einigen wenigen Makroentwicklern.
Wenn Sie sich die Definition von in LaTeX ansehen \frac
(die Sie aufrufen können, texdoc source2e
um sie zu lesen), werden Sie feststellen, dass sie wie folgt lautet:
(Sie finden diese Definition auch
\def\frac#1#2{{\begingroup#1\endgroup\over#2}}
in texmf-dist/source/latex/base/ltmath.dtx
, oder mit \show
, oder was auch immer.)
Wenn Sie also etwas \frac{a}{b}
in ein Dokument eingeben, ist es genau so, als hätten Sie Folgendes eingegeben:
{\begingroup a \endgroup\over b}
Die Verwendung von hat nichts Besonderes oder Magisches an sich \frac
. Und wenn in einem bestimmten (typischen) Kontext \begingroup
und nicht benötigt werden (d. h. ohne sie wird dieselbe Ausgabe erzeugt), können Sie sie weglassen, und das Gleiche gilt für die äußeren Klammern, sodass es in diesem Fall \endgroup
dem Schreiben von entspricht .a \over b
Also, was Ihre Frage betrifft:
Sollte ein solches Problem auftreten, lässt es sich für meine Zwecke leicht lösen, indem ich verwende
\frac
. Dieses Beispiel veranschaulicht also eineMangelund der Bedarf nach\over
etwas Robusterem, stellt es für mich keinen Grund dar, darauf zu verzichten,\over
wenn es das gewünschte Ergebnis liefert.
es gibt einfach keinen praktischen Unterschied der Art, nach der Sie suchen: Wenn \over
die gewünschte Ausgabe erzielt wird, sind sie gleichwertig; der einzige Grund für die Verwendung \frac
besteht darin, dass sie manchmal nicht gleichwertig sind und \over
zu einer unerwünschten Ausgabe führen können.
Zusammenfassend lässt sich also sagen, dass Sie zwischen zwei Optionen wählen können:
Ihnen gefällt die
\frac
Syntax. Dann verwenden Sie sie und freuen Sie sich, dass Sie sich keine Sorgen machen müssen, versehentlich die falsche Ausgabe zu erhalten und dass Sie den ausführlichen Syntaxkonventionen von LaTeX „konsistent“ sind.Ihnen gefällt die
\over
Syntax. Dann verwenden Sie sie und gratulieren Sie sich selbst zu der einfacheren Syntax (die auch Knuth bevorzugt). Und wenn Sie jemals versehentlich eine falsche Ausgabe erhalten, bemerken Sie es einfach und korrigieren Sie es. Sagen Sie sich, dass es keine große Sache ist.
Wenn Sie nach „praktischen Konsequenzen“ fragen und sagen, Sie
Ich kann mir keinen Kontext vorstellen, in dem die Verwendung
\over
ein Problem verursachen würde, das nicht durch die Verwendung von\frac
für diesen Fall gelöst werden könnte.
Ich weiß nicht, welche Art von Antwort Sie suchen, da es keinen solchen Kontext gibt.per Definition(von \frac
): Wenn in einem bestimmten Kontext \over
eine falsche Ausgabe erfolgt, können Sie dies jederzeit durch Hinzufügen von Klammern oder Gruppen oder auch durch die Verwendung von korrigieren \frac
. Dafür ist es da.
Antwort2
\over
Die Verwendung in einem LaTeX-Dokument bietet keine Vorteile .
Ein Hauptziel von LaTeX ist es, eine konsistente Syntax für eine Tex-basierte Auszeichnung bereitzustellen, mit obligatorischen Argumenten und {}
optionalen Argumenten []
usw., also \rule{2pt}{3pt}
nicht \hrule width 2pt height 3pt
. Die Verwendung \over
unterbricht das vollständig.
Bei Verwendung \over
mit amsmath
geladen erhalten Sie die Warnung
Package amsmath Warning: Foreign command \over;
(amsmath) \frac or \genfrac should be used instead
(amsmath) on input line 6.
Eigentlich schade, dass es sich nur um eine Warnung und nicht um einen Fehler handelt, dafür waren wir und die AMS damals einfach nicht mutig genug :-)
Praktisch gesehen funktioniert es natürlich \over
in den meisten Fällen innerhalb von TeX, es sei denn, ein Paket wird mutiger und definiert es nicht. Die Tatsache, dass es nicht denselben Syntaxregeln folgt, hat jedoch ihren Preis, insbesondere bei TeX-zu-HTML- und anderen Konvertern. Ohne die Verwendung einer vollständigen TeX-Ausführungs-Engine ist es ziemlich schwierig, die Argumente zu kennen, \over
und dies erschwert die Arbeit von Konvertern, die dies möglicherweise überhaupt nicht oder nur in einfachen Fällen unterstützen.
Wenn Sie der Meinung sind, dass die \over
Syntax einfacher ist, beantworten Sie die folgende Frage, bevor Sie das Beispiel ausführen.
Wie hoch ist der Bruchteil in jedem dieser Fälle?
\documentclass{article}
\begin{document}
$ 1 + \begingroup a \over b \endgroup + 2$
$ 1 + \bgroup a \over b \egroup + 2$
$ 1 + { a \over b \egroup + 2$
$ 1 + \bgroup a \over b } + 2$
\end{document}