% Guide.sty
% G. Marleau
% created : 1998/09/18
% modified: 1999/05/07
%           1999/05/07
%

\ProvidesPackage{GuideBW}[1999/09/07]
\RequirePackage{array,cite,ifthen,longtable} 
\gdef\@GuideVersion{0}
\newcommand\GuideVersion[1]{\gdef\@GuideVersion{#1}}

%
% \moc{Keyword}
% \dds{DragonDataStructure}
% \dusa{UserData}
% \dstr{InputStructure}
% \dir{Directory}
% \listedir{DirectoryList}
% \tst{TestCase}
%

\DeclareRobustCommand{\moc}[1]{\texttt{#1}\index{#1@\texttt{#1}}}
\DeclareRobustCommand{\dds}[1]{\textsc{#1}\index{#1@\textsc{#1}}}
\DeclareRobustCommand{\dusa}[1]{\textsl{#1}\index{#1@\textsl{#1}}}
\DeclareRobustCommand{\dstr}[1]{\textbf{(#1)}\index{#1@\textbf{(#1)}}}
\DeclareRobustCommand{\dir}[1]{\textrm{/#1/}\index{#1@\textrm{/#1/}}}
\DeclareRobustCommand{\listedir}[1]{\textrm{\{/#1/\}}\index{#1@\textrm{\{/#1/\}}}}
\DeclareRobustCommand{\namedir}[1]{\texttt{/#1/}\index{#1@\texttt{/#1/}}}
\DeclareRobustCommand{\tst}[1]{\textbf{#1}\index{#1@\textbf{#1}}}
%  
%  More commands
%
\newcommand{\keff}{\ensuremath{K_{\mathrm{eff}}}}
\newcommand{\kin}[1]{\ensuremath{\mathrm{Ki}_{#1}}}
\newcommand{\rv}{\ensuremath{\vec{r}}}
\newcommand{\Ov}{\ensuremath{\vec{\Omega}}}
\newcommand{\delv}{\ensuremath{\vec{\nabla}}}
\newcommand{\nv}{\ensuremath{\vec{N}}}
\newcommand{\drift}{\ensuremath{\vec{\Omega}\cdot\vec{\nabla}}}
\newcommand{\Iso}[2]{\ensuremath{^{#2}\mathrm{#1}}}
\newcommand{\Ltr}{\ensuremath{\mathcal{L}}}
\newcommand{\Ltrad}{\ensuremath{\mathcal{L}^{\dagger}}}
\newcommand{\xsunit}{\ensuremath{\mathrm{cm}^{-1}}}

%
% Environnement DataStructure
%
%   \begin{DataStructure}{Nom du tableau}
%   \end{DataStructure}}
%
%

\newenvironment{DataStructure}[1]{\noindent
\setlongtables \setlength{\LTleft}{0pt}\setlength{\LTright}{0pt}
\setlength{\LTcapwidth}{15.0cm}
\begin{longtable}{|p{15.5cm}|} 
\caption{#1}\\ 
\hline 
\multicolumn{1}{|l|}{} \\ 
\endfirsthead
\multicolumn{1}{l}{#1 \hfill continued from last page}\\ 
\hline 
\multicolumn{1}{|l|}{} \\ 
\endhead
\multicolumn{1}{|l|}{}\\ \hline
\multicolumn{1}{r}{continued on next page}\\
\endfoot
\multicolumn{1}{|l|}{}\\ \hline
\endlastfoot}
{\end{longtable} \vskip 0.5cm }

%
% Environnement DescriptionEnregisterment
%
%   \begin{DescriptionEnregisterment}{Nom du tableau}{dimension des commentaires}
%   \end{DescriptionEnregisterment}
%
% Peut contenir les commandes:
%   \IntEnr{Nom du record}{Dimension}{Commentaires}
%   \OptIntEnr{Nom du record}{Dimension}{Condition}
%             {Commentaires}
%   \RealEnr{Nom du record}{Dimension}{Commentaires}{Unites}
%   \OptRealEnr{Nom du record}{Dimension}{Condition}{Unites}
%             {Commentaires}
%   \DbleEnr{Nom du record}{Dimension}{Commentaires}{Unites}
%   \OptDbleEnr{Nom du record}{Dimension}{Condition}{Unites}
%             {Commentaires}
%   \CharEnr{Nom du record}{Dimension}{Commentaires}
%   \OptCharEnr{Nom du record}{Dimension}{Condition}
%             {Commentaires}
%   \DirEnr{Nom du repertoire}{Dimension}{Commentaires}
%   \OptDirEnr{Nom du repertoire}{Dimension}{Condition}
%             {Commentaires}
%   \DirlEnr{Nom du repertoire}{Dimension}{Commentaires}
%   \OptDirlEnr{Nom du repertoire}{Dimension}{Condition}{Commentaires}
%
%   \IntVar{Variable associee au Nom du record}{Dimension}{Commentaires}
%   \OptIntVar{Variable associee au Nom du record}{Dimension}{Condition}
%             {Commentaires}
%   \RealVar{Variable associee au Nom du record}{Dimension}{Commentaires}{Unites}
%   \OptRealVar{Variable associee au Nom du record}{Dimension}{Condition}{Unites}
%             {Commentaires}
%   \DbleVar{Variable associee au Nom du record}{Dimension}{Commentaires}{Unites}
%   \OptDbleVar{Variable associee au Nom du record}{Dimension}{Condition}{Unites}
%             {Commentaires}
%   \CharVar{Variable associee au Nom du record}{Dimension}{Commentaires}
%   \OptCharVar{Variable associee au Nom du record}{Dimension}{Condition}
%             {Commentaires}
%   \DirVar{Variable associee au Nom du repertoire}{Dimension}{Commentaires}
%   \OptDirVar{Variable associee au Nom du repertoire}{Dimension}{Condition}
%             {Commentaires}
%
%

\newenvironment{DescriptionEnregistrement}[2]{\noindent
\setlongtables \setlength{\LTleft}{0pt}\setlength{\LTright}{0pt}
\begin{longtable}{|llll@{\extracolsep{\fill}}p{#2}|} 
\caption{#1}\\ 
\hline \hline
\multicolumn{5}{|l|}{} \\ 
Name & Type & Condition &Units &Comment\\
\multicolumn{5}{|l|}{} \\ \hline 
\multicolumn{5}{|l|}{} \\ 
\endfirsthead
\multicolumn{5}{l}{#1 \hfill continued from last page}\\ 
\hline \hline
\multicolumn{5}{|l|}{} \\ 
Name & Type & Condition &Units &Comment\\
\multicolumn{5}{|l|}{} \\ \hline
\multicolumn{5}{|l|}{} \\ 
\endhead
\multicolumn{5}{|l|}{}\\ \hline\hline
\multicolumn{5}{r}{continued on next page}\\
\endfoot
\multicolumn{5}{|l|}{}\\ \hline\hline
\endlastfoot}
{\end{longtable} \vskip 0.5cm }


\newcommand{\IntEnr}[3]{    \texttt{#1} & I(#2)      &    &    &#3 \\}
\newcommand{\OptIntEnr}[4]{ \texttt{#1} & I(#2)      & #3 &    &#4 \\}
\newcommand{\RealEnr}[4]{   \texttt{#1} & R(#2)      &    & #3 &#4 \\}
\newcommand{\OptRealEnr}[5]{\texttt{#1} & R(#2)      & #3 & #4 &#5 \\}
\newcommand{\DbleEnr}[4]{   \texttt{#1} & D(#2)      &    & #3 &#4 \\}
\newcommand{\OptDbleEnr}[5]{\texttt{#1} & D(#2)      & #3 & #4 &#5 \\}
\newcommand{\CharEnr}[3]{   \texttt{#1} & C#2        &    &    &#3 \\}
\newcommand{\OptCharEnr}[4]{\texttt{#1} & C#2        & #3 &    &#4 \\}
\newcommand{\DirEnr}[2]{    \texttt{#1} & Dir        &    &    &#2 \\}
\newcommand{\OptDirEnr}[3]{ \texttt{#1} & Dir        & #2 &    &#3 \\}
\newcommand{\DirlEnr}[3]{   \texttt{#1} & Dir(#2)    &    &    &#3 \\}
\newcommand{\OptDirlEnr}[4]{\texttt{#1} & Dir(#2)    & #3 &    &#4 \\}

\newcommand{\IntVar}[3]{    \textsl{#1} & I(#2)      &    &    &#3 \\}
\newcommand{\OptIntVar}[4]{ \textsl{#1} & I(#2)      & #3 &    &#4 \\}
\newcommand{\RealVar}[4]{   \textsl{#1} & R(#2)      &    & #3 &#4 \\}
\newcommand{\OptRealVar}[5]{\textsl{#1} & R(#2)      & #3 & #4 &#5 \\}
\newcommand{\DbleVar}[4]{   \textsl{#1} & D(#2)      &    & #3 &#4 \\}
\newcommand{\OptDbleVar}[5]{\textsl{#1} & D(#2)      & #3 & #4 &#5 \\}
\newcommand{\CharVar}[3]{   \textsl{#1} & C#2        &    &    &#3 \\}
\newcommand{\OptCharVar}[4]{\textsl{#1} & C#2        & #3 &    &#4 \\}
\newcommand{\DirVar}[2]{    \textsl{#1} & Dir        &    &    &#2 \\}
\newcommand{\OptDirVar}[3]{ \textsl{#1} & Dir        & #2 &    &#3 \\}

%
% Environnement ListeDeNotation
%
%   \begin{ListeDeNotation}{largeur de l'etiquette}
%   \end{ListeDeNotation}
%

\newlength{\NotationLength}
\newcommand{\NotationLabel}[1]{\mbox{#1}\hfil}
\newenvironment{ListeDeNotation}[1]{%
  \begin{list}{}{\renewcommand{\makelabel}{\NotationLabel}%
                 \setlength{\NotationLength}{#1}%
                 \setlength{\labelwidth}{\NotationLength}%
                 \addtolength{\NotationLength}{\labelsep}%
                 \setlength{\leftmargin}{\NotationLength}%
                 }}{\end{list}}
%
% Environnement ListeDeDescription
%
%   \begin{ListeDeDescription}{Nom le plus large de l'etiquette}
%   \end{ListeDeDescription}
%
\newlength{\DescriptionLength}
\newcommand{\DescriptionLabel}[1]{\mbox{#1}\hfil}
\newenvironment{ListeDeDescription}[1]{%
  \begin{list}{}{\renewcommand{\makelabel}{\DescriptionLabel}%
                 \settowidth{\DescriptionLength}{\textbf{#1}}%
                 \setlength{\labelwidth}{\DescriptionLength}%
                 \addtolength{\DescriptionLength}{\labelsep}%
                 \setlength{\leftmargin}{\DescriptionLength}%
                 }}{\end{list}}


\newcommand{\Release}[2]{%
\ifthenelse{\equal{#1}{\@GuideVersion}}%
{#2 (\textsf{Release #1})}%
{#2 (\textsf{Release #1})}}
\newcommand{\Releasetmp}[1]{%
\ifthenelse{\equal{#1}{\@GuideVersion}}%
{(\textsf{Release #1})}%
{(\textsf{Release #1})}}
\newenvironment{GuideUpdate}[1]{%
  \hfill\Releasetmp{#1}%
  \ifthenelse{\equal{#1}{\@GuideVersion}}{}{}}{}
\newcommand{\BegRel}[1]{%
\ifthenelse{\equal{#1}{\@GuideVersion}}%
{}%
{}}
\newcommand{\EndRel}[0]{}
