summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorschnetter <schnetter@17b73243-c579-4c4c-a9d2-2d5706c11dac>2003-07-18 18:54:18 +0000
committerschnetter <schnetter@17b73243-c579-4c4c-a9d2-2d5706c11dac>2003-07-18 18:54:18 +0000
commit67d7b09601e6c4de65b7dc8883bce917e5b44c96 (patch)
tree762600124a1a061ffcbb2096bdbe4fa55a92bced /doc
parent996d199af97ad532deb03de7e2159d4c8b282c79 (diff)
Move most of the (duplicated) latex headers into cactus.sty.
Fix typos in template.tex. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3295 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'doc')
-rw-r--r--doc/MaintGuide/MaintGuide.tex239
-rw-r--r--doc/ThornGuide/Makefile46
-rw-r--r--doc/ThornGuide/cactus.sty6
-rw-r--r--doc/ThornGuide/template.tex14
-rw-r--r--doc/UsersGuide/UsersGuide.tex231
-rw-r--r--doc/latex/cactus.sty265
6 files changed, 280 insertions, 521 deletions
diff --git a/doc/MaintGuide/MaintGuide.tex b/doc/MaintGuide/MaintGuide.tex
index 41c82ee0..18b98927 100644
--- a/doc/MaintGuide/MaintGuide.tex
+++ b/doc/MaintGuide/MaintGuide.tex
@@ -10,8 +10,6 @@
\documentclass{report}
-\usepackage{fancyhdr}
-
\usepackage[
pdfauthor={Gabrielle Allen, Tom Goodale, Gerd Lanfermann, Thomas Radke, David Rideout, Jonathan Thornburg},
pdftitle={Cactus Users Guide},
@@ -25,8 +23,6 @@ citecolor=blue,
urlcolor=blue
]{hyperref}
-\usepackage{thumbpdf}
-
% This must come after most of the other \usepackages, because we
@@ -35,15 +31,6 @@ urlcolor=blue
-% This must come after \usepackage{../latex/cactus}, because we
-% want to reset the page size
-\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}
@@ -54,210 +41,6 @@ urlcolor=blue
\@addtoreset{chapter}{part}
\makeatother
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\q{\bf QUERY: }
-\def\t{\tt \obeylines }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newenvironment{CCTKroutine}{\newpage}{}
-\newenvironment{CCTKsyn}{\noindent\begin{tabular}{@{}p{3cm}cp{11cm}}&&\\{\bf Synopis} \hfill&&\\}{\end{tabular}}
-\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 Synopis} \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 Synopis} \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
-\\
-}
-
-}
- {
- }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Takes three arguments - the name of the document, the revision, and
-% the date.
-% Additionally ther eis 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}
-\includegraphics[angle=0,width=5cm]{bincactus2}
-\end{center}
-\vspace*{\stretch{2}}
-\begin{center}
- \Large #3 \\[3mm]
- #4
-\end{center}
-\newpage
-}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\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
-}
-
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -310,29 +93,7 @@ $}{$ $Date$ $}
\include{Appendices}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
-
-
-
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% The rest is just odd bits for use in future documents.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
diff --git a/doc/ThornGuide/Makefile b/doc/ThornGuide/Makefile
index 05f80cd5..332d2e72 100644
--- a/doc/ThornGuide/Makefile
+++ b/doc/ThornGuide/Makefile
@@ -43,58 +43,54 @@ IMAGE_FILE=$(CCTK_HOME)/doc/UsersGuide/bincactus2.eps
default : $(MASTER_FILE).ps
$(MASTER_FILE).ps: $(MASTER_FILE).dvi
- @echo " Running dvips on $<"
+ @echo " Running dvips on $<...."
dvips -f $< 2> LOG_DVIPS_MSGS | $(CCTK_HOME)/lib/sbin/FixPageNumbersInPostscript.pl > $@
if test -e "$@"; then \
echo " $@ created."; \
else \
echo " Cannot find $@, an error must have occured."; \
- fi ;
+ fi
$(MASTER_FILE).dvi: $(MASTER_FILE).tex
- @echo " Latexing $<"
- latex -interaction=nonstopmode $< > LOG_NULL 2>&1; \
- latex -interaction=nonstopmode $< > LOG_NULL 2>&1; \
- latex -interaction=nonstopmode $< > LOG_NULL 2>&1; \
- latex -interaction=nonstopmode $< | grep -v Underfull | grep -v Overfull | grep -v OT1 > LOG_LATEX_MSGS 2>&1; \
+ @echo " Latexing $<...."
+ latex $< < /dev/null > LOG_LATEX_FULL_MSGS 2>&1
+ latex $< < /dev/null > LOG_LATEX_FULL_MSGS 2>&1
+ latex $< < /dev/null 2>&1 | tee LOG_LATEX_FULL_MSGS | grep -v Underfull | grep -v Overfull | grep -v OT1 > LOG_LATEX_MSGS
if test -e "$@"; then \
echo " $@ created."; \
else \
echo " Cannot find $@, an error must have occured."; \
- fi ;
+ fi
$(MASTER_FILE).pdf: $(MASTER_FILE).tex
- @echo " Running pdflatex on $<"
-
- pdflatex -interaction=nonstopmode $< > LOG_NULL 2>&1; \
- pdflatex -interaction=nonstopmode $< > LOG_NULL 2>&1; \
- pdflatex -interaction=nonstopmode $< > LOG_NULL 2>&1; \
- pdflatex -interaction=nonstopmode $< | grep -v Underfull | grep -v Overfull | grep -v OT1 > LOG_PDFLATEX_MSGS 2>&1
-
+ @echo " Running pdflatex on $<...."
+ pdflatex $< < /dev/null > LOG_PDFLATEX_MSGS 2>&1
+ pdflatex $< < /dev/null > LOG_PDFLATEX_MSGS 2>&1
+ pdflatex $< < /dev/null 2>&1 | grep -v Underfull | grep -v Overfull | grep -v OT1 > LOG_PDFLATEX_MSGS
if test -e "$@"; then \
echo " $@ created."; \
else \
echo " Cannot find $@, an error must have occured."; \
- fi ;
+ fi
$(MASTER_FILE).tex: $(foreach thorn, $(THORN_DEPENDENCIES), $(thorn)/param.ccl $(thorn)/interface.ccl $(thorn)/schedule.ccl) $(THORNLIST)
@echo " Creating thorn documentation $(MASTER_FILE).tex"
- @echo " Processing ..."
- @echo " param.ccl ..."
+ @echo " Processing...."
+ @echo " param.ccl...."
$(PERL) -s $(CCTK_HOME)/lib/sbin/ParamLatex.pl -cctk_home=$(CCTK_HOME) -directory=$(ARRANGEMENTS_DIR) -thornlist=$(THORNLIST) -outdir=./ -section -grouping=bythorn -sort=scope > LOG_PARAMLATEX_MSGS 2>&1
- @echo " interface.ccl ..."
+ @echo " interface.ccl...."
$(PERL) -s $(CCTK_HOME)/lib/sbin/InterLatex.pl -cctk_home=$(CCTK_HOME) -directory=$(ARRANGEMENTS_DIR) -thornlist=$(THORNLIST) -outdir=./ -section -grouping=bythorn > LOG_INTERLATEX_MSGS 2>&1
- @echo " schedule.ccl ..."
+ @echo " schedule.ccl...."
$(PERL) -s $(CCTK_HOME)/lib/sbin/SchedLatex.pl -cctk_home=$(CCTK_HOME) -directory=$(ARRANGEMENTS_DIR) -thornlist=$(THORNLIST) -outdir=./ -section > LOG_SCHEDLATEX_MSGS 2>&1
- @echo " Creating $@ ..."
+ @echo " Creating $@...."
$(PERL) -s $(CCTK_HOME)/lib/sbin/ThornGuide.pl -cctk_home=$(CCTK_HOME) -directory=$(ARRANGEMENTS_DIR) -thornlist=$(THORNLIST) -outdir=./ -outfile=$(MASTER_FILE).tex -tocdepth=$(TOCDEPTH) > LOG_THORNGUIDE_MSGS 2>&1
- if test -e $(IMAGE_FILE) && test ! -e "bincactus.eps"; then \
- cp $(IMAGE_FILE) bincactus.eps; \
- fi ;
+ if test -e $(IMAGE_FILE) && test ! -e "bincactus2.eps"; then \
+ cp $(IMAGE_FILE) .; \
+ fi
make.thornlist: $(THORNLIST)
THORN_DEPENDENCIES=`$(PERL) -s $(CCTK_HOME)/lib/sbin/ThornList.pl -arrangements_dir=$(ARRANGEMENTS_DIR) -thornlist=$(THORNLIST)`
$(THORNLIST):
- @echo "Creating $@ ..."
+ @echo "Creating $@...."
$(PERL) -s $(CCTK_HOME)/lib/sbin/ThornList.pl -arrangements_dir=$(ARRANGEMENTS_DIR) -thorns=$(THORNS) -arrangements=$(ARRANGEMENTS)> $@
diff --git a/doc/ThornGuide/cactus.sty b/doc/ThornGuide/cactus.sty
index 479e318f..fb686adb 100644
--- a/doc/ThornGuide/cactus.sty
+++ b/doc/ThornGuide/cactus.sty
@@ -2,6 +2,11 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
+%%%
+%%% This file is outdated. It is not intended to be used.
+%%% Please use ../latex/cactus.sty instead.
+%%%
+
\def\CA@styledate{\CA@getcvsdate $Date$}
\def\CA@styleversion{\CA@getcvsversion $Revision$}
@@ -38,6 +43,7 @@
% Load in other packages.
\RequirePackage{graphicx}
+\RequirePackage{hyperref}
\RequirePackage{latexsym}
\RequirePackage{amssymb}
\RequirePackage{ifthen}
diff --git a/doc/ThornGuide/template.tex b/doc/ThornGuide/template.tex
index 49d68f69..4ea38dd4 100644
--- a/doc/ThornGuide/template.tex
+++ b/doc/ThornGuide/template.tex
@@ -8,7 +8,7 @@
% will be included in ThornGuides built with the Cactus make system.
% The scripts employed by the make system automatically include
% pages about variables, parameters and scheduling parsed from the
-% relevent thorn CCL files.
+% relevant thorn CCL files.
%
% This template contains guidelines which help to assure that your
% documentation will be correctly added to ThornGuides. More
@@ -19,7 +19,7 @@
% % START CACTUS THORNGUIDE",
% except for filling in the title, author, date etc. fields.
% - Each of these fields should only be on ONE line.
-% - Author names should be sparated with a \\ or a comma
+% - Author names should be separated with a \\ or a comma
% - You can define your own macros, but they must appear after
% the START CACTUS THORNGUIDE line, and must not redefine standard
% latex commands.
@@ -29,12 +29,12 @@
% ARRANGEMENT_THORN_LABEL
% For example, an image wave.eps in the arrangement CactusWave and
% thorn WaveToyC should be renamed to CactusWave_WaveToyC_wave.eps
-% - Graphics should only be included using the graphix package.
-% More specifically, with the "includegraphics" command. Do
+% - Graphics should only be included using the graphicx package.
+% More specifically, with the "\includegraphics" command. Do
% not specify any graphic file extensions in your .tex file. This
% will allow us (later) to create a PDF version of the ThornGuide
-% via pdflatex. |
-% - References should be included with the latex "bibitem" command.
+% via pdflatex.
+% - References should be included with the latex "\bibitem" command.
% - Use \begin{abstract}...\end{abstract} instead of \abstract{...}
% - Do not use \appendix, instead include any appendices you need as
% standard sections.
@@ -74,7 +74,7 @@
% (Automatically used from Cactus distribution, if you have a
% thorn without the Cactus Flesh download this from the Cactus
% homepage at www.cactuscode.org)
-\usepackage{../../../../doc/ThornGuide/cactus}
+\usepackage{../../../../doc/latex/cactus}
\begin{document}
diff --git a/doc/UsersGuide/UsersGuide.tex b/doc/UsersGuide/UsersGuide.tex
index cce15787..70d7f183 100644
--- a/doc/UsersGuide/UsersGuide.tex
+++ b/doc/UsersGuide/UsersGuide.tex
@@ -10,8 +10,6 @@
\documentclass{report}
-\usepackage{fancyhdr}
-
\usepackage[
pdfauthor={Gabrielle Allen, Tom Goodale, Gerd Lanfermann, Thomas Radke, David Rideout, Jonathan Thornburg},
pdftitle={Cactus Users Guide},
@@ -25,8 +23,6 @@ citecolor=blue,
urlcolor=blue
]{hyperref}
-\usepackage{thumbpdf}
-
% This must come after most of the other \usepackages, because we
@@ -35,15 +31,6 @@ urlcolor=blue
-% This must come after \usepackage{../latex/cactus}, because we
-% want to reset the page size
-\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}
@@ -56,220 +43,6 @@ urlcolor=blue
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\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}
-\includegraphics[angle=0,width=5cm]{bincactus2}
-\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
-}
-
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -315,10 +88,6 @@ urlcolor=blue
\include{Appendices}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/doc/latex/cactus.sty b/doc/latex/cactus.sty
index 29f26edd..1dc0aa41 100644
--- a/doc/latex/cactus.sty
+++ b/doc/latex/cactus.sty
@@ -1,12 +1,14 @@
% @version $Header$
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
\def\CA@styledate{\CA@getcvsdate $Date$}
\def\CA@styleversion{\CA@getcvsversion $Revision$}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\CA@getcvsdate $#1:#2/#3/#4 #5:#6:#7${#2/#3/#4}
\def\CA@getcvsversion $#1:#2${#2}
@@ -34,39 +36,58 @@
}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Check if we are under pdftex
-\newif\ifCA@pdf
-\ifx\pdfoutput\undefined
- \CA@pdffalse % we are not running PDFLaTeX
-\else
- \pdfoutput=1 % we are running PDFLaTeX
- \CA@pdftrue
- % Add the pdftex option to a subsequent load of graphicx
- \PassOptionsToPackage{pdftex}{graphicx}
-\fi
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Load in other packages.
+\RequirePackage{fancyhdr}
\RequirePackage{graphicx}
\RequirePackage{hyperref}
\RequirePackage{latexsym}
\RequirePackage{amssymb}
\RequirePackage{ifthen}
\RequirePackage{calc}
-\RequirePackage{hyperref}
+\RequirePackage{thumbpdf}
-\parskip = 2 pt
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\parskip = 10 pt
+\parindent = 0 pt
\oddsidemargin = 0 cm
\textwidth = 16 cm
\topmargin = -1 cm
\textheight = 24 cm
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
% macros
\def\text#1{{\rm #1}}
+\def\q{\bf QUERY: }
+\def\t{\tt \obeylines }
+\def\ie{\hbox{i.e.\hbox{}}}
+
+\def\nhat{{\hat n}}
+\def\vone{{v_{{}_{(1)}}}}
+\def\vtwo{{v_{{}_{(2)}}}}
+\def\vthree{{v_{{}_{(3)}}}}
+\def\eref#1{(\ref{#1})}
+
+% nicely typeset "C++" (adapted from a comp.lang.C++ FAQ entry)
+\def\Cplusplus{\hbox{C\hspace{-.05em}\raisebox{.4ex}{\tiny\bf ++}}}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% MANPAGE like description setting for options, use as % \begin{Lentry}
%\item[text] text \end{Lentry} \usepackage{ifthen,calc}
@@ -93,6 +114,137 @@
\begin{entry}}
{\end{entry}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\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
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -312,6 +464,81 @@
{%%%
}%%% % \end{FunctionDescription} expansion is empty
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Takes three arguments - the name of the document, the revision, and
+% the date.
+% Additionally ther eis 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}
+\includegraphics[angle=0,width=5cm]{bincactus2}
+\end{center}
+\vspace*{\stretch{2}}
+\begin{center}
+ \Large #3 \\[3mm]
+ #4
+\end{center}
+\newpage
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{10pt}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\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
+}
+
+
+
\endinput
-%%
%% End of cactus.sty