Ajuste a legenda do algoritmo2e usando a própria macro

Ajuste a legenda do algoritmo2e usando a própria macro

Eu tenho um documento com algumas tabelas que têm suas legendas formatadas assim

insira a descrição da imagem aqui

que consegui usando

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

e gostaria de usar o mesmo layout para algoritmos. Eu descobri no pacote-readme eesta páginaque eu preciso

\usepackage[plainruled]{algorithm2e}

para remover a regra superior acima da legenda e obter isto:

insira a descrição da imagem aqui

Em seguida, entendo que preciso definir minha própria macro stylepara poder usar

\SetAlgoCaptionLayout{style}

mas estou confuso sobre como criar a macro e como alinhar à esquerda, usar fonte normal no tamanho das notas de rodapé para o título do algoritmo, inserir a quebra de linha e colocar o texto da legenda em itálico.

MWE:

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

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

Responder1

Entendi. Você pode redefinir a função que define a regra principal. Não é perfeito, mas funciona.

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

insira a descrição da imagem aqui

Responder2

O seguinte também adiciona o \footnotesizetamanho da fonte ao seu algorithmambiente:

insira a descrição da imagem aqui

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

informação relacionada