Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

In algorithm2e, if you use the "ruled" option, the caption of algorithms are automatically numbered. E.g. if you write 2 algorithms in one document, the first one will be titled Algorithm 1 and the second one will be titled Algorithm 2. How can I customize this number? Say I only write one algorithm and want it to be titled "Algorithm 3" as shown by the picture below.

enter image description here

share|improve this question
add comment

1 Answer

up vote 2 down vote accepted

You could just force the counter associated with that environment.

Note that, in typical LaTeX fashion, counters are incremented just before they're used. So, in order to force the algorithm to start as Algorithm 3 (say), one would set the associated counter to 2. The counter used by algorithm2e for the algorithm environment is algocf (named after the author, Christophe Fiorio, I presume). So, using

\setcounter{algocf}{2}

immediately before using the algorithm environment would set the following algorithm as Algorithm 3.

The following example is taken from the algorithm2e documentation:

enter image description here

\documentclass{article}
\usepackage[ruled]{algorithm2e}% http://ctan.org/pkg/algorithm2e
\begin{document}

\setcounter{algocf}{2}% Modify counter of algorithm

\begin{algorithm}
  \DontPrintSemicolon
  \KwData{$G=(X,U)$ such that $G^{tc}$ is an order.}
  \KwResult{$G’=(X,V)$ with $V\subseteq U$ such that $G’^{tc}$ is an
    interval order.}
  \Begin{
    $V \longleftarrow U$\;
    $S \longleftarrow \emptyset$\;
    \For{$x\in X$}{
      $NbSuccInS(x) \longleftarrow 0$\;
      $NbPredInMin(x) \longleftarrow 0$\;
      $NbPredNotInMin(x) \longleftarrow |ImPred(x)|$\;
    }
    \For{$x \in X$}{
      \If{$NbPredInMin(x) = 0$ {\bf and} $NbPredNotInMin(x) = 0$}{
        $AppendToMin(x)$}
      }
      \nl\While{$S \neq \emptyset$}{\label{InRes1}
      \nlset{REM} remove $x$ from the list of $T$ of maximal index\;\label{InResR}
      \lnl{InRes2}\While{$|S \cap ImSucc(x)| \neq |S|$}{
        \For{$ y \in S-ImSucc(x)$}{
          \{ remove from $V$ all the arcs $zy$ : \}\;
          \For{$z \in ImPred(y) \cap Min$}{
            remove the arc $zy$ from $V$\;
            $NbSuccInS(z) \longleftarrow NbSuccInS(z) - 1$\;
            move $z$ in $T$ to the list preceding its present list\;
            \{i.e. If $z \in T[k]$, move $z$ from $T[k]$ to
              $T[k-1]$\}\;
          }
          $NbPredInMin(y) \longleftarrow 0$\;
          $NbPredNotInMin(y) \longleftarrow 0$\;
          $S \longleftarrow S - \{y\}$\;
          $AppendToMin(y)$\;
        }
      }
      $RemoveFromMin(x)$\;
    }
  }
  \caption{IntervalRestriction\label{IR}}
\end{algorithm}

\end{document}
share|improve this answer
    
thanks. it works. Just wonder how do you find out that the counter name is algocf. I couldn't find it in the manual of algorithm2e. –  pegausbupt Jul 5 '12 at 7:27
1  
@pegausbupt: The inclusion of this detail depends on the package author. I found this by browsing through the algorithm2e.sty style file (searching for \newcounter). –  Werner Jul 5 '12 at 14:07
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.