嘗試在演算法2e中寫入“loop”關鍵字

嘗試在演算法2e中寫入“loop”關鍵字

我在用著演算法2e我需要使用loop此處出現的關鍵字:

[![在此輸入影像描述][1]][1]

微量元素

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線 或者 \線 模式添加一條垂直直線。\開始(側面文字){文字}也給出了包圍在區塊中的文本開始結尾, 但旁白如果放在後面開始關鍵字。結合\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}

相關內容