Ich möchte über die Analyse eines Algorithmus schreiben. Abhängig von bestimmten Bedingungen ergeben sich mehrere Fälle. Ich möchte auf die Fälle verweisen, abernichtausschließlich basierendauf den Zeilennummern. Im Wesentlichen möchte ich benutzerdefinierte Beschriftungen, die mit Hyperref funktionieren.
\documentclass{article}
\usepackage{algorithm2e}
\begin{document}
\vspace{2em}
\begin{algorithm}[H]
\KwData{this text}
\KwResult{how to write algorithm with \LaTeX2e }
initialization\;
\While{not at end of this document}{
read current\;
\eIf{understand}{
go to next section \tcp*[f]{Case (1)} \;
current section becomes this one\;
}{
go back to the beginning of current section\;
}
}
\end{algorithm}
Analyis: Consider Case (1).
\end{document}
Antwort1
algorithm2e
bietet die Möglichkeit, benutzerdefinierte Zeilennummern festzulegenUndreferenzieren Sie sie über \nlset
zusammen mit einem regulären \label
:
\documentclass{article}
\usepackage{algorithm2e}
\newcommand{\algcaseref}{Case~\ref}
\begin{document}
\begin{algorithm}[H]
\KwData{this text}
\KwResult{how to write algorithm with \LaTeX2e }
initialization\;
\While{not at end of this document}{
read current\;
\eIf{understand}{
\nlset{(1)}\label{case:1}go to next section\;
current section becomes this one\;
}{
\nlset{(B)}\label{case:2}go back to the beginning of current section\;
}
}
\end{algorithm}
Analysis: Consider \algcaseref{case:1}. Also consider \algcaseref{case:2}.
\end{document}
Antwort2
Sie können dies tun, indem Sie einen benutzerdefinierten Zähler erstellen:
\documentclass{article}
\usepackage{algorithm2e}
\usepackage{hyperref}
\newcounter{cases}
\newcommand{\case}[1]{\refstepcounter{cases}\label{#1}}
\begin{document}
\vspace{2em}
\begin{algorithm}[H]
\KwData{this text}
\KwResult{how to write algorithm with \LaTeX2e }
initialization\;
\While{not at end of this document}{
read current\;
\eIf{understand}{
go to next section \tcp*[f]{Case (1)} \case{mycase} \;
current section becomes this one\;
}{
go back to the beginning of current section\;
}
}
\end{algorithm}
Analyis: Consider Case (\ref{mycase}).
\end{document}
In diesem MWE \case{}
erhöht der Befehl den cases
Zähler und beschriftet den Fall entsprechend diesem Zähler.