Seite 1 von 1
Abstand vor DeclareMathOperator wegbekommen
Verfasst: Mo 26. Mai 2014, 21:58
von Dimitri
Hallo liebe Latex-Freunde,
kann Mir jemand zeigen, wie ich den Leerraum VOR "declaremathoperator" wegkriege? Habe u.a. schon im amsmath.pdf nachgeschaut, aber leider nix gefunden.
\documentclass[fontsize=12pt]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\DeclareMathOperator*{\test}{test}
\begin{document}
\begin{equation}
Abstand(VOR) \test Abstand(NACH)
\end{equation}
\end{document}
Lieben Dank

Verfasst: Mo 26. Mai 2014, 22:18
von esdd
Zum Beispiel
\documentclass[fontsize=12pt]{scrreprt}
\usepackage{amsmath}
\newcommand{\test}{\mathrm{}\!\operatorname*{test}}
\begin{document}
\begin{equation}
Abstand(VOR) \test_i Abstand(NACH)
\end{equation}
\end{document}
Gruß
Elke
Edit: \operatorname* statt \mathop
Verfasst: Mo 26. Mai 2014, 22:33
von Dimitri
Danke,
aber was ist der Unterschied dazu?
\documentclass[fontsize=12pt]{scrreprt}
\usepackage{amsmath}
\DeclareMathOperator*{\test}{\!test}
\DeclareMathOperator*{\test1}{test}
\begin{document}
\begin{equation}
Abstand(VOR) \test Abstand(NACH)~bzw.\\
Abstand(VOR) \!\test1 Abstand(NACH)
\end{equation}
\end{document}
Oder gibt es keinen?
PS: Das mathrm{} soll doch dazu:
\newcommand{\test}{\!\mathop{\mathrm{test}}}
dienen, oder?
LG
Verfasst: Mo 26. Mai 2014, 23:57
von esdd
Ich hab den Code oben geändert und statt \mathop jetzt \operatorname* stehen.
Bei Latex gibt es im Mathematiksatz unterschiedliche Zeichenklassen: reguläre Zeichen, Operatoren, binäre Operatoren, Relationszeichen, öffnende Zeichen, schließende Zeichen und Interpunktionen. Welcher Abstand zwischen zwei Zeichen eingefügt wird, ist abhängig davon, welcher Klasse das linke und welcher Klasse das rechte Zeichen angehören.
Ich habe dich so verstanden, dass \test wenn es rechts steht als normles (reguläres) Zeichen behandelt werden soll. Dafür sorgt das \mathrm{}. Wenn es dagegen links steht, soll es den für einen Operator üblichen Abstand bekommen. Nun würde aber zwischen dem normalen Zeichen \mathrm{} und dem eigentlichen Operator immer ein \thinmuskip eingefügt, was mit \! korrigiert werden muss.
Solange nur normale Zeichen vor dem \test stehen sieht man tatsächlich keinen Unterschied. Sobald aber ein Relationszeichen, eine öffnende Klammer oder ein anderer Operator davor stehen, wird der Unterschied sichtbar:
\documentclass[fontsize=12pt]{scrreprt}
\usepackage{amsmath}
\newcommand{\test}{\mathrm{}\!\operatorname*{test}}
\DeclareMathOperator*{\Test}{\!test1}
\begin{document}
\begin{align}
&Abstand(VOR) \test Abstand(NACH)\\
&Abstand(VOR) \Test Abstand(NACH)\\
&=x\\
&=\test\\
&=\Test\\
&(x\\
&(\test\\
&(\Test\\
&*x\\
&*\test\\
&*\Test
\end{align}
\end{document}
Gruß
Elke
Verfasst: Di 27. Mai 2014, 08:34
von Dimitri
Super, vielen Dank für die ausführliche Info!
Könntest du Mir die Quelle nennen, in der das mit den Abständen davor bzw. danach steht? Habe bei amsmath.pdf nix dazu gefunden.
LG
Verfasst: Di 27. Mai 2014, 10:05
von esdd
Das mit dem Leerraum zwischen den verschiedenen Matheelementen wird schon vom Standard LaTeX bereitgestellt. Man kann das im Buch
Mathematiksatz mit LaTeX von Herbert Voß oder im
LaTeX-Begleiter nachlesen, wobei sich das sicher auch in irgendwelchen freien Quellen findet. Aber danach habe ich bisher nicht gesucht, weil die Bücher für mich ausreichen und bequemer sind.
Gruß
Elke
Verfasst: Di 27. Mai 2014, 10:17
von Dimitri
Danke vielmals!