algoritmo2e y color

algoritmo2e y color

Estoy intentando colorear el fondo del título en un algoritmo (usando algorithm2e).

Modifiqué el comando original de la siguiente manera directamente en el archivo .sty.

Sin embargo, como puedes ver en la imagen, el resultado no es el adecuado. Me gustaría que toda la "fila" estuviera en gris (coloqué la fila entre corchetes porque no es una tabla).

\newcommand{\algocf@makecaption@ruled}[2]{%
  \global\sbox\algocf@capbox{\hskip\AlCapHSkip![enter image description here][2]
    \parbox[t]{\hsize}{\colorbox{gray!50}{\algocf@captiontext{#1}{#2}}}}
}%

El original :

\newcommand{\algocf@makecaption@ruled}[2]{%
  \global\sbox\algocf@capbox{\hskip\AlCapHSkip% .5\algomargin%
    \parbox[t]{\hsize}{\algocf@captiontext{#1}{#2}}}
}%

ingrese la descripción de la imagen aquí

El código completo:

\documentclass{article} 
\usepackage{etex} 
\usepackage{easybmat} 
\usepackage[T1]{fontenc} 
\usepackage{lmodern} 
\usepackage{xcolor}
\usepackage{algorithm2e}
\RestyleAlgo{algoruled}

\begin{document} 

  \SetKw{KwFrom}{from} 


\newenvironment{algo}{
\begin{algorithm}[H]
\DontPrintSemicolon \SetAlgoVlined}
{\end{algorithm}}



\begin{algo}\label{algotrigsup}
\caption{Caption of the algo}
\For{$k$ \KwFrom $n-1$ \KwTo $1$}{
$x_k=b_k$\;
\For{$j$ \KwFrom $k+1$ \KwTo $n$}{
$x_k=x_k -a_{kj} x_j$\;
}
$x_k=\displaystyle \frac{x_k}{a_{kk}}$
}
\end{algo}


\end{document}

Respuesta1

Aquí hay una posibilidad (tiene \parboxque estar dentro \colorboxy se requieren algunos ajustes de espaciado vertical y horizontal):

\documentclass{article}
\usepackage[ruled]{algorithm2e}
\usepackage{xcolor}

\colorlet{AlgCaptionColor}{gray!30}

\makeatletter
\renewcommand{\algocf@makecaption@ruled}[2]{%
  \global\sbox\algocf@capbox{\colorbox{AlgCaptionColor}{\hskip\AlCapHSkip% .5\algomargin%
    \parbox[t]{\hsize}{\algocf@captiontext{\strut#1}{\strut#2\strut}}\hskip.6\algomargin}}% then caption is not centered
}%
\setlength{\interspacetitleruled}{0pt}%
\makeatother

\begin{document}

\begin{algorithm}[H]
\SetAlgoLined
\KwData{this text}
\KwResult{how to write algorithm with \LaTeX2e }
initialization\;
\While{not at end of this document}{
read current\;
\eIf{understand}{
go to next section\;
current section becomes this one\;
}{
go back to the beginning of current section\;
}
}
\caption{How to write algorithms and some additional text just for the exmaple}
\end{algorithm}

\end{document}

ingrese la descripción de la imagen aquí

información relacionada