El contenido de los algoritmos piensa que un algoritmo que usa algorithm
es un algoritmo y un algoritmo que usa algorithm2e
es otro algoritmo, no el segundo de lo que se importó con el otro paquete, sino una entidad diferente o algo así, lo cual, en mi opinión, no está bien. .
Me gustaría esto:
1 algo 1..................... page of algo 1
1 algo 2..................... page of algo 2
se cambiará a esto:
1 algo 1..................... page of algo 1
2 algo 2..................... page of algo 2
La alineación y la numeración se cambiaron arriba.
Aquí está el ejemplo mínimo, basado enestepregunta:
\documentclass{article}
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage[algo2e]{algorithm2e}
\renewcommand{\listalgorithmname}{List of Algorithms}
\addtocontents{loa}{\protect\thispagestyle{empty}}
\begin{document}
\listofalgorithms
\smallskip
\begin{algorithm}%>- from algorithm package
test
\caption{algo 1}
\end{algorithm}
\begin{algorithm2e}%>- from algorithm2e package
test
\caption{algo 2}
\end{algorithm2e}
\end{document}
Producción:
Crónica
Tenía mi tesis lista. Sin embargo, anoche presentamos un artículo basado en él. Debo enviar mi tesis también y me gustaría incluir en la tesis algunos de los algoritmos escritos en el artículo. Por varias razones, me he encontrado en una situación en la que alguien me dará una solución a mi problema, o simplemente dejaré la tesis sin los algoritmos en papel, lo que por supuesto me lleva a una tesis desconsolada. :)
Los algoritmos del artículo se escriben con algorithm2e
, mientras que los algoritmos de la tesis se escriben con algorithm
y algorithmic
. Tengo que enviarlo mañana a primera hora, por lo que no tengo tiempo para volver a escribirlos (ahora estoy editando mi tesis en otras secciones), por eso escucharé una solución de la comunidad aquí o dejaré los algoritmos. del trabajo fuera de mi tesis!
Respuesta1
Una solución rápida es utilizar \setcounter
dentro de cada algoritmo. Además, para alinear los algoritmos en la lista de algoritmos, debe redefinir \listof
los \l@algocf
comandos y configurarlos \@dottedtocline
con el espaciado horizontal deseado. Aquí está el código:
\documentclass{article}
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage[algo2e]{algorithm2e}
\renewcommand{\listalgorithmname}{List of Algorithms}
\addtocontents{loa}{\protect\thispagestyle{empty}}
% add this to align the list of algorithms
\makeatletter
\renewcommand*{\listof}[2]{%
\@ifundefined{ext@#1}{\float@error{#1}}{%
\@namedef{l@#1}{\@dottedtocline{1}{1em}{2.3em}}% line of the list (change from 1em to the desired value)
\float@listhead{#2}%
\begingroup\setlength{\parskip}{\z@}%
\@starttoc{\@nameuse{ext@#1}}%
\endgroup}}
\renewcommand*\l@algocf{\@dottedtocline{1}{1em}{2.3em}}% line of the list (change from 1em to the desired value)
\makeatother
\begin{document}
\listofalgorithms
\smallskip
\begin{algorithm}%>- from algorithm package
\setcounter{algorithm}{0}% set the counter for the 1st algorithm
test
\caption{algo 1}
\end{algorithm}
\begin{algorithm2e}%>- from algorithm2e package
\setcounter{algocf}{1}% set the counter for the 2nd algorithm
test
\caption{algo 2}
\end{algorithm2e}
\begin{algorithm}%>- from algorithm package
\setcounter{algorithm}{2}% set the counter for the 3rd algorithm
test
\caption{algo 3}
\end{algorithm}
\begin{algorithm2e}%>- from algorithm2e package
\setcounter{algocf}{3}% set the counter for the 4th algorithm
test
\caption{algo 4}
\end{algorithm2e}
\end{document}