Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

23 Jun '13, 20:03

cgnieder's gravatar image

cgnieder
22.1k253463

**Edit:** Aus den Kommentaren geht hervor, dass ich mich in meinem Eifer, [Enrico Gregorios Kampange gegen die Verwendung von `\ensuremath{}` wo es keinen zusätzlichen Nutzen bringt][1], bringt][1] zu unterstützen, offenbar nicht klar genug ausgedrückt habe. An sich richtet `\ensuremath{}` keinen Schaden an. Es gibt im Gegenteil eine Reihe von Anwendungsbeispielen, wo es durchaus von Nutzen ist, etwa die Definition eines Befehls zum Setzen chemischer Summenformeln \newcommand*\chem[1]{\ensuremath{\mathrm{#1}}} oder bei Symbolen für ein Symbolverzeichnis mit [`glossaries`](http://www.ctan.org/pkg/glossaries) oder [`acronym`](http://www.ctan.org/pkg/acronym). Wenn man sich aber Makros wie \newcommand\tx{\ensuremath{\tilde{x}}} definiert, dass einem nur ersparen soll, dauernd `\tilde{x}` zu schreiben (was grundsätzlich eine sehr gute Idee ist!), dann sehe ich den Vorteil nicht. Setzt man es im Text ein, so spart man sich ganze zwei Zeichen (zweimal `$`), verliert aber die klare Kennzeichnung von `\tx` als mathematisches Symbol im Quelltext und handelt sich zusätzlich die Gefahr ein, dass man vergisst, `\tx\ ` oder `\tx{} ` zu schreiben, damit das folgende Leerzeichen nicht verschluckt wird. Zudem verführt es dazu, faul zu sein und längere mathematische Ausdrücke nicht im Mathemodus zu schreiben, wo er aber unbedingt einzusetzen ist (etwa `$\tx + \tx = n$` oder etwas dergleichen -- alles schon gesehen). Das im Hinterkopf soll jeder selbst entscheiden, ob er `\ensuremath` verwenden mag oder nicht. :) ---------- **Originalantwort:** Meiner Meinung nach sollte man sich `\ensuremath{}` für Makros aufheben, die nichts mit Mathematik zu tun haben, aber den Mathe-Modus verwenden, z.B. ein einfaches Makro zum setzen chemischer Summenformeln \newcommand*\chem[1]{\ensuremath{\mathrm{#1}}} Für mathematische Symbole sollte man besser darauf verzichten und die Fehlermeldung, die man erhält, weil man `\( ... \)` vergessen hat, wohlwollend in Kauf nehmen. `\ensuremath` verführt sonst dazu, faul zu sein, und den expliziten Wechsel in den Mathe-Modus zu unterlassen. Zum einen ist dann aber im Quelltext nicht mehr klar, dass gerade ein mathematisches Symbol verwendet wurde (und sollte es bei LaTeX nicht _auch_ um logisches Markup gehen?) und zum anderen können einem dann falsche oder auch einfach inkonsitente Abstände passieren: \documentclass{article} \usepackage{libertine} \newcommand\tx{\ensuremath{\tilde{x}}} \newcommand\txx{\tilde{x}} \begin{document} \noindent \(\txx + \txx\)\\ \tx{} + \tx% ohne \ensuremath wäre das nicht passiert \end{document} ![Ergebnis][2] [1]: http://tex.stackexchange.com/questions/34818/declaremathoperator-wont-take-arguments/34822#comment69165_34822 [2]: http://i.imgur.com/zSz59sN.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2
Versuch, meine Ansicht klarer zu machen

23 Jun '13, 20:03

cgnieder's gravatar image

cgnieder
22.1k253463

**Edit:** Aus den Kommentaren geht hervor, dass ich mich in meinem Eifer, [Enrico Gregorios Kampange gegen die Verwendung von `\ensuremath{}` wo es keinen zusätzlichen Nutzen bringt][1], offenbar nicht klar genug ausgedrückt habe. An sich richtet `\ensuremath{}` keinen Schaden an. Es gibt im Gegenteil eine Reihe von Anwendungsbeispielen, wo es durchaus von Nutzen ist, etwa die Definition eines Befehls zum Setzen chemischer Summenformeln \newcommand*\chem[1]{\ensuremath{\mathrm{#1}}} oder bei Symbolen für ein Symbolverzeichnis mit [`glossaries`](http://www.ctan.org/pkg/glossaries) oder [`acronym`](http://www.ctan.org/pkg/acronym). Wenn man sich aber Makros wie \newcommand\tx{\ensuremath{\tilde{x}}} definiert, dass einem nur ersparen soll, dauernd `\tilde{x}` zu schreiben (was grundsätzlich eine sehr gute Idee ist!), dann sehe ich den Vorteil nicht. Setzt man es im Text ein, so spart man sich ganze zwei Zeichen (zweimal `$`), verliert aber die klare Kennzeichnung von `\tx` als mathematisches Symbol im Quelltext und handelt sich zusätzlich die Gefahr ein, dass man vergisst, `\tx\ ` oder `\tx{} ` zu schreiben, damit das folgende Leerzeichen nicht verschluckt wird. Zudem verführt es dazu, faul zu sein und längere mathematische Ausdrücke nicht im Mathemodus zu schreiben, wo er aber unbedingt einzusetzen ist (etwa `$\tx + \tx = n$` oder etwas dergleichen -- alles schon gesehen). Das im Hinterkopf soll jeder selbst entscheiden, ob er `\ensuremath` verwenden mag oder nicht. :) ---------- **Originalantwort:** Meiner Meinung nach sollte man sich `\ensuremath{}` für Makros aufheben, die nichts mit Mathematik zu tun haben, aber den Mathe-Modus verwenden, z.B. ein einfaches Makro zum setzen chemischer Summenformeln \newcommand*\chem[1]{\ensuremath{\mathrm{#1}}} Für mathematische Symbole sollte man besser darauf verzichten und die Fehlermeldung, die man erhält, weil man `\( ... \)` vergessen hat, wohlwollend in Kauf nehmen. `\ensuremath` verführt sonst dazu, faul zu sein, und den expliziten Wechsel in den Mathe-Modus zu unterlassen. Zum einen ist dann aber im Quelltext nicht mehr klar, dass gerade ein mathematisches Symbol verwendet wurde (und sollte es bei LaTeX nicht _auch_ um logisches Markup gehen?) und zum anderen können einem dann falsche oder auch einfach inkonsitente Abstände passieren: \documentclass{article} \usepackage{libertine} \newcommand\tx{\ensuremath{\tilde{x}}} \newcommand\txx{\tilde{x}} \begin{document} \noindent \(\txx + \txx\)\\ \tx{} + \tx% ohne \ensuremath wäre das nicht passiert \end{document} ![Ergebnis][1] ![Ergebnis][2] [1]: http://tex.stackexchange.com/questions/34818/declaremathoperator-wont-take-arguments/34822#comment69165_34822 [2]: http://i.imgur.com/zSz59sN.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

23 Jun '13, 15:20

cgnieder's gravatar image

cgnieder
22.1k253463

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×