Seite 1 von 1
Missing number bei algorighmic
Verfasst: Fr 6. Apr 2012, 20:25
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?

Re: Missing number bei algorighmic
Verfasst: Fr 6. Apr 2012, 20:50
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.-
Verfasst: Fr 6. Apr 2012, 23:32
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

Verfasst: Sa 7. Apr 2012, 09:09
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.-
Verfasst: Sa 7. Apr 2012, 10:55
von Masterarbeiter
Ganz großes Dankeschön. Ich nutze scrbook.
\renewcommand*{\thealgorithm}{\arabic{section}.\arabic{algorithm}}
reicht völlig, das counterwidth brauchte ich garnicht.
Verfasst: Sa 7. Apr 2012, 11:22
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.-