I'm using the algorithm package and want to number two types of algorithms with separate counters.
I would like to know, what you think about my following code
Are there any mistakes? Could something be done better?
\documentclass[a4paper, 12pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{algorithmic}
\usepackage{algorithm}
\usepackage{caption}
\newcounter{typeACounter}
\newcounter{typeBCounter}
\newenvironment{typeA}[1]
{
\renewcommand\labelenumi{\bfseries\theenumi.}
\setcounter{algorithm}{\value{typeACounter}}
\floatname{algorithm}{TypeA}
\begin{algorithm}[H]
\caption{#1}
\begin{algorithmic}
\STATE
\begin{enumerate}
}
{
\end{enumerate}
\end{algorithmic}
\end{algorithm}
\addtocounter{typeACounter}{1}
}
\newenvironment{typeB}[1]
{
\setcounter{algorithm}{\value{typeBCounter}}
\floatname{algorithm}{TypeB}
\begin{algorithm}[H]
\caption{#1}
\begin{algorithmic}
}
{
\end{algorithmic}
\end{algorithm}
\addtocounter{typeBCounter}{1}
}
\begin{document}
\begin{typeB}{test}
\IF{a}
\STATE b
\ENDIF
\end{typeB}
\begin{typeB}{test}
\IF{a}
\STATE b
\ENDIF
\end{typeB}
\begin{typeA}{test}
\item t
\item tt
\end{typeA}
\begin{typeB}{test}
\IF{a}
\STATE b
\ENDIF
\end{typeB}
\begin{typeA}{test}
\item t
\item tt
\end{typeA}
\begin{typeA}{test}
\item t
\item tt
\end{typeA}
\begin{typeB}{test}
\IF{a}
\STATE b
\ENDIF
\end{typeB}
\end{document}

Typ A/Typ B, so\ifx#1A\relax ABC% \else XYZ% \fi}%would be a good idea, wouldn't it? – user1 Aug 26 '16 at 11:32