Ausrichten am "=" "trotz" overset

Formelsatz für Mathematik, Naturwissenschaften und Technik


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

Ausrichten am "=" "trotz" overset

Beitrag von Dimitri »

Hallo Leute,
gibt es eine Möglichkeit, die Gleichheitszeichen in einer align-Umgebung trotz unterschiedlicher Längen über den "oversets" untereinander auszurichten? Wäre echt toll, wenn Mir jemand helfen könnte.
\documentclass{article}
\usepackage{amsmath}

\begin{document}
\begin{align*}
1 & \overset{test}{=} 2\\
  & \overset{nocheintest}{=} 3
\end{align*}
\end{document}
LG, Dimitri

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

Beitrag von esdd »

Da die Gleichungen nicht nummeriert werden, wäre die Verwendung von array eine Möglichkeit:
\documentclass{article} 
\usepackage{amsmath}
\begin{document} 
\[\begin{array}{r@{}c@{}l}
   1 &{}\overset{test}{=}{}&2\\ 
     &{}\overset{nocheintest}{=}{}&3\\
\end{array}\]
\end{document}
Gruß
Elke

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

Beitrag von Dimitri »

Danke! :-) Aber was, wenn ich sie nummerieren wollte? Geht das mit einer original align-Umgebung?

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

Beitrag von esdd »

Möchtest Du den ganzen Gleichungsblock mit einer Nummer entweder mittig oder in der obersten oder in der untersten Zeile nummerieren? Das ginge zum Beispiel mit
\documentclass{article} 
\usepackage{amsmath}
\begin{document} 
\begin{equation}\begin{array}[b]{r@{}c@{}l}
   1 &{}\overset{test}{=}{}&2\\ 
     &{}\overset{nocheintest}{=}{}&3\\
\end{array}\end{equation}
\end{document}
Das optionale Argument b bei array sorgt dafür, dass die Nummer hinter der untersten Zeile steht. Mit t würde sie dagegen hinter der ersten Zeile stehen und mit c (voreingestellt) mittig.

Wenn Du jede Zeile nummerieren möchtest, dann muss man vermutlich eine andere Lösung suchen.

Gruß
Elke

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

Beitrag von Dimitri »

Vielen Dank.

Ja, eine Gleichungsnummer in der letzten Zeile würde bei Mir genügen. Das Problem ist nur, dass ich scrreprt benutze und eine Zeile "recht lang" ist, sodass die Gleichungsnummer "nach unten" rutscht. Lässt sich das noch irgendwie geradebiegen? (Oder anders lösen)
\documentclass{scrreprt}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\begin{array}[b]{r@{}c@{}l}
   1 &{}\overset{test}{=}{}&2\\
     &{}\overset{nocheintest}{=}{}&123456789\ 123456789\ 123456789\ 123456789\ 123456789\ 123456789\ 123\\
     &{}\overset{nocheintest}{=}{}&3\\
\end{array}
\end{equation}
\end{document}
LG,
Dimitri

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

Beitrag von esdd »

Es gibt da schon Möglichkeiten. Ob und welche sich eignet, hängt von der konkreten Formel ab:
\documentclass{scrreprt} 
\usepackage{mathtools}% lädt auch amsmath 
\begin{document}
% aufsplitten der zu langen Zeile, evtl. mit \phantom ausrichten
\begin{equation} 
\begin{array}[b]{r@{}c@{}l} 
    1 &{}\overset{test}{=}{}&2\\ 
      &{}\overset{nocheintest}{=}{}&123456789\ 123456789\ 123456789\\
      &&\phantom{123456789\ }123456789\ 123456789\ 123456789\ 123\\ 
      &{}\overset{nocheintest}{=}{}&3\\ 
\end{array} 
\end{equation}
% Verschieben des Tags, funktioniert nicht mit equation
\begin{gather}\raisetag{\baselineskip}
\begin{array}[b]{r@{}c@{}l} 
    1 &{}\overset{test}{=}{}&2\\ 
      &{}\overset{nocheintest}{=}{}&123456789\ 123456789\ 123456789\ 123456789\ 123456789\ 123456789\ 123\\ 
      &{}\overset{nocheintest}{=}{}&3\\ 
\end{array} 
\end{gather}
% "Verstecken" der Breite eines Teils der zu langen Formel mit Hilfe von \mathrlap.
% Dann muss diese aber flalign verwendet werden und die gesamte Gleichung 
% linksbündig ausgerichtet werden. Zu beachten ist, dass keine Warnung 
% erfolgt, falls die Gleichung in den Rand ragt.
\begin{flalign} 
&\begin{array}[b]{r@{}c@{}l} 
    1 &{}\overset{test}{=}{}&2\\ 
      &{}\overset{nocheintest}{=}{}&123456789\ 123456789\ 123456789\ 123456789\ 123456789\ \mathrlap{123456789\ 123}\\ 
      &{}\overset{nocheintest}{=}{}&3\\ 
\end{array}&
\end{flalign}
\end{document}
Gruß
Elke

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

Beitrag von Dimitri »

Hallo Elke,

noch ein (hoffentlich) letztes Problem dazu:
Wenn es nun noch möglich wäre, den "tag" entsprechend in vertikaler Richtung zu verschieben - das passt nämlich so nicht ganz:
\documentclass{scrreprt}
\usepackage{mathtools}% lädt auch amsmath
\usepackage{array}
\begin{document}
% Verschieben des Tags, funktioniert nicht mit equation
\begin{gather}\raisetag{\baselineskip}
\begin{array}[b]{r@{}c@{}>{\displaystyle}l}
    1 &{}\overset{test}{=}{}&2\\
      &{}\overset{nocheintest}{=}{}&123456789\ 123456789\ 123456789\ 123456789\ 123456789\ 123456789\ 123\\
      &{}\overset{nocheintest}{=}{}&3\sum_{n=0}^{1}2\\
\end{array}
\end{gather}
\end{document}
LG,
Dimitri

Besserwisser

Beitrag von Besserwisser »

Dann pass den Wert der Verschiebung doch passend an, beispielsweise:
\documentclass{scrreprt}
\usepackage{mathtools}% lädt auch amsmath
\usepackage{array}
\begin{document}
% Verschieben des Tags, funktioniert nicht mit equation
\begin{gather}\raisetag{1.5\baselineskip}% Hier nach Bedarf anpassen!
\begin{array}[b]{r@{}c@{}>{\displaystyle}l}
    1 &{}\overset{test}{=}{}&2\\
      &{}\overset{nocheintest}{=}{}&123456789\ 123456789\ 123456789\ 123456789\ 123456789\ 123456789\ 123\\
      &{}\overset{nocheintest}{=}{}&3\sum_{n=0}^{1}2\\
\end{array}
\end{gather}
\end{document}

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

Beitrag von Dimitri »

Hallo,

das ist Mir schon klar, aber der Faktor 1.5 ist doch eher geraten, oder? Der "tag" sollte schon EXAKT dort stehen, wo er etwa bei einer entsprechenden align-Umgebung auch stehen würde. Nur wie ich GENAU DAS hinbekommen kann, weiß ich leider nicht (und ich habe da bisher auch nix zu gefunden).

Besserwisser

Beitrag von Besserwisser »

Dazu müsste man die Tiefe der letzten Zeile ausmessen. Da das Verschieben ohnehin eine manuelle Aktion ist, ist es leichter auch gleich den Wert dafür manuell zu bestimmen. Ich hatte für so etwas mal eine Folie, die ich mit verschiedenen typografischen Rastern bedruckt hatte.

Antworten