알고리즘의 일부에 대한 참조

알고리즘의 일부에 대한 참조

알고리즘 분석에 관해 글을 쓰고 싶습니다. 일부 조건에 따라 여러 가지 경우가 발생합니다. 사례를 참고하고 싶지만~ 아니다전적으로 기반줄 번호에. 본질적으로 나는 hyperref와 함께 작동하는 사용자 정의 레이블을 원합니다.

\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}

답변1

algorithm2e사용자 정의 줄 번호를 설정하는 방법을 제공합니다.그리고\nlset일반과 함께 참조하십시오 \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}

답변2

사용자 정의 카운터를 생성하면 이 작업을 수행할 수 있습니다.

\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}

이 MWE에서 \case{}명령은 카운터를 늘리고 cases해당 카운터에 따라 사례에 레이블을 지정합니다.

관련 정보