Hyperref bug in algorithm package fixed

This commit is contained in:
Robin Clark 2010-08-16 09:06:32 +01:00
parent 72ec87fe21
commit 0afe1dacb0
4 changed files with 21 additions and 38 deletions

View File

@ -184,7 +184,7 @@
@MISC{en60730,
author = "E N Standard",
title = "Automatic Electrical controls for household and similar use",
howpublished = "EN298",
howpublished = "EN60730",
year = "1994"
}
@ -194,6 +194,7 @@
howpublished = "EN61508",
year = "2002"
}
@MISC{javaarea,
author = "Sun~Micro~Systems",
title = "Java Area Operations",

View File

@ -79,8 +79,8 @@ $$FM(FG) = F$$
%%
\begin{algorithm}[h+]
~\label{alg:sympabs1}
\caption{FM( $FG$ )} \label{alg:sympabs11}
~\label{alg1}
\caption{FM( $FG$ )} \label{alg11}
\begin{algorithmic}[1]
\REQUIRE {FG is a set of components (a functional~group)}
@ -100,7 +100,7 @@ $$FM(FG) = F$$
\end{algorithmic}
\end{algorithm}
Algorthim \ref{alg:sympabs11} has taken a functional~group $FG$ and returned a set of failure~modes $F=FM(FG)$
Algorthim \ref{alg11} has taken a functional~group $FG$ and returned a set of failure~modes $F=FM(FG)$
(given that each component has a known set of failure~modes).
The next task is to formulate `test cases'. These are a collection of combinations of these failure~modes and will be used
in the analysis stages.
@ -130,8 +130,8 @@ $$ DTC(F) = TC $$
\begin{algorithm}[h+]
~\label{alg:sympabs2}
\caption{DTC: (F) } \label{alg:sympabs22}
~\label{alg2}
\caption{DTC: (F) } \label{alg22}
\begin{algorithmic}[1]
\REQUIRE {F is a flat set of failure modes }
@ -184,7 +184,7 @@ $$ DTC(F) = TC $$
\end{algorithmic}
\end{algorithm}
Algorithm \ref{alg:sympabs22} has taken the set of failure modes $ F=FM(FG) $ and returned a set of test cases $TC$.
Algorithm \ref{alg22} has taken the set of failure modes $ F=FM(FG) $ and returned a set of test cases $TC$.
The next stage is to analyse the effect of each test case on the functional group.
@ -207,8 +207,8 @@ given by
$$ ATC(TC) = R $$
\begin{algorithm}[h+]
~\label{alg:sympabs3}
\caption{ATC(TC) } \label{alg:sympabs33}
~\label{alg3}
\caption{ATC(TC) } \label{alg33}
\begin{algorithmic}[1]
\STATE { let r be a `test case result'}
\STATE { Let the function $Analyse : tc \mapsto r $ } \COMMENT { This analysis is a human activity, examining the failure~modes in the test case and determining how the functional~group will fail under those conditions}
@ -225,7 +225,7 @@ $$ ATC(TC) = R $$
\end{algorithmic}
\end{algorithm}
Algorithm \ref{alg:sympabs33} has built the set $R$, the sub-system/functional group results for each test case.
Algorithm \ref{alg33} has built the set $R$, the sub-system/functional group results for each test case.
The analysis is primarily a human activity.
@ -273,9 +273,9 @@ given by
$$ FCS(R) = SP $$
\begin{algorithm}[h+]
~\label{alg:sympabs4}
~\label{alg4}
\caption{FCS($R$)} \label{alg:sympabs44}
\caption{FCS($R$)} \label{alg44}
\begin{algorithmic}[1]
@ -318,7 +318,7 @@ $$ FCS(R) = SP $$
\end{algorithmic}
\end{algorithm}
Algorithm \ref{alg:sympabs44} raises the failure~mode abstraction level, $\alpha$.
Algorithm \ref{alg44} raises the failure~mode abstraction level, $\alpha$.
The failures have now been considered not from the component level, but from the sub-system or
functional~group level.
We now have a set $SP$ of the symptoms of failure.
@ -364,9 +364,9 @@ given by
$$ CDC(SP) = DC $$
\begin{algorithm}[h+]
~\label{alg:sympabs5}
~\label{alg5}
\caption{CDC(SP) } \label{alg:sympabs55}
\caption{CDC(SP) } \label{alg55}
\begin{algorithmic}[1]
@ -384,7 +384,7 @@ $$ CDC(SP) = DC $$
\end{algorithmic}
\end{algorithm}
Algorithm \ref{alg:sympabs55} is the final stage in the process. We now have a
Algorithm \ref{alg55} is the final stage in the process. We now have a
derived~component $DC$, which has its own set of failure~modes. This can now be
used in with other components (or derived~components)
to form functional~groups at higher levels of failure~mode~abstraction.
@ -396,7 +396,7 @@ $$ \bowtie: \mathcal{FG} \mapsto \mathcal{DC} $$
\begin{algorithm}[h+]
\caption{$\bowtie(FG)$} \label{alg:sympabs66}
\caption{$\bowtie(FG)$} \label{alg66}
\begin{algorithmic}[1]

View File

@ -1,21 +0,0 @@
\ifthenelse {\boolean{paper}}
{
\input{abstract}
\input{fmmd}
}
{
\input{introducion}
}
\input{topbot}
\input{sys_abs}
\input{process}
\input{algorithm}
\vspace{40pt}
\today

View File

@ -6,6 +6,9 @@
\usepackage{amsfonts,amsmath,amsthm}
\usepackage{algorithm}
\usepackage{algorithmic}
%% fix for hyperref bug in algorithm package
\newcommand{\theHalgorithm}{\arabic{algorithm}}
\usepackage{ifthen}
\newboolean{paper}
\setboolean{paper}{false} % boolvar=true or false