Seite 1 von 2
aktuelle Seitenzahl zur Nummerierung nutzen
Verfasst: Mo 2. Jan 2017, 19:21
von milo hirsch
Hi,
ich wollte gern die aktuelle Seitenzahl zur Nummerierung von Formlen, Abb.en, Tabellen etc. benutzen,
sowie es z.B. in den Büchern von Percival & Walden gemacht wird.
D.h. Seitenzahl + a, b, c ...
Sehe momentan nur den Weg über Abruf der aktuellen Seitenzahl
Code • Öffne in Online-Editor
\label{p1}\pageref{p1}
und dann mit subequation-Umgebung.
Beste Grüße, milo
Verfasst: Mo 2. Jan 2017, 20:25
von Gast
→
perpage
Es würde übrigens nichts schaden, ein
Minimalbeispiel mit anzugeben und den Beitrag vor dem Absenden mit der Vorschau zu kontrollieren …
Verfasst: Di 3. Jan 2017, 19:07
von milo hirsch
Hi,
ok hier das Minimalbeispiel für Formelnnummerierung mit aktueller Seitenzahl:
\documentclass[a4paper,twoside,10pt]{report}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{lmodern} %Type1-Schriftart für nicht-englische Texte
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\begin{document}
\renewcommand{\theequation}{\pageref{p1}}
Wir befinden uns auf Seite \label{p1}\pageref{p1} und
deshalb sollen alle Formeln auf dieser Seite auch mit der Zahl \pageref{p1} beginnen .
\begin{subequations}
\begin{align}
a &= b \\
b &= c
\end{align}
\end{subequations}
\newpage
\renewcommand{\theequation}{\pageref{p2}}
Wir befinden uns auf Seite \label{p2}\pageref{p2} und
deshalb sollen alle Formeln auf dieser Seite auch mit der Zahl \pageref{p2} beginnen .
\begin{subequations}
\begin{align}
d &= e \\
f &= g
\end{align}
\end{subequations}
\end{document}
Sicherlich ist die subequations-Umgebung dafür nicht geeignet,
wenn mehrere über eine Seite verteilte Formeln auftauchen.
Zudem soll es ja auch für Abbildungen, Tabellen etc. funktionieren.
Ich denke, es muss prinzipiell auf eine Zählermanipulation hinauslaufen.
Beste Grüße, milo
Verfasst: Di 3. Jan 2017, 19:21
von Gast
Ich habe nicht ganz ohne Grund das Paket perpage genannt …
Verfasst: Di 3. Jan 2017, 19:47
von milo hirsch
okay, besten Dank,
ich denke, dass ist was ich gesucht habe ...
Verfasst: Di 10. Jan 2017, 09:36
von milo hirsch
Hallo,
nochmals besten Dank.
Ich habe das Beispiel angepasst und es funktioniert soweit:
\documentclass[a4paper,twoside,10pt]{report}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{lmodern} %Type1-Schriftart für nicht-englische Texte
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{perpage}
\MakeSortedPerPage{equation}
\renewcommand\theequation{\theperpage.\alph{equation}}%
\begin{document}
Wir befinden uns auf Seite \label{p1}\pageref{p1} und
deshalb sollen alle Formeln auf dieser Seite auch mit der Zahl \pageref{p1} beginnen.
\begin{align}
a &= b
%b &= c
\end{align}
\newpage
Wir befinden uns auf Seite \label{p2}\pageref{p2} und
deshalb sollen alle Formeln auf dieser Seite auch mit der Zahl \pageref{p2} beginnen.
\begin{align}
d &= e \\
f &= g
\end{align}
\end{document}
Ist es zusätzlich noch möglich zu unterscheiden ob sich auf einer Seite eine Formel oder mehrere Formeln befinden?
Und dementsprechend die Nummerierung zu unterscheiden:
Bei nur einer Formel auf einer Seite: nur die Seitenzahl (z. B. 1).
Bei mehreren Formeln auf einer Seite: die Seitenzahl + eine zusätzliche Unterscheidung (z. B. 2.a,2.b,...).
Beste Grüße, milo
Verfasst: Di 10. Jan 2017, 10:12
von Gast
Ich kann nur hoffen, dass das mit der Verwendung von \theabspage so funktioniert. Ganz sicher bin ich mir leider nicht:
\documentclass[a4paper,twoside,10pt]{report}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{lmodern} %Type1-Schriftart für nicht-englische Texte
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{perpage}
\MakeSortedPerPage{equation}
\makeatletter
\renewcommand\theequation{\theperpage
\expandafter\ifx\csname pp@max@equation@\theabspage\endcsname\relax
\else \expandafter\ifnum\csname pp@max@equation@\theabspage\endcsname>\z@
.\alph{equation}%
\fi\fi}%
\def\pp@ppagectr#1#2#3#4{\@ifundefined{c@pp@a@#1}{}{%
\expandafter\ifx\csname pp@max@#1@#4\endcsname\relax
\expandafter\gdef\csname pp@max@#1@#4\endcsname{0}%
\else
\global\expandafter\xdef\csname pp@max@#1@#4\endcsname{\the\numexpr
1+\csname pp@max@#1@#4\endcsname\relax}%
\fi
\def\next{#3}%
\expandafter\ifx\csname pp@page@#1\endcsname\next
\addtocounter{pp@a@#1}\@ne
\else
\setcounter{pp@a@#1}{\value{pp@r@#1}}%
\fi
\global\expandafter\let\csname pp@page@#1\endcsname\next
\expandafter\pp@labeldef\expandafter
{\number\value{pp@a@#1}}{#1}{#2}{#3}{#4}}}
\makeatother
\begin{document}
Wir befinden uns auf Seite \label{p1}\pageref{p1} und
deshalb sollen alle Formeln auf dieser Seite auch mit der Zahl \pageref{p1} beginnen.
\begin{align}
a &= b \label{eq:a}
%b &= c
\end{align}
\newpage
Wir befinden uns auf Seite \label{p2}\pageref{p2} und
deshalb sollen alle Formeln auf dieser Seite auch mit der Zahl \pageref{p2} beginnen.
\begin{align}
d &= e \label{eq:d}\\
f &= g \label{eq:g}
\end{align}
Siehe \eqref{eq:a}, \eqref{eq:d} and \eqref{eq:g}.
\end{document}
Es sei darauf hingewiesen, dass dabei interne Anweisungen von
perpage umdefiniert und verwendet werden. Daher kann es jederzeit geschehen, dass nach einem Update nichts davon mehr funktioniert.
BTW: Bitte informiere dich über
die korrekte Verwendung des Status!
Verfasst: Di 10. Jan 2017, 10:19
von Gast
BTW: Warum verwendest du ansinew. Sowohl der Online-Editor als auch die Voreinstellung aller modernen LaTeX-Editoren verlangen nach utf8. Eigentlich verwenden nur noch
total veraltete Vorlagen oder über Jahrzehnte gewachsene, alte Dokumente etwas anderes.
Verfasst: Di 10. Jan 2017, 13:44
von milo hirsch
Hallo,
danke für die schnelle Antwort.
Was müsste ich daran änderen, damit das auch für figures funktioniert?
Dann krieg ich folgende Fehlermeldung: "! Missing \endcsname inserted" jeweils für die caption der figure.
Viele Grüße, milo
Verfasst: Di 10. Jan 2017, 13:48
von Gast
Was hast du denn gemacht?