我一个部分中有四个算法,但问题是每个算法的行号不是从 1 开始的。例如,第一个算法的行号从 1 到 11,但第二个算法的行号从 12 开始,而不是从 1 开始。我想知道如何重新初始化每个算法的行数计数器,使行号从 1 开始?
这是我的代码:
\documentclass[letterpaper,12pt,oneside,final]{book}
\usepackage[utf8]{inputenc}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage[ruled,algo2e,french]{algorithm2e}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{pdfpages}
\usepackage{epstopdf}
\usepackage{amsmath,color,soulutf8,longtable,colortbl,setspace,ifthen,xspace,url,pdflscape}
\makeatletter
\usepackage[frenchb]{babel}
\usepackage{caption}
\begin{document}
\begin{algorithm}[H]
\SetKwInput{Initialization}{Initialisation}
\LinesNumbered
\Initialization{}
\For{}{}
\end{algorithm}
\begin{algorithm}[h]
\SetKwInput{Initialization}{Initialisation}
\LinesNumbered
\Initialization{}
\For{}{}
\end{algorithm}
\end{document}
答案1
使用这个简单的代码:\setcounter{AlgoLine}{<number>}
。Alg@line
不正确。您应该使用Algoline
\begin{algorithm}[H]
\SetKwInput{Initialization}{Initialisation}
\LinesNumbered
\Initialization{}
\For{}{}
\end{algorithm}
\begin{algorithm}[h]
\setcounter{AlgoLine}{0}
\SetKwInput{Initialization}{Initialisation}
\LinesNumbered
\Initialization{}
\For{}{}
\end{algorithm}
答案2
你不能混合使用algorithms
捆(提供algorithm
环境/浮动)algorithm2e
。使用其中一个,或者另一个。
\documentclass{article}
\usepackage[ruled]{algorithm2e}
\begin{document}
\begin{algorithm}[H]
\SetKwInput{Initialization}{Initialisation}
\LinesNumbered
\Initialization{}
\For{}{}
\end{algorithm}
\begin{algorithm}[h]
\SetKwInput{Initialization}{Initialisation}
\LinesNumbered
\Initialization{}
\For{}{}
\end{algorithm}
\end{document}
请注意,由于您仅使用algorithm2e
接口,因此无需使用algo2e
包选项。
如果必须一起使用它们,无论出于何种原因,您都需要使用algo2e
包选项并在环境algorithm2e
内明确设置样式算法algorithm2e
,并且algorithmicx
- 环境中的风格算法algorithm
。