Missing number bei algorighmic Thema ist als GELÖST markiert

Formelsatz für Mathematik, Naturwissenschaften und Technik


Masterarbeiter

Missing number bei algorighmic

Beitrag von Masterarbeiter »

Nabend,
\usepackage{algorithm}
\usepackage{algpseudocode}
\floatname{algorithm}{Algorithmus}
\begin\document}
\begin{algorithm}
\caption{Korrektur der Mausposition}
\begin{algorithmic}[1]
\Procedure{correctMousePos}{}
\Repeat
\If{}


\Until{$stepsX = 0 \lor stepsY = 0$}

\EndProcedure
\end{algorithmic}
\end{algorithm}
\end{document}
! Missing number, treated as zero.
<to be read again>
l.121 \Until
{$stepsX = 0 \lor stepsY = 0$}

Ohne die Zeile mit dem \if geht es aber. Was mache ich falsch? :shock:

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Re: Missing number bei algorighmic

Beitrag von Sepp99 »

Masterarbeiter hat geschrieben:Ohne die Zeile mit dem \if geht es aber. Was mache ich falsch? :shock:
Ich kenne mich da zu wenig aus, aber \If verlangt ein \EndIf
\listfiles
\documentclass[ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{selinput}
	\SelectInputMappings{%
	adieresis={ä},
	germandbls={ß},
	}
\usepackage{babel}
\usepackage{algorithm}
\usepackage{algpseudocode}
\floatname{algorithm}{Algorithmus}
\begin{document}
\begin{algorithm}
\caption{Korrektur der Mausposition}
\begin{algorithmic}[1]
\Procedure{correctMousePos}{}
\Repeat
\If{}
\EndIf
\Until{$stepsX = 0 \lor stepsY = 0$}
\EndProcedure
\end{algorithmic}
\end{algorithm}
\end{document}
Es wäre sinnvoll, immer vollständige Minimalbeispiele [4] zu liefern!
Gruß, Sepp.-

Masterarbeiter

Beitrag von Masterarbeiter »

Danke, das hat geholfen. Jetzt wüßte ich gerne noch, wie ich die Nummerierung des Algorithmus so ändern kann, dass sie wie bei den Abbildungen Kapitelnummer.Algorithmennummer aufgebaut ist.

Momentan hat der Algorithmus einfach die Nummer 1. Ich will, dass er 4.1 heißt :-)

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

Masterarbeiter hat geschrieben:Danke, das hat geholfen. Jetzt wüßte ich gerne noch, wie ich die Nummerierung des Algorithmus so ändern kann, dass sie wie bei den Abbildungen Kapitelnummer.Algorithmennummer aufgebaut ist.

Momentan hat der Algorithmus einfach die Nummer 1. Ich will, dass er 4.1 heißt :-)
Nachdem du mir noch immer deine Klasse nicht mitgeteilt hast, hier eine Lösung für Artikel:
\listfiles
\documentclass[ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{selinput}
   \SelectInputMappings{%
   adieresis={ä},
   germandbls={ß},
   }
\usepackage{babel}

\usepackage{algorithm}
\usepackage{algpseudocode}
\floatname{algorithm}{Algorithmus}

\usepackage{chngcntr}
\counterwithin{algorithm}{section}
\renewcommand*{\thealgorithm}{\arabic{section}.\arabic{algorithm}}

\begin{document}
\section{Test 1}

\begin{algorithm}
\caption{Korrektur der Mausposition}
\begin{algorithmic}[1]
	\Procedure{correctMousePos}{}
		\Repeat
			\If{}
			\EndIf
		\Until{$stepsX = 0 \lor stepsY = 0$}
	\EndProcedure
\end{algorithmic}
\end{algorithm}

\section{Test 2}

\begin{algorithm}
\caption{Korrektur der Mausposition}
\begin{algorithmic}[1]
	\Procedure{correctMousePos}{}
		\Repeat
			\If{}
			\EndIf
		\Until{$stepsX = 0 \lor stepsY = 0$}
	\EndProcedure
\end{algorithmic}
\end{algorithm}

\renewcommand*{\listalgorithmname}{Liste der Algorithmen}
\listofalgorithms
\end{document}
Ergebnis im Anhang. Solltest du eine andere Klasse verwenden, mußt du eben den Zähler anpassen.
Gruß, Sepp.-
Dateianhänge
mathe78.pdf
(49.79 KiB) 484-mal heruntergeladen

Masterarbeiter

Beitrag von Masterarbeiter »

Ganz großes Dankeschön. Ich nutze scrbook.
\renewcommand*{\thealgorithm}{\arabic{section}.\arabic{algorithm}} 
reicht völlig, das counterwidth brauchte ich garnicht.

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

Masterarbeiter hat geschrieben:Ganz großes Dankeschön. Ich nutze scrbook.
Dann würde ich es aber trotzdem so machen:
\listfiles
\documentclass[ngerman,listof=totoc]{scrbook}
\usepackage[T1]{fontenc}
\usepackage{selinput}
   \SelectInputMappings{%
   adieresis={ä},
   germandbls={ß},
   }
\usepackage{babel}

\usepackage{algorithm}
\usepackage{algpseudocode}
\floatname{algorithm}{Algorithmus}

%\usepackage{chngcntr}
%\counterwithin{algorithm}{chapter}
\renewcommand*{\thealgorithm}{\arabic{chapter}.\arabic{algorithm}}
\renewcommand*{\listalgorithmname}{Liste der Algorithmen}

\begin{document}
\tableofcontents
\listofalgorithms

\chapter{Test 1}

\begin{algorithm}
\caption{Korrektur der Mausposition}
\begin{algorithmic}[1]
	\Procedure{correctMousePos}{}
		\Repeat
			\If{}
			\EndIf
		\Until{$stepsX = 0 \lor stepsY = 0$}
	\EndProcedure
\end{algorithmic}
\end{algorithm}

\chapter{Test 2}
\setcounter{algorithm}{0}
\begin{algorithm}
\caption{Korrektur der Mausposition}\label{alg:alg2}
\begin{algorithmic}[1]
	\Procedure{correctMousePos}{}
		\Repeat
			\If{}
			\EndIf
		\Until{$stepsX = 0 \lor stepsY = 0$}
	\EndProcedure
\end{algorithmic}
\end{algorithm}

\begin{algorithm}
\caption{Korrektur der Mausposition}
\begin{algorithmic}[1]
	\Procedure{correctMousePos}{}
		\Repeat
			\If{}
			\EndIf
		\Until{$stepsX = 0 \lor stepsY = 0$}
	\EndProcedure
\end{algorithmic}
\end{algorithm}

Siehe Algorithmus \ref{alg:alg2}
\end{document}
OK, wie auch immer - da die Frage damit offenbar beantwortet ist, habe ich den Status [5] einmal umgestellt.
Gruß, Sepp.-

Antworten