LaTex에서 그림에 표시된 알고리즘을 작성하는 데 도움을 줄 수 있는 사람이 있습니까?

LaTex에서 그림에 표시된 알고리즘을 작성하는 데 도움을 줄 수 있는 사람이 있습니까?

나는 다음에 표시된 알고리즘을 작성하려고했습니다.1LaTex에서.

아래는 제가 시도한 코드입니다. 그러나 필요에 따라 들여쓰기가 반환되지 않습니다. 도움을 주셔서 감사합니다.

\documentclass[11pt]{article}
\usepackage[margin=4cm]{geometry}
\usepackage{algpseudocode}
\usepackage{amsmath}
\usepackage[norelsize, linesnumbered, ruled, lined, boxed, commentsnumbered]{algorithm2e}

%\algdef{SE}[DOWHILE]{Do}{doWhile}{\algorithmicdo}[1]{\algorithmicwhile\ #1}%
%\algblockdefx[ARBITRARY]{Arbitrary}{endArbitrary}[1]{#1}

\begin{document}


\begin{algorithm}[H]
 \SetAlgoLined
 \LinesNumbered
 \SetKwInOut{Input}{Input}
 \Input{$x,y,z,$}
 \SetKwProg{Function}{function}{}{end}
 \SetKwRepeat{Do}{do}{while}
 %\Function{function($ inp$) : int}{
     \Do{done = false}{ something }
        \Do{done2 =true} {something2}
% }
 \caption{Algorithm}
\end{algorithm}

아래와 같이 do-while 루프를 시도했습니다. 안타깝게도 입력, 출력, 캡션을 포함한 일부 형식 문제는 작동하지 않습니다.

\documentclass{article}
\usepackage[ruled,vlined]{algorithm2e}
\usepackage{blkarray}
\usepackage{algpseudocode}
\usepackage{amsmath}

\algdef{SE}[DOWHILE]{Do}{doWhile}{\algorithmicdo}[1]{\algorithmicwhile\ #1}%


\begin{document}
\begin{algorithmic}
\SetAlgoLined
\SetKwInOut{Input}{input}
\SetKwInOut{Output}{output}
\DontPrintSemicolon
  \Do
    \State r s t $\boldsymbol{J}_{dh}$
        \Do 
    \State Compute $\boldsymbol{J}_{dh}$ %$m,n,p,q,\boldsymbol{J}_{dh}$ 
            \Do
        \State $m,n,o,\boldsymbol{J}_{dh}$
                \Do
                \State $ m, n \boldsymbol{J}_{dh} $
                \doWhile {$k<k_{max}$} 
            \doWhile{$\Delta_\alpha<tol$}
    \doWhile{$\varepsilon <2\pi$}
  \doWhile{$z<z_f$} % <--- use \doWhile for the "while" at the end
\end{algorithmic}
\end{document}

감사합니다

답변1

다음은 이를 수행하는 한 가지 방법의 스케치입니다 algorithm2e. xcolor, soul특정 라인을 강조 표시하려는 경우를 대비하여 데모 목적으로 포함시켰습니다 .

힌트: 내가 여기서 사용하는 수학 환경은 단지 스케치일 뿐이므로 개선이 필요합니다.

알고

\documentclass[11pt]{article}
\usepackage[linesnumbered,lined,ruled,commentsnumbered]{algorithm2e}
\usepackage{xcolor, soul}% <<<
\sethlcolor{yellow}% <<<


\begin{document}

  \begin{algorithm}[h]
    \caption{Algorithm}

    \While{$Z < Z_f$}{
        r, s, t;
        
        \While{$eps < 2 pi$}{
            \hl{m, n, P};% <<< if you need to highlight something
            
            \While{}{
                \While{$k < k_{max}$}{
                    m, n, Td;
                }
                $theta =$;
                $psi =$;
            
            }
        }
    }
    plot(something);
  \end{algorithm}

\end{document}

관련 정보