diff options
Diffstat (limited to 'doc/UsersGuide/Reference.tex')
-rw-r--r-- | doc/UsersGuide/Reference.tex | 321 |
1 files changed, 321 insertions, 0 deletions
diff --git a/doc/UsersGuide/Reference.tex b/doc/UsersGuide/Reference.tex new file mode 100644 index 00000000..e12c4d55 --- /dev/null +++ b/doc/UsersGuide/Reference.tex @@ -0,0 +1,321 @@ +% /*@@ +% @file Reference.tex +% @date Saturday 5th July 2003 +% @author Gabrielle Allen +% @desc +% Main file for the Cactus Reference Manual +% @enddesc +% @version $Header$ +% @@*/ + +\documentclass{report} +\usepackage{fancyhdr,ifthen,calc} +\usepackage{../latex/cactus} + +\newif\ifpdf +\ifx\pdfoutput\undefined +\pdffalse % we are not running PDFLaTeX +\else +\pdfoutput=1 % we are running PDFLaTeX +\pdftrue +\fi + +\makeatletter +\@addtoreset{chapter}{part} +\makeatother + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\parskip = 0 pt +\parindent = 0pt +\oddsidemargin = 0 cm +\textwidth = 16 cm +\topmargin = -1 cm +\textheight = 24 cm + +\usepackage{tocloft} +\addtolength{\cftchapnumwidth}{0.5em} +\addtolength{\cftsecnumwidth}{0.5em} +\addtolength{\cftsubsecnumwidth}{0.5em} +\addtolength{\cftsubsubsecnumwidth}{0.5em} + +\ifpdf +\pdfinfo{ /Author (Gabrielle Allen, Tom Goodale, Gerd Lanfermann, Thomas Radke, David Rideout, Jonathan Thornburg) + /Title (Cactus Reference Manual) +} +\usepackage[pdftex,plainpages=false,pdfpagelabels,hypertexnames=false, + colorlinks=true,pdfstartview=FitV, + linkcolor=blue,citecolor=blue, + urlcolor=blue]{hyperref} +\usepackage{graphicx} +\usepackage{thumbpdf} +\else +\usepackage{graphicx} +\fi + +\def\q{\bf QUERY: } +\def\t{\tt \obeylines } +\def\ie{\hbox{i.e.\hbox{}}} + +% nicely typeset "C++" (adapted from a comp.lang.C++ FAQ entry) +\def\Cplusplus{\hbox{C\hspace{-.05em}\raisebox{.4ex}{\tiny\bf ++}}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newenvironment{CCTKroutine}{\newpage}{} +\newenvironment{CCTKsyn}{\noindent\begin{tabular}{@{}p{3cm}cp{11cm}}&&\\{\bf Synopsis} \hfill&&\\}{\end{tabular}} +% The above needs to be fixed -- sometimes it runs off the page (e.g. with cctk_complex arguments...) +\newenvironment{CCTKpar}{\noindent\begin{tabular}{@{}p{3cm}cp{11cm}}&&\\{\bf Parameters} \hfill&&\\}{\end{tabular}} +\newcommand{\CCTKname}[1]{\noindent{\t #1}\hrule} +\newcommand{\CCTKdesc}[1]{\vskip .3cm \noindent #1} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%Define some saveboxes to hold data +\newsavebox{\cctkbox} +\newsavebox{\cctkcargbox} +\newsavebox{\cctkfargbox} +\newsavebox{\cctkfargdefs} +\newsavebox{\cctkcsepbox} +\newsavebox{\cctkfsepbox} +\newsavebox{\cctkfdefssep} +\newsavebox{\cctkcprefix} +\newsavebox{\cctkfprefix} +\newsavebox{\cctkparambox} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newenvironment{CCTKFunc}[2] + {\sbox{\cctkbox}{#1} + \newpage + \noindent{\t #1}\hrule + \vskip .3cm \noindent #2\\ +%Clear the saveboxes - this may not be neccessary + \sbox{\cctkcargbox}{} + \sbox{\cctkfargbox}{} + \sbox{\cctkfargdefs}{} + \sbox{\cctkcsepbox}{} + \sbox{\cctkfsepbox}{} + \sbox{\cctkfdefssep}{} + \sbox{\cctkcprefix}{} + \sbox{\cctkfprefix}{} +%A command to add an argument - takes ctype, ftype, name + \newcommand{\argument}[3] + {\sbox{\cctkcargbox}{\usebox{\cctkcargbox}\usebox{\cctkcsepbox} ##1 ##3} + \sbox{\cctkcsepbox}{,} + \sbox{\cctkfargbox}{\usebox{\cctkfargbox}\usebox{\cctkfsepbox} ##3} + \sbox{\cctkfsepbox}{,} + \sbox{\cctkfargdefs}{\noindent{}\vbox{\noindent\usebox{\cctkfargdefs}\noindent\usebox{\cctkfdefssep}\noindent {} ##2 ##3}} + \sbox{\cctkfdefssep}{\\} + } +%Use this command if it is a subroutine, same args as \argument + \newcommand{\subroutine}[3] + {\sbox{\cctkcprefix}{##1 ##3 =} + \sbox{\cctkfprefix}{call} + \sbox{\cctkfargbox}{##3\usebox{\cctkfsepbox} \usebox{\cctkfargbox}} + \sbox{\cctkfsepbox}{,} + \sbox{\cctkfargdefs}{\noindent{}\vbox{\noindent ##2 ##3 \usebox{\cctkfdefssep}\noindent{}\usebox{\cctkfargdefs}}} + \sbox{\cctkfdefssep}{\\} + } + +%Use this command if it is a function, same args as \argument + \newcommand{\function}[3] + {\sbox{\cctkcprefix}{##1 ##3 =} + \sbox{\cctkfprefix}{##3 = } + \sbox{\cctkfargdefs}{\noindent{}\vbox{\noindent ##2 ##3 \usebox{\cctkfdefssep}\noindent{}\usebox{\cctkfargdefs}}} + \sbox{\cctkfdefssep}{\\} + } + +%Use this to display the arguments + \newcommand{\showargs} + {\noindent + \begin{tabular}{@{}p{3cm}cp{11cm}}&&\\ +{\bf Synopsis} \hfill&&\\ +\hfill {\bf C} && {\t \usebox{\cctkcprefix} \usebox{\cctkbox}(\usebox{\cctkcargbox})}\\ +\hfill {\bf Fortran} && +{\t \usebox{\cctkfprefix} \usebox{\cctkbox}(\usebox{\cctkfargbox} ) }\\ +&&\noindent\usebox{\cctkfargdefs} +\end{tabular}\\ +} + +%Use this to display the C arguments + \newcommand{\showcargs} + {\noindent + \begin{tabular}{@{}p{3cm}cp{11cm}}&&\\ +{\bf Synopsis} \hfill&&\\ +\hfill {\bf C} && {\t \usebox{\cctkcprefix} \usebox{\cctkbox}(\usebox{\cctkcargbox})}\\ +\end{tabular}\\ +} + + +%Environment for describing parameters + \newenvironment{params}{ + \noindent\begin{tabular}{@{}p{3cm}cp{11cm}}&&\\{\bf Parameters} \hfill&&\\}{\end{tabular}\\} +%Command to describe a parameter, takes name and description + \newcommand{\parameter}[2]{ +\\ +\hfill {\t ##1} &-&##2 +\\ +} +%Environment for discussion + \newenvironment{discussion} + {\noindent + \begin{tabular}{@{}p{14cm}} + \\{\bf Discussion} \hfill\\ + } + { + \end{tabular}\\ + } +%Environment for examples + \newenvironment{examples} + {\noindent + \begin{tabular}{@{}p{14cm}} + \\{\bf Examples} \hfill\\ + } + { + \end{tabular}\\\\ + } + +%Environment for describing errors + \newenvironment{errorcodes} + {\noindent + \begin{tabular}{@{}p{6cm}cp{10cm}}&&\\ + {\bf Errors} \hfill&&\\} + {\end{tabular}\\} +%Command to describe an errorcode, takes name and description + \newcommand{\errorcode}[2]{ +\\ +\hfill {\t ##1} &-&##2 +\\ +} + +}% end of \begin{CCTKFunc} expansion +{}% \end{CCTKFunc} expansion + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ***** \cactustitlepage ***** +% +% Takes three arguments - the name of the document, the revision, and +% the date. +% Additionally there is an optional first argument with the version number +% +\newcommand{\cactustitlepage}[4][4.0] +{ +\thispagestyle{empty} +\setlength{\parindent}{0mm} +\setlength{\parskip}{0mm} +\vspace*{\stretch{1}} +\rule{\linewidth}{1mm} +\begin{flushright} + \Huge Cactus #1\\[5mm] + #2 +\end{flushright} +\rule{\linewidth}{1mm} +\vspace*{\stretch{2}} +\begin{center} +\ifpdf +\else +\includegraphics[angle=0,width=5cm]{bincactus2.eps} +\fi +\end{center} +\vspace*{\stretch{2}} +\begin{center} + \Large #3 \\[3mm] + #4 +\end{center} +\newpage +\setlength{\parindent}{0mm} +\setlength{\parskip}{0mm} +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newenvironment{cactuspart}[4] +{ + \clearpage + \renewcommand{\thepage}{\Alph{part}\arabic{page}} + % Redefine the plain style + \fancypagestyle{plain} + { + \fancyhf{} % Clear all header and footer fields + \lfoot{#3} + \cfoot{#4} + \rfoot{\thepage/\pageref{lastpage:\thepart}} + \renewcommand{\headrulewidth}{0.0pt} + \renewcommand{\footrulewidth}{0.4pt} + \renewcommand{\thepage}{\Alph{part}\arabic{page}} + } + + % Make sure it's arabic numbering + \pagenumbering{arabic} + % Start the page counter at 1 + \setcounter{page}{1} + % Start a new part + \renewcommand{\thepage}{\Alph{part}\arabic{page}} + \part{#2} + \setcounter{part}{#1} + % Redefine the page + % Set up fancy headings. + \lfoot{#3} + \cfoot{#4} + \rfoot{\thepage/\pageref{lastpage:\thepart}} + \renewcommand{\headrulewidth}{0.4pt} + \renewcommand{\footrulewidth}{0.4pt} +} +{ + % Remember the last page of the + \label{lastpage:\thepart} + \clearpage +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{document} + +\ifpdf +\DeclareGraphicsExtensions{.pdf, .jpg} +\else +\DeclareGraphicsExtensions{.eps, .jpg} +\fi + +\cactustitlepage{Reference Manual}{$ $Revision$ $}{$ $Date$ $} + +\setcounter{page}{1} + +% Table of contents +\pagenumbering{roman} + +\tableofcontents + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\renewcommand{\thepart}{\Alph{part}} +\renewcommand{\thechapter}{\Alph{part}\arabic{chapter}} +\renewcommand{\thepage}{\Alph{part}\arabic{page}} +\pagestyle{fancy} +\parskip = 10 pt +\parindent = 0pt + +\newpage + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\include{Preface} + + +\include{FunctionReference} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\end{document} |