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

View File

@ -79,8 +79,8 @@ $$FM(FG) = F$$
%% %%
\begin{algorithm}[h+] \begin{algorithm}[h+]
~\label{alg:sympabs1} ~\label{alg1}
\caption{FM( $FG$ )} \label{alg:sympabs11} \caption{FM( $FG$ )} \label{alg11}
\begin{algorithmic}[1] \begin{algorithmic}[1]
\REQUIRE {FG is a set of components (a functional~group)} \REQUIRE {FG is a set of components (a functional~group)}
@ -100,7 +100,7 @@ $$FM(FG) = F$$
\end{algorithmic} \end{algorithmic}
\end{algorithm} \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). (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 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. in the analysis stages.
@ -130,8 +130,8 @@ $$ DTC(F) = TC $$
\begin{algorithm}[h+] \begin{algorithm}[h+]
~\label{alg:sympabs2} ~\label{alg2}
\caption{DTC: (F) } \label{alg:sympabs22} \caption{DTC: (F) } \label{alg22}
\begin{algorithmic}[1] \begin{algorithmic}[1]
\REQUIRE {F is a flat set of failure modes } \REQUIRE {F is a flat set of failure modes }
@ -184,7 +184,7 @@ $$ DTC(F) = TC $$
\end{algorithmic} \end{algorithmic}
\end{algorithm} \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. 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 $$ $$ ATC(TC) = R $$
\begin{algorithm}[h+] \begin{algorithm}[h+]
~\label{alg:sympabs3} ~\label{alg3}
\caption{ATC(TC) } \label{alg:sympabs33} \caption{ATC(TC) } \label{alg33}
\begin{algorithmic}[1] \begin{algorithmic}[1]
\STATE { let r be a `test case result'} \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} \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{algorithmic}
\end{algorithm} \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. The analysis is primarily a human activity.
@ -273,9 +273,9 @@ given by
$$ FCS(R) = SP $$ $$ FCS(R) = SP $$
\begin{algorithm}[h+] \begin{algorithm}[h+]
~\label{alg:sympabs4} ~\label{alg4}
\caption{FCS($R$)} \label{alg:sympabs44} \caption{FCS($R$)} \label{alg44}
\begin{algorithmic}[1] \begin{algorithmic}[1]
@ -318,7 +318,7 @@ $$ FCS(R) = SP $$
\end{algorithmic} \end{algorithmic}
\end{algorithm} \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 The failures have now been considered not from the component level, but from the sub-system or
functional~group level. functional~group level.
We now have a set $SP$ of the symptoms of failure. We now have a set $SP$ of the symptoms of failure.
@ -364,9 +364,9 @@ given by
$$ CDC(SP) = DC $$ $$ CDC(SP) = DC $$
\begin{algorithm}[h+] \begin{algorithm}[h+]
~\label{alg:sympabs5} ~\label{alg5}
\caption{CDC(SP) } \label{alg:sympabs55} \caption{CDC(SP) } \label{alg55}
\begin{algorithmic}[1] \begin{algorithmic}[1]
@ -384,7 +384,7 @@ $$ CDC(SP) = DC $$
\end{algorithmic} \end{algorithmic}
\end{algorithm} \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 derived~component $DC$, which has its own set of failure~modes. This can now be
used in with other components (or derived~components) used in with other components (or derived~components)
to form functional~groups at higher levels of failure~mode~abstraction. to form functional~groups at higher levels of failure~mode~abstraction.
@ -396,7 +396,7 @@ $$ \bowtie: \mathcal{FG} \mapsto \mathcal{DC} $$
\begin{algorithm}[h+] \begin{algorithm}[h+]
\caption{$\bowtie(FG)$} \label{alg:sympabs66} \caption{$\bowtie(FG)$} \label{alg66}
\begin{algorithmic}[1] \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{amsfonts,amsmath,amsthm}
\usepackage{algorithm} \usepackage{algorithm}
\usepackage{algorithmic} \usepackage{algorithmic}
%% fix for hyperref bug in algorithm package
\newcommand{\theHalgorithm}{\arabic{algorithm}}
\usepackage{ifthen} \usepackage{ifthen}
\newboolean{paper} \newboolean{paper}
\setboolean{paper}{false} % boolvar=true or false \setboolean{paper}{false} % boolvar=true or false