Fortlaufende Nummerierung

Schriftbild, Absätze und Auflistungen einstellen


ichbinneu

Fortlaufende Nummerierung

Beitrag von ichbinneu »

Hallo zusammen,

ich habe eine sehr lange Arbeit verfasst. Ich bin nun im Nachhinein vom package algorithmic auf algorithm2e umgestiegen. Es passt auch alles, bis auf die Nummerierung.
Mein Wunsch ist, dass es so aussieht:
Satz 2.0.1
Beispiel 2.0.2
Lemma 2.0.3
Algorithmus 2.0.4

Bisher passt das in meinem Dokument auch, auch wenn ich das wahrscheinlich völlig umständlich gelöst habe (zu sehen in den Zeilen 4-6 im MWE).
Ich habe vorher noch

\newtheorem{algo}[counter]{Algorithmus}

benutzt und die Algorithmen dann in dieser Umgebung aufgeschrieben. Das passte, denn das ergab mir die Überschrift "Algorithmus 3.1.4" wie ich es wollte.
Ich bin nun auf das andere Paket umgestiegen, damit ich den Algorithmus samt Überschrift in eine Box packen kann. Nun klappt die Nummerierung nicht mehr.

\documentclass[fontsize=11pt, DIV=15, ,BCOR = 10mm, parskip=half-, twoside]{scrartcl}
\usepackage[boxruled, german, linesnumbered, algosection]{algorithm2e}

\newtheorem{counter}{}[subsection] %--Stellt sicher, dass unterschiedliche Environments den gleichen Zähler erhalten
\newtheorem{satz}[counter]{Satz}
\newtheorem{defi}[counter]{Definition}

\begin{document}
	\section{Dies ist die erste Section}
	\begin{satz}
		Dies ist der erste Satz
	\end{satz}

\begin{defi}
	Dies ist die erste Definition
\end{defi}

\begin{algorithm}
	\caption{Falsche Nummerierung}
\end{algorithm}
\end{document}

Was mache ich falsch?


markusv
Forum-Meister
Forum-Meister
Beiträge: 939
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Re: Fortlaufende Nummerierung

Beitrag von markusv »

Der Zähler von algorithm2e heißt algocf. Mit diesem Wissen lässt sich dies so umsetzen:

\documentclass[fontsize=11pt, DIV=15, ,BCOR = 10mm, parskip=half-, twoside]{scrartcl}
\usepackage[boxruled, german, linesnumbered]{algorithm2e}
\counterwithin{algocf}{subsection}
\newtheorem{satz}[algocf]{Satz}
\newtheorem{defi}[algocf]{Definition}

\begin{document}
	\section{Dies ist die erste Section}
	\begin{satz}
		Dies ist der erste Satz
	\end{satz}

\begin{defi}
	Dies ist die erste Definition
\end{defi}

\begin{algorithm}
	\caption{Richtige Nummerierung}
\end{algorithm}
\end{document}
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

ichbinneu

Re: Fortlaufende Nummerierung

Beitrag von ichbinneu »

Im MWE funktioniert das.
In meinem Dokument bekomme ich
"Undefined Controk sequence: counterwithin"

Ich habe eine .Text-Datei in der ich nur die packages einbinden, eine Datei in der ich theoreme definiere (die hier benutzten mit counter) und eine für Kommandos.
Die Binde ich in der preamble ein mit Input in der Reihenfolge
Packages
Kommandos
Theoreme

Liegt es daran?
Habe die Zeilen genau wie du in jedes Dokument gesetzt und jede Reihe Folge ausprobiert ohne Erfolg.


ichwarneu

Re: Fortlaufende Nummerierung

Beitrag von ichwarneu »

Kommando zurück, aber neues Problem.
Erstens: es müsste noch chngctr eingebunden werden.

Neues Problem:
Geht immer noch nicht. Nach Satz 2.1.3 kommt jetzt Algorithmus 1 und Boxen werden auch nicht gesetzt.


Grummelgast

Re: Fortlaufende Nummerierung

Beitrag von Grummelgast »

\counterwithin ist schon seit mehr als 3 Jahren im LaTeX-Kern definiert. Wenn deine LaTeX-Installation derart veraltet ist, dass du noch das obsolete Pakete chngcntr benötigst, solltest du mal ein Update machen. Support wird dann nämlich langsam schwierig.


Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2187
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Fortlaufende Nummerierung

Beitrag von Stefan Kottwitz »

Wenn es am Minimalbeispiel funktioniert, am Hauptdokument jedoch nicht, machst Du dort irgendwas anders. Kann man ohne das Dokument zu sehen, schlecht vermuten was es ist.

Wir brauchen den Code hier, der nicht funktioniert, um ihn zu verbessern. Dazu kannst Du aus einer Kopie Deines Dokuments durch Herauslöschen alles Unwesentlichen ein kleines Beispiel konstruieren, welches das originale Problem zeigt, und es hier zeigen.

Stefan


Antworten