자체 매크로를 사용하여 Algorithm2e의 캡션을 조정합니다.

자체 매크로를 사용하여 Algorithm2e의 캡션을 조정합니다.

캡션 형식이 다음과 같은 몇 개의 테이블이 있는 문서가 있습니다.

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

내가 사용하여 달성 한 것

\usepackage[format=plain, justification=raggedright,singlelinecheck=true]{caption}
\captionsetup[table]{labelsep=newline, textfont=it, singlelinecheck=false, margin=1em}

알고리즘에도 동일한 레이아웃을 사용하고 싶습니다. 나는 package-readme에서 알아냈고이 페이지나에게 필요한 것

\usepackage[plainruled]{algorithm2e}

캡션 위의 최상위 규칙을 제거하고 다음을 얻으려면 다음을 수행하십시오.

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

style다음으로, 사용할 수 있도록 나만의 매크로를 정의해야 한다는 것을 이해합니다.

\SetAlgoCaptionLayout{style}

하지만 매크로를 만드는 방법과 왼쪽 정렬 방법, 알고리즘 제목의 각주 크기에 일반 글꼴 사용 방법, 줄바꿈 삽입 방법, 캡션 텍스트를 이탤릭체로 표시하는 방법이 혼란스럽습니다.

MWE:

\documentclass{article}
\usepackage[plainruled]{algorithm2e}
\begin{document}

\begin{algorithm}
{\footnotesize
\caption{An example}
some text\;
}
\end{algorithm}
\end{document}

답변1

알았어요. 상위 규칙을 정의하는 함수를 재정의할 수 있습니다. 완벽하지는 않지만 작동합니다.

\documentclass{article}
\usepackage[algoruled]{algorithm2e}

% Removes the top rule above caption see l.2531 of algorithm2e.sty
\makeatletter
\def\@algocf@pre@algoruled{}%
\makeatother
% Changes the caption font to italic
\renewcommand{\AlCapNameFnt}{\footnotesize\itshape}
% Removes bold font Algorithm
\renewcommand{\AlCapFnt}{\footnotesize\normalfont}
% Replaces ":" with a linebreak after Algorithm n°xxx
\SetAlgoCaptionSeparator{\\}
\begin{document}
\begin{algorithm}
{\footnotesize
\caption{An example}
some text\;
}
\end{algorithm}
\end{document}

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

답변2

다음은 환경 \footnotesize에 글꼴 크기 도 추가합니다 algorithm.

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

\documentclass{article}

\usepackage{fourier}
\usepackage[ruled]{algorithm2e}

\SetAlCapFnt{\normalfont\footnotesize}% Set caption font
\SetAlgoCaptionSeparator{\par\nobreak}% Set caption separator
\SetAlCapNameFnt{\unskip\itshape\footnotesize}% Set caption name font
\makeatletter
\def\@algocf@pre@ruled{}% Remove rule above caption
\let\old@algocf@start\@algocf@start
\renewcommand{\@algocf@start}{\old@algocf@start\footnotesize}
\makeatother

\begin{document}

\begin{algorithm}
  \caption{An example}
  some text\;
\end{algorithm}

\end{document}

관련 정보