PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gleichungsnummern am Rand der Seite?



Darion
02-08-2008, 09:31
Hallo,
ich bin auf der Suche nach einer Möglichkeit, Gleichungsnummern automatisch in die Margins drucken zu lassen. Ich meine damit, dass ich wirklich in den Bereich drucken will, wo sonst kein Text hinkommt. Also nicht, wie viele der gegoogelten Seiten behaupteten, mit amsmath und leqno oder fleqn, denn die drucken nur innerhalb der normalen Textarea. Idealerweise sollte die Nummer immer auf den äußeren Rand meines zweiseitigen Textes gedruckt werden. Gibt es so was?

Stefan_K
02-08-2008, 17:58
Hallo Darion,

Du könntest das marginnote-Paket (http://www.ctan.org/tex-archive/help/Catalogue/entries/marginnote.html) verwenden und Dir eine spezielle Gleichungsumgebung dafür definieren, beispielsweise:

\usepackage{marginnote}
\newenvironment{mequation}{\begin{equation*}%
\stepcounter{equation}%
\marginnote{(\theequation)}%
}{\end{equation*}}

Viele Grüße,

Stefan

voss
02-08-2008, 18:07
ich bin auf der Suche nach einer Möglichkeit, Gleichungsnummern automatisch in die Margins drucken zu lassen. Ich meine damit, dass ich wirklich in den Bereich drucken will, wo sonst kein Text hinkommt. Also nicht, wie viele der gegoogelten Seiten behaupteten, mit amsmath und leqno oder fleqn, denn die drucken nur innerhalb der normalen Textarea. Idealerweise sollte die Nummer immer auf den äußeren Rand meines zweiseitigen Textes gedruckt werden. Gibt es so was?


\documentclass[12pt]{article}

\makeatletter
\g@addto@macro{\]}{\refstepcounter{equation}%
\vspace*{-2\belowdisplayskip}\marginpar{\raggedleft\theequat ion}}
\makeatother

\begin{document}

\[ y=f(x) \]

\end{document}

Herbert

Stefan_K
02-08-2008, 18:47
Hallo Herbert,

da ist ggf. noch etwas Korrektur nötig, teste einmal mit twoside, wie Darions Dokument angelegt ist, sowie etwas Blindtext:

\documentclass[12pt,twoside]{article}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\makeatletter
\g@addto@macro{\]}{\refstepcounter{equation}%
\vspace*{-2\belowdisplayskip}\marginpar{\raggedleft\theequat ion}}
\makeatother
\begin{document}
\blindtext
\[ y=f(x) \]
\blindtext
\newpage
\blindtext
\[ y=f(x) \]
\blindtext
\end{document}

Viele Grüße,

Stefan

voss
02-08-2008, 20:20
da ist ggf. noch etwas Korrektur nötig, teste einmal mit twoside, wie Darions Dokument angelegt ist, sowie etwas Blindtext:

\documentclass[12pt,twoside]{article}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\makeatletter
\g@addto@macro{\]}{\refstepcounter{equation}%
\vspace*{-2\belowdisplayskip}%
\marginpar[\raggedright\theequation]{\raggedleft\theequation}%
\vspace{2\belowdisplayskip}}
\makeatother
\begin{document}
\blindtext
\[ y=f(x) \]
\blindtext
\newpage
\blindtext
\[ y=f(x) \]
\blindtext
\end{document}


da hst du recht ...

Herbert

Darion
29-08-2008, 15:55
Hallo,
danke für eure Mühen. Ich war leider längere Zeit im Urlaub, daher keine schnellere Antwort. Das klappt für Equations wunderbar, ich verwende allerdings align und habe es nicht geschafft, es darauf anzupassen. Mit
\def\BGlg#1\EGlg{\begin{align}#1\end{align}}
habe ich vergleichbare Kürzel definiert (die ich gerne auch weiter nutzen will), dann spuckt mir aber
\g@addto@macro{\EGlg}
die Fehlermeldung
Undefined control sequence.
\EGlg
aus.

voss
29-08-2008, 17:13
Hallo,
danke für eure Mühen. Ich war leider längere Zeit im Urlaub, daher keine schnellere Antwort. Das klappt für Equations wunderbar, ich verwende allerdings align und habe es nicht geschafft, es darauf anzupassen. Mit
\def\BGlg#1\EGlg{\begin{align}#1\end{align}}
habe ich vergleichbare Kürzel definiert (die ich gerne auch weiter nutzen will), dann spuckt mir aber
\g@addto@macro{\EGlg}
die Fehlermeldung
Undefined control sequence.
\EGlg
aus.

\g@addto@macro{\endalign}{\refstepcounter{equation }%
...

und dann \begin{align*} ... \end{align*}

Herbert

Darion
30-08-2008, 12:36
Ok, das funktioniert soweit, hab aber noch ein paar Probleme. Mit


\def\BGlg#1\EGlg{\begin{align}#1\end{align}}
bekomme ich natürlich eine doppelte Nummerierung. Mit


\def\BGlg#1\EGlg{\begin{align*}#1\end{align*}}
bekomme ich eine große Menge an Fehlern, dass amsmath multiple \label's gefunden hat und Labels verliert.
Ansonsten hätte ich die Nummer gerne am Anfang der Gleichung, aber


\makeatletter
\g@addto@macro{\[}{\refstepcounter{equation}%
\vspace*{-2\belowdisplayskip}%
\marginpar[\raggedright\theequation]{\raggedleft\theequation}%
\vspace{2\belowdisplayskip}}
\makeatother
\makeatletter
\g@addto@macro{\align}{\refstepcounter{equation}%
\vspace*{-2\belowdisplayskip}%
\marginpar[\raggedright\theequation]{\raggedleft\theequation}%
\vspace{2\belowdisplayskip}}
\makeatother
scheint nicht zu funktionieren, zumindest mit align bringt es 1000 Fehler (der erste ist Not in outer par mode), mit align* könnte es gehen, kann ich aber noch nicht sagen wegen dem Fehler oben.

Darion
30-08-2008, 15:02
Eine Konstruktion mit dem marginnote Paket bekomme ich übrigens auch nicht hin:

\def\BAlign#1\EAlign{\begin{align*}#1\end{align*}}
\usepackage{marginnote}
\newenvironment{mequation}{\BAlign%
\stepcounter{equation}%
\marginnote{(\theequation)}%
}{\EAlign}
\def\BGlg#1\EGlg{\begin{mequation}#1\end{mequation }}
bringt mir Fehler der Art Paragraph ended before \BAlign was complete. So was war ja zu befürchten, wo die align Umgebung so anfällig ist.

Darion
04-09-2008, 18:30
Hat keiner eine Idee, wie sich so was realisieren lässt? Ich will im Prinzip einfach in einem zweiseitigen Dokument die Align Umgebung so verändern, dass die Gleichungsnummer neben der ersten Zeile der Formel in das Margin (idealerweise immer rechts) gedruckt wird.