独自のマクロを使用して algorithm2e のキャプションを調整する

独自のマクロを使用して algorithm2e のキャプションを調整する

いくつかの表を含む文書があり、そのキャプションの書式は次のように設定されています。

ここに画像の説明を入力してください

私はこれを使って

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

アルゴリズムにも同じレイアウトを使いたいのですが、パッケージの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}

関連情報