Algorithm2e mit thlabel

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Algorithm2e mit thlabel

Re: Algorithm2e mit thlabel

von Grummelgast » Do 12. Aug 2021, 20:37

Wenn du keinen automatischen Präfix haben willst, dann verwende \ref statt \cref.

Da wir nicht wissen, wie erinnerung definiert ist, kann ich nur darauf hinweisen, dass cleveref eine Anleitung hat und darin u.a. das von MoeWe oben bereits vorgeführte \crefname auch dokumentiert ist.

Die Minimalbeispiel-Anleitung erklärt übrigens sehr genau, wie man auch große Dokumente minimiert.

Re: Algorithm2e mit thlabel

von ichbinneu » Do 12. Aug 2021, 20:15

Nochmal ich.
1) Ich habe in einer enumerate-Umgebung einzelne Items gelabelt.
Wenn ich nun darauf verweise mit \cref gibt er mir

In Punkt (a) sehen wir

aus. Es soll aber ohne "Punkt" ausgegeben werden.

2) Ein Verweis auf eine Erinnerung wird mit "wir sehen in erinnerung 2.1.4 dass" ausgegeben.
Erinnerung muss natürlich groß geschrieben werden.

Wie kann ich das ändern?

Re: Algorithm2e mit thlabel

von ichbinneu » Do 12. Aug 2021, 20:08

Ich habe jetzt das package thoremref auskommentiert und siehe da, es geht.
Da soll mal einer drauf kommen.

Das Problem am MWE dieser Art ist, dass mein Dokument 4.000 Zeilen groß und auf verschiedene Dateien verschachtelt ist (Packages, Befehle, ...).

Danke aber, das hat mir hier sehr geholfen!

Re: Algorithm2e mit thlabel

von Grummelgast » Do 12. Aug 2021, 20:03

Der bisher gezeigt Code erzeugt diesen Fehler (beispielsweise im Online-Compiler) nicht. Vermutlich liegt der Fehler auch nicht an der Verwendung der Umgebung satz, sondern an deren Definition. Wir können aber wenig dazu sagen, wenn du kein echtes Minimalbeispiel (Link beachten!) angibst.

Re: Algorithm2e mit thlabel

von ichbinneu » Do 12. Aug 2021, 19:51

Hier mal exemplarisch der erste Fehler.
Die Zeile ist

			\begin{satz}\label{satz: fermat}(Der kleine Satz von Fermat)

Der Fehler ist

No counter 's' defined. \begin{satz}\label

Re: Algorithm2e mit thlabel

von ichbinneu » Do 12. Aug 2021, 19:48

Erstmal danke, das funktioniert im MWE.
In meiner Bachelorarbeit habe ich allerdings bisher ja \thlabel und \thref genutzt.
Jetzt habe ich die alle ersetzt durch \label und \ref, bekomme aber trotzdem 9351 Fehlermeldungen, alle möglichen.

Re: Algorithm2e mit thlabel

von MoeWe » Do 12. Aug 2021, 18:01

Ich würde statt theoremref lieber cleveref nutzen. Letzteres ist deutlich üblicher und scheint mir auf den ersten Blick auch mehr auf dem Kasten zu haben als theoremref (ich hatte bis eben von theoremref noch nie gehört). Außerdem kannst Du dann wie üblich \label statt \thlabel nehmen.

Wenn Du dann noch amsthm für etwas bessere Unterstürzung von \newtheorem lädst, geht fast alles von alleine.

Im Beispiel wäre noch zu beachten, dass \label bei Verwendung zusammen mit \caption erst nach \caption das Erwartete tut.

\documentclass[ngerman, fontsize=11pt, DIV=15, BCOR = 10mm, parskip=half-, twoside]{scrartcl}
\usepackage{babel}

\usepackage{amsthm}
\usepackage[boxruled]{algorithm2e}

% wird nur mit altem LaTeX benötigt
%\usepackage{chngcntr}

\usepackage{hyperref}
\usepackage{cleveref}

\counterwithin{algocf}{subsection}
\newtheorem{satz}[algocf]{Satz}
\newtheorem{lemma}[algocf]{Lemma}

\crefname{satz}{Satz}{Sätze}

\begin{document}
\section{Erste Section}
\subsection{erste Subsection}
\begin{satz}\label{satz}
  Die ist der erste Satz.
\end{satz}

\begin{lemma}\label{lemma}
  Das lemma
\end{lemma}

\begin{algorithm}
  \caption{der Erste Algorithmus}\label{algo}
  Der Algorithmus stimmt auch
\end{algorithm}

Nach \cref{satz} kommt \cref{lemma}, dann kommt \cref{algo}.
\end{document}

Ich hab mal die Definition von algo weggelassen, da es hier nicht zum Einsatz kam.

Algorithm2e mit thlabel

von ichbinneu » Do 12. Aug 2021, 14:16

Hallo,

die Nummerierung von Sätzen, Algorithmen und co in meinem Dokument ist
Satz 1.2.3
Algorithmus 1.2.4
Beispiel 1.2.5
und so weiter.

Nun bin ich auf das Package algorithm2e umgestiegen.

Ich nutze \thlabel und \thref statt \label und \ref. Bei den Algorithmen geht das allerdings nicht und bringt mir

Undefined control sequence. \begin{algorithm}\thlabel{algo: bpsw}

Hier ein MWE. Wenn ich in Zeile 23 \thlabel nutze, geht es nicht mehr.
(Bitte nicht wundern über das chngctr-Package. In einem anderen Thread frage ich gerade nach Hilfe. Update ist gemacht auf tl 2021).

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

\counterwithin{algocf}{subsection}
\newtheorem{satz}[algocf]{Satz}
\newtheorem{lemma}[algocf]{Lemma}
\newtheorem{algo}[algocf]{Algorithmus}


\begin{document}
	\section{Erste Section}
	\subsection{erste Subsection}
	\begin{satz}\thlabel{satz}
		Die ist der erste Satz. 
	\end{satz}

\begin{lemma}\thlabel{lemma}
	Das lemma
\end{lemma}

\begin{algorithm}\label{algo}
	\caption{der Erste Algorithmus}
	Der Algorithmus stimmt auch 
\end{algorithm}

Nach \thref{satz} kommt \thref{lemma}, dann kommt \ref{algo}
\end{document}

Nach oben