Seite 1 von 1
					
				Wechsel zwischen \leqno und \reqno, \fleqn, uvm.
				Verfasst: Fr 27. Mär 2009, 17:08
				von JustIce
				Hallo zusammen,
ich nutze das AMS-LaTeX Mathematik-Paket und würde gerne bestimmte Gleichungen links nummerieren statt wie die restlichen standardmäßig rechts.
Es geht also um einen dynamischen Wechsel zwischen \leqno und \reqno.
Ist das überhaupt möglich? Falls ja, wie?
Falls nein, gibt es Ausweichmöglichkeiten (andere Pakete)?
Vielen Dank im Voraus für eure Hilfe,
Justus
			 
			
					
				Re: Wechsel zwischen \leqno und \reqno
				Verfasst: Fr 27. Mär 2009, 19:26
				von Gast
				JustIce hat geschrieben:ich nutze das AMS-LaTeX Mathematik-Paket und würde gerne bestimmte Gleichungen links nummerieren statt wie die restlichen standardmäßig rechts.
Es geht also um einen dynamischen Wechsel zwischen \leqno und \reqno.
Ist das überhaupt möglich? Falls ja, wie?
\listfiles
\documentclass[a4paper]{article}
\usepackage{amsmath}
\makeatletter
\def\Links{\tagsleft@true}\def\Rechts{\tagsleft@false}
\makeatother
\begin{document}
\begin{align}
y=f(x) 
\end{align}
\Links
\begin{align}
y=f(x) 
\end{align}
\Rechts
\begin{align}
y=f(x) 
\end{align}
\end{document}
Herbert
 
			
					
				
				Verfasst: Fr 27. Mär 2009, 20:43
				von JustIce
				Super, das klappt einwandfrei! Vielen Dank.
Wenn ich das richtig verstehe, hast du einfach in der amsmath.sty nach dem entsprechenden Befehl geschaut und ihn dann angewendet.
Selbiges habe ich gerade mit 
fleqn versucht (also 
fleqn Ein- und Ausschalten):
\makeatletter
\def\leqno{\tagsleft@true}
\def\reqno{\tagsleft@false}
\def\fleqn{\@fleqntrue}
\def\cneqn{\@fleqnfalse}
\makeatother
Ausschalten gelingt mir damit ohne Probleme, allerdings klappt das Einschalten nicht so ohne Weiteres - die Gleichungen stehen dann nämlich ganz links am Rand, überhaupt nicht eingerückt.
Wenn ich auch die anderen Befehle aus der amsmath.sty verwende, kommt es jedoch zu einer Fehlermeldung (nach dem Motto "darf nur in der Präambel angewendet werden")...
    \@fleqntrue
    \@mathmargin = -1sp
    \let\mathindent=\@mathmargin
    \AtBeginDocument{%
        \ifdim\@mathmargin= -1sp
            \@mathmargin\leftmargini minus\leftmargini
        \fi
    }%
Wäre über einen zweiten Tipp sehr erfreut!
Grüßle
 
			
					
				
				Verfasst: Fr 27. Mär 2009, 20:50
				von JustIce
				Mir ist gerade noch aufgefallen, dass es unklug von mir war, die Befehle \leqn bzw. \reqn zu nennen, da dies bereits definiert ist.
Das beschriebene Problem ist davon allerdings unabhängig.
			 
			
					
				
				Verfasst: Fr 27. Mär 2009, 22:02
				von oliverinspace
				du solltest und das scheint hier der Fall, noch den Status auf beantwortet setzen.
			 
			
					
				
				Verfasst: Sa 28. Mär 2009, 09:45
				von Gast
				JustIce hat geschrieben:Mir ist gerade noch aufgefallen, dass es unklug von mir war, die Befehle \leqn bzw. \reqn zu nennen, da dies bereits definiert ist.
Das beschriebene Problem ist davon allerdings unabhängig.
mache komplette Beispiele und gib nicht nur Fragmente an!
Herbert
 
			
					
				
				Verfasst: Sa 28. Mär 2009, 10:45
				von JustIce
				\documentclass[a4paper]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[intlimits]{amsmath}
\makeatletter
\def\leqn{\tagsleft@true}
\def\reqn{\tagsleft@false}
\def\fleq{\@fleqntrue}
\def\cneq{\@fleqnfalse}
\makeatother
\begin{document}
\begin{equation}
x = y
\end{equation}
\leqn
\fleq
\begin{subequations} \label{eqn:test} \renewcommand{\theequation}{\roman{equation}} \begin{align}
F & = \sum_{i=1}^n x_n \, , \label{eqn:testa} \\
\tilde{F} & = \sum_{i=n+1}^m \tilde{x}_n \, . \label{eqn:testb}
\end{align} \end{subequations}
\addtocounter{equation}{-1}
\cneq
\reqn
\begin{equation}
x = y
\end{equation}
\end{document}
Kompiliert zwar ohne Probleme, aber das Einrücken stimmt nicht.
 
			
					
				
				Verfasst: Sa 28. Mär 2009, 11:32
				von Gast
				JustIce hat geschrieben:
Kompiliert zwar ohne Probleme, aber das Einrücken stimmt nicht.
\documentclass[a4paper]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[intlimits]{amsmath}
\makeatletter
\def\leqn{\tagsleft@true}
\def\reqn{\tagsleft@false}
\def\fleq{\@fleqntrue\let\mathindent\@mathmargin \@mathmargin=\leftmargini}
\def\cneq{\@fleqnfalse}
\g@addto@macro{\endsubequations}{\addtocounter{equation}{-1}}
\makeatother
\begin{document}
\begin{equation}
x = y
\end{equation}
\leqn
\fleq
\begin{subequations} \label{eqn:test} \renewcommand{\theequation}{\roman{equation}} \begin{align}
F & = \sum_{i=1}^n x_n \, , \label{eqn:testa} \\
\tilde{F} & = \sum_{i=n+1}^m \tilde{x}_n \, . \label{eqn:testb}
\end{align} 
\end{subequations}
\cneq
\reqn
\begin{equation}
x = y
\end{equation}
\end{document}
Herbert
 
			
					
				
				Verfasst: Sa 28. Mär 2009, 21:44
				von JustIce
				Danke erneut für deine Hilfe!
% some tests
\documentclass[a4paper]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[intlimits]{amsmath}
\usepackage{amssymb,amsthm}
\usepackage[pdftex]{hyperref}
\makeatletter
\def\leqn{\tagsleft@true}
\def\reqn{\tagsleft@false}
\def\fleq{\@fleqntrue \let\mathindent\@mathmargin \@mathmargin=\leftmargini}
\def\cneq{\@fleqnfalse}
%\g@addto@macro{\endsubequations}{\addtocounter{equation}{-1}}
\makeatother
\begin{document}
\begin{equation} \label{eqn:1}
x = y
\end{equation}
\leqn
\fleq
\begin{subequations} \label{eqn:test1} \renewcommand{\theequation}{\roman{equation}} \begin{align}
F & = \sum_{i=1}^n x_n \, , \label{eqn:test1a} \\
\tilde{F} & = \sum_{i=n+1}^m \tilde{x}_n \, . \label{eqn:test1b}
\end{align} \end{subequations}
\addtocounter{equation}{-1}
\cneq
\reqn
\begin{equation} \label{eqn:2}
x = y
\end{equation}
\begin{equation} \label{eqn:3}
x = y
\end{equation}
\leqn
\fleq
\begin{subequations} \label{eqn:test2} \renewcommand{\theequation}{\roman{equation}} \begin{align}
F & = \sum_{i=1}^n x_n \, , \label{eqn:test2a} \\
\tilde{F} & = \sum_{i=n+1}^m \tilde{x}_n \, . \label{eqn:test2b}
\end{align} \end{subequations}
\addtocounter{equation}{-1}
\cneq
\reqn
\begin{equation} \label{eqn:4}
x = y
\end{equation}
\eqref{eqn:1} \eqref{eqn:2} \eqref{eqn:3} \eqref{eqn:4}
\eqref{eqn:test1} \eqref{eqn:test1a} \eqref{eqn:test1b}
\eqref{eqn:test2} \eqref{eqn:test2a} \eqref{eqn:test2b}
\end{document}
Compiler sagt:
pdfTeX warning (ext4): destination with the same identifier (name{equation.0.2}) has been already used, duplicate ignored
Das Problem ist das Dekrementieren des Zählers...
(Deine Makro-Erweiterung habe ich erstmal auskommentiert, weil ich den Code nicht so gut verstehe. Kannst du mir eine gute Seite mit TeX-LowLevel-Dokumentation empfehlen? Außerdem braucht man die subequation-Umgebung ja evtl. auch noch einmal in unmodifizierter Form...)
Am besten wäre wohl, eine eigene Umgebung mit den gewünschten Eigenschaften zu definieren mit einem eigenen Zähler und so weiter. Sehe ich das richtig?
Grüßle!