Abstand vor DeclareMathOperator wegbekommen

Formelsatz für Mathematik, Naturwissenschaften und Technik


Dimitri
Forum-Guru
Forum-Guru
Beiträge: 418
Registriert: Fr 22. Mär 2013, 16:50

Abstand vor DeclareMathOperator wegbekommen

Beitrag 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 :-)

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag 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
Zuletzt geändert von esdd am Mo 26. Mai 2014, 23:49, insgesamt 2-mal geändert.

Dimitri
Forum-Guru
Forum-Guru
Beiträge: 418
Registriert: Fr 22. Mär 2013, 16:50

Beitrag 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

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag 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

Dimitri
Forum-Guru
Forum-Guru
Beiträge: 418
Registriert: Fr 22. Mär 2013, 16:50

Beitrag 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

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag 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

Dimitri
Forum-Guru
Forum-Guru
Beiträge: 418
Registriert: Fr 22. Mär 2013, 16:50

Beitrag von Dimitri »

Danke vielmals!

Antworten