von quietscheentchen » Fr 29. Jan 2016, 12:22
Hallo,
ich wollte im Algorithmus einen goto-Befehl schreiben, brauche also ein Label und eine Referenz auf eine andere Zeile. In der Dokumentation von algorithm2e habe ich den Befehl /lnl{} als line label gefunden, aber das Problem ist, dass er an der Stelle, an der ich das einfüge, eine Zeilennummer auslässt. Hier das Minimalbeispiel:
\documentclass[11pt,a4paper]{article}
\usepackage[linesnumbered]{algorithm2e}
\begin{document}
\begin{algorithm}
\SetKw{go}{goto}
\Repeat{condition}{\lnl{label1}\While{condition}
{
$a \leftarrow 1$;\\
$b \leftarrow 2$;
}
\If{condition}
{\go line \ref{label1}}
}
\end{algorithm}
\end{document}
Ich habe es vorher auch schon mit dem normalen \label{} versucht, aber das konnte ich nur direkt vor das while (-> dann hatte ich die Zeilennummer des Befehld "repeat") oder nach den while-Block (-> dann hatte ich die Zeilennummer von "end").
Habt ihr irgendwelche Ideen, was ich falsch mache oder wie es funktioniert?
- Dateianhänge
-
- algorithm2e_linesnumbered.pdf
- Ausgabe
- (54.59 KiB) 536-mal heruntergeladen
Hallo,
ich wollte im Algorithmus einen goto-Befehl schreiben, brauche also ein Label und eine Referenz auf eine andere Zeile. In der Dokumentation von algorithm2e habe ich den Befehl /lnl{} als line label gefunden, aber das Problem ist, dass er an der Stelle, an der ich das einfüge, eine Zeilennummer auslässt. Hier das Minimalbeispiel:
[code]
\documentclass[11pt,a4paper]{article}
\usepackage[linesnumbered]{algorithm2e}
\begin{document}
\begin{algorithm}
\SetKw{go}{goto}
\Repeat{condition}{\lnl{label1}\While{condition}
{
$a \leftarrow 1$;\\
$b \leftarrow 2$;
}
\If{condition}
{\go line \ref{label1}}
}
\end{algorithm}
\end{document}
[/code]
Ich habe es vorher auch schon mit dem normalen \label{} versucht, aber das konnte ich nur direkt vor das while (-> dann hatte ich die Zeilennummer des Befehld "repeat") oder nach den while-Block (-> dann hatte ich die Zeilennummer von "end").
Habt ihr irgendwelche Ideen, was ich falsch mache oder wie es funktioniert?