aktuelle Seitenzahl zur Nummerierung nutzen

Klassen und Pakete zur einfachen Umsetzung individueller Vorstellungen


milo hirsch
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Mo 2. Jan 2017, 13:19

aktuelle Seitenzahl zur Nummerierung nutzen

Beitrag 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

Gast

Beitrag von Gast »

perpage

Es würde übrigens nichts schaden, ein Minimalbeispiel mit anzugeben und den Beitrag vor dem Absenden mit der Vorschau zu kontrollieren …

milo hirsch
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Mo 2. Jan 2017, 13:19

Beitrag 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

Gast

Beitrag von Gast »

Ich habe nicht ganz ohne Grund das Paket perpage genannt …

milo hirsch
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Mo 2. Jan 2017, 13:19

Beitrag von milo hirsch »

okay, besten Dank,

ich denke, dass ist was ich gesucht habe ...

milo hirsch
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Mo 2. Jan 2017, 13:19

Beitrag 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

Gast

Beitrag 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!

Gast

Beitrag 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.

milo hirsch
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Mo 2. Jan 2017, 13:19

Beitrag 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

Gast

Beitrag von Gast »

Was hast du denn gemacht?

Antworten