Настройте заголовок 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}

но я не понимаю, как создать макрос и как выровнять по левому краю, использовать обычный шрифт в размере сноски для заголовка алгоритма, вставить перенос строки и выделить курсивом текст подписи.

МВЭ:

\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}

Связанный контент