Algorithm2e에 'loop' 키워드를 쓰려고 합니다.

Algorithm2e에 'loop' 키워드를 쓰려고 합니다.

나는 사용하고있다알고리즘2eloop여기에 표시된 대로 키워드를 사용해야 합니다 .

[![여기에 이미지 설명 입력][1]][1]

MWE

documentclass{article}
\usepackage{xcolor}
\usepackage[linesnumbered,ruled,vlined]{algorithm2e}



%%% Coloring the comment as blue
\newcommand\mycommfont[1]{\footnotesize\ttfamily\textcolor{blue}{#1}}
\SetCommentSty{mycommfont}

\SetKwInput{KwInput}{Input}                % Set the Input
\SetKwInput{KwOutput}{Output}              % set the Output


\begin{document}
\maketitle

\begin{algorithm}[H]
\DontPrintSemicolon
  
  \KwInput{Your Input}
  \KwOutput{Your output}
  \KwData{Testing set $x$}
  $\sum_{i=1}^{\infty} := 0$ \tcp*{this is a comment}
  \tcc{Now this is an if...else conditional loop}
  \If{Condition 1}
    {
        Do something    \tcp*{this is another comment}
        \If{sub-Condition}
        {Do a lot}
    }
    \ElseIf{Condition 2}
    {
        Do Otherwise \;
        \tcc{Now this is a for loop}
        \For{sequence}    
        { 
            loop instructions
        }
    }
    \Else
    {
        Do the rest
    }
    
    \tcc{Now this is a While loop}
   \While{Condition}
   {
        Do something\;
   }

\caption{Example code}
\end{algorithm}

\end{document}

답변1

나는 지금 이 패키지를 발견하고 있으며 문서에는 자신만의 키워드를 정의할 수 있는 매크로가 있습니다.

루프를 정의하는 일부가 있지만 루프의 끝이나 시작 부분에 중지 테스트를 추가합니다.

그래서 루프가 끝나기 전에 중지 테스트가 제공되므로 블록을 정의하는 매크로를 선택했습니다.\SetKwBlock{Loop}{Loop}{end}

첫 번째 매개변수는 매크로의 이름을 정의하므로 대문자로 작성하는 경우 다음을 {Loop}호출할 때도 동일하게 수행해야 합니다 \Loop. 소문자로 쓰면 반드시 {loop}를 호출해야 합니다 \loop. 두 번째 매개변수는 키워드가 알고리즘에 표시되는 방식입니다.

나는 35페이지의 매뉴얼을 인용합니다:

\SetKwBlock{시작}{시작}{끝}매크로를 정의합니다\시작{txt}이는 블록을 나타냅니다. 텍스트는 단어로 둘러싸여 있습니다.시작하다그리고키워드 타이포그래피에서 오른쪽으로 이동합니다(들여쓰기). ~ 안에\V라인 또는 \선 방법직선 수직선이 추가됩니다.\Begin(사이드 텍스트){text}다음으로 둘러싸인 블록에 텍스트도 제공합니다.시작하다그리고, 하지만사이드 텍스트뒤에 넣으면시작하다예어. 와 결합\tcc*[f] 매크로를 사용하면 다음과 같은 줄에 주석을 넣을 수 있습니다.시작하다. 대안을 사용할 수도 있습니다\u시작{txt}이는 다음과 같은 역할을 합니다.\시작{txt}하지만 없이는. 예를 들어, 필요하지 않은 부품 분리기로 유용합니다.예어.

스크린샷

\documentclass{article}
\usepackage{xcolor}
\usepackage[linesnumbered,boxruled,ruled,noline]{algorithm2e}



%%% Coloring the comment as blue
\newcommand\mycommfont[1]{\footnotesize\ttfamily\textcolor{blue}{#1}}
\SetCommentSty{mycommfont}

\SetKwInput{KwInput}{Input}                % Set the Input
\SetKwInput{KwOutput}{Output}              % set the Output
\SetKwBlock{Loop}{Loop}{end}
\begin{document}
%\maketitle

\begin{algorithm}[H]
\DontPrintSemicolon

  \KwInput{Your Input}
  \KwOutput{Your output}
  \KwData{Testing set $x$}
  \Loop ( until the terminal condition is met. One epoch:)
  {n=n+1

  $\sum_{i=1}^{\infty} := 0$ \tcp*{this is a comment}
  \tcc{Now this is an if...else conditional loop}
  \If{Condition 1}
    {
        Do something    \tcp*{this is another comment}
        \If{sub-Condition}
        {Do a lot}
    }

   terminal condition: RMSE on \dots
}
\caption{Example code}
\end{algorithm}

\end{document}

관련 정보