알고리즘2e에서 작은 대문자가 포함된 프로시저 이름

알고리즘2e에서 작은 대문자가 포함된 프로시저 이름

procedure에서는 algorithm2e와 같은 캡션만 허용된다는 것을 알고 있습니다 \caption{ProcedureName()}.

그러나 내 절차를 작은 대문자로 표시하고 싶습니다.

\documentclass[12pt,a4paper]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{enumerate}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage[algosection, boxruled, linesnumbered]{algorithm2e}

\begin{document}
\begin{procedure}

    \SetKwInOut{Input}{input}
    \SetKwInOut{Output}{output}
    \Input{Graph $G = (V,E)$}
    \Output{}
    \ForEach{node $v \in V$}
    {
        \lIf{$v$ is marked}{remove $v$}
    }

    \caption{\textsc{removemarked()}}
    \label{alg:removemarked}

\end{procedure}
\end{document}

물론 오류가 발생합니다.

Paragraph ended before \algocf@captname was complete

절차 대신 을 사용하면 \begin{algorithm} ... \end{algorithm}포크가 잘 됩니다. 그것을 작동시키는 방법이 있습니까 procedure?

답변1

매뉴얼 에는 잘 설명되어 있지 않지만 algorithm2e원하는 것을 얻으려면 다음 명령을 실행해야 합니다.

\SetProcNameSty{textsc}

\caption환경 을 사용할 때 의 인수에는 procedure다음과 같은 것만 포함될 수 있습니다 name(arg).

다음 MWE에도 추가했습니다.

\SetProcArgSty{textsc}

인수와 함께 절차 캡션을 사용하는 경우를 대비해 다음을 수행합니다.

\documentclass[12pt,a4paper]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{enumerate}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage[algosection, boxruled, linesnumbered]{algorithm2e}

\SetProcNameSty{textsc}
\SetProcArgSty{textsc}

\begin{document}
\begin{procedure}

    \SetKwInOut{Input}{input}
    \SetKwInOut{Output}{output}
    \Input{Graph $G = (V,E)$}
    \Output{}
    \ForEach{node $v \in V$}
    {
        \lIf{$v$ is marked}{remove $v$}
    }

    \caption{removemarked()}
    \label{alg:removemarked}

\end{procedure}
\end{document} 

산출

여기에 이미지 설명을 입력하세요

관련 정보