summaryrefslogtreecommitdiff
path: root/doc/latex
diff options
context:
space:
mode:
authorrideout <rideout@17b73243-c579-4c4c-a9d2-2d5706c11dac>2002-09-04 13:51:45 +0000
committerrideout <rideout@17b73243-c579-4c4c-a9d2-2d5706c11dac>2002-09-04 13:51:45 +0000
commit517d5a6c31721ffea17382c15ab0289a17fb7eae (patch)
tree5dcdfc79bccac9d161519389b88bfb004cc8cbd2 /doc/latex
parentab453359a9828dd58bdd59b9fb6d0418819862eb (diff)
Moved from doc/ThornGuide to more "global" location.
Added Jonathan Thornburg's FunctionDescription environment. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2993 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'doc/latex')
-rw-r--r--doc/latex/cactus.sty297
1 files changed, 297 insertions, 0 deletions
diff --git a/doc/latex/cactus.sty b/doc/latex/cactus.sty
new file mode 100644
index 00000000..d28e2392
--- /dev/null
+++ b/doc/latex/cactus.sty
@@ -0,0 +1,297 @@
+% @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}
+
+\IfFileExists{../interface.ccl}
+{
+ \ProvidesPackage{../../../../doc/ThornGuide/cactus}[\CA@styledate \CA@styleversion]
+}
+{
+ \ProvidesPackage{cactus}[\CA@styledate \CA@styleversion]
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% 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{graphicx}
+\RequirePackage{latexsym}
+\RequirePackage{amssymb}
+\RequirePackage{ifthen}
+\RequirePackage{calc}
+
+\parskip = 2 pt
+\oddsidemargin = 0 cm
+\textwidth = 16 cm
+\topmargin = -1 cm
+\textheight = 24 cm
+
+% macros
+\def\text#1{{\rm #1}}
+
+% MANPAGE like description setting for options, use as % \begin{Lentry}
+%\item[text] text \end{Lentry} \usepackage{ifthen,calc}
+\newcommand{\entrylabel}[1]{\mbox{\textsf{#1}}\hfil}
+\newenvironment{entry}
+ {\begin{list}{}
+ {\renewcommand{\makelabel}{\entrylabel}
+ \setlength{\labelwidth}{90pt}
+ \setlength{\leftmargin}{\labelwidth+\labelsep}
+ }
+ }
+ {\end{list}} \newlength{\Mylen} \newcommand{\Lentrylabel}[1]{%
+ \settowidth{\Mylen}{\textsf{#1}}%
+ \ifthenelse{\lengthtest{\Mylen > \labelwidth}}%
+ {\parbox[b]{\labelwidth} % term > labelwidth
+ {\makebox[0pt][l]{\textsf{#1}}\\}} %
+ {\textsf{#1}} %
+ \hfil\relax} \newenvironment{Lentry}
+ {\renewcommand{\entrylabel}{\Lentrylabel}
+ \begin{entry}}
+ {\end{entry}}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%
+% Alternate environments/macros to define function descriptions
+% (can/should be used to replace CCTKFunc environment)
+% Jonathan Thornburg, 10 Nov 2001, revised 26 Mar 2002 & 3 Apr 2002
+%
+% Usage:
+% \begin{FunctionDescription}{name}
+% \label{label}
+% Synopsis for this function (running text rules)
+%
+% \begin{SynopsisSection}
+% \begin{Synopsis}{C}
+% text of C function synopsis (running text rules)
+% \end{Synopsis}
+% \begin{Synopsis}{Fortran}
+% text of Fortran function synopsis (running text rules)
+% \end{Synopsis}
+% \end{SynopsisSection}
+%
+% \begin{ResultSection}
+% \begin{ResultNote}
+% optional note to go at the beginning of all results
+% (running text rules)
+% \end{ResultNote}
+% \begin{Result}{name or value (automatically in \tt font)}
+% desription of what the result means in general,
+% or of what this particular result value means (running text rules)
+% \end{Result}
+% \end{ResultSection}
+%
+% \begin{ParameterSection}
+% \begin{Parameter}{name (automatically in \tt font)}
+% desription of parameter (running text rules)
+% \end{Parameter}
+% \begin{Parameter}{name2 (automatically in \tt font)}
+% desription of another parameter (running text rules)
+% \end{Parameter}
+% \end{ParameterSection}
+%
+% \begin{Discussion}
+% (note that there is no "DiscussionSection" environment!)
+% discussion (running text rules)
+%
+% another paragraph of discussion (running text rules)
+%
+% yet another paragraph of discussion (running text rules)
+% \end{Discussion}
+%
+% \begin{SeeAlsoSection}
+% \begin{SeeAlso}{name (automatically in \tt font)
+% cross-references to other function of that name (running text rules)
+% \end{SeeAlso}
+% \begin{SeeAlso}{name2 (automatically in \tt font)
+% cross-references to another function (running text rules)
+% \end{SeeAlso}
+% \end{SeeAlsoSection}
+%
+% \begin{ErrorSection}
+% \begin{Error}{error\_code (automatically in \tt font)}
+% description of what this error code means (running text rules)
+% \end{Error}
+% \begin{Error}{error\_code2 (automatically in \tt font)}
+% description of what next error code means (running text rules)
+% \end{Error}
+% \end{ErrorSection}
+%
+% \begin{ExampleSection}
+% \begin{Example}{C}
+% example C code (running text rules)
+% \end{Example}
+% \begin{Example}{Fortran}
+% example Fortran code (running text rules)
+% \end{Example}
+% \end{ExampleSection}
+%
+% For arguments which are automatically in \tt font, \tt may be used
+% to switch back to normal Roman font (eg for a numerical value), and
+% $...$ may be used for math mode (eg ($\ge 0$) to mark a result
+% which is always non-negative).
+%
+% Each "running text rules" item is the body of a latex environment,
+% so it may include multiple lines or even paragraphs. Normally
+% underscore must be escaped (\_), but \verb|...| and/or
+% \begin{verbatim}
+% ...
+% \end{verbatim}
+% or similar constructs (which can't be used inside a macro argument)
+% may also be used (in which case _ { } \ etc need not be escaped).
+%
+% All the subsections are optional.
+%
+% Bugs:
+% - It would be nice if we could avoid having to escape underscore
+% within arguments.
+% - Error checking: if you have to ask, there isn't enough for you! :)
+% - There are no controls to prevent a page break falling between the
+% line "C" or "Fortran", and an immediately following example generated
+% by the Example subenvironment. In fact, LaTeX seems to like doing
+% this. :(
+% - It would be nice to have a "...continued" legend at the bottom of
+% all but the last page of a multi-page description.
+% - The running header giving the function name, only appears for the
+% first page of a multi-page description.
+% - In some ideal world, "See Also" would generate pdf hotlinks.
+% - The horizontal spacing is ugly in a ResultNote environment, and it's
+% really *really* ugly if the note spans multiple lines of text. :(
+% - There are often unwanted one-horizontal-space indentations at
+% the start of items; I don't know how to get rid of these. :(
+%
+\newenvironment{FunctionDescription}[1]
+{
+\newpage
+\noindent{\t #1}
+\vskip1mm
+\hrule
+\vskip3mm
+%
+% We define all the subenvironments inside the main one, so they won't
+% interfere with any conflicting global definitions.
+%
+\newenvironment{FunctionDescriptionEntry}
+ {%%%
+ \begin{list}%%%
+ {}%%%
+ {%%%
+ \renewcommand{\makelabel}{\Lentrylabel}%%%
+ \setlength{\topsep}{0ex}%%%
+ \setlength{\partopsep}{0ex}%%%
+ \setlength{\itemsep}{0ex}%%%
+ \setlength{\labelwidth}{8em}%%%
+ \setlength{\leftmargin}{\labelwidth+\labelsep}%%%
+ \setlength{\itemindent}{0em}%%%
+ \setlength{\listparindent}{0em}%%%
+ }%%%
+ }%%%
+ {\end{list}}%%%
+\newenvironment{FunctionDescriptionWideEntry}
+ {%%%
+ \begin{list}%%%
+ {}%%%
+ {%%%
+ \renewcommand{\makelabel}{\Lentrylabel}%%%
+ \setlength{\topsep}{0ex}%%%
+ \setlength{\partopsep}{0ex}%%%
+ \setlength{\itemsep}{0ex}%%%
+ \setlength{\labelwidth}{16em}%%%
+ \setlength{\leftmargin}{\labelwidth+\labelsep}%%%
+ \setlength{\itemindent}{0em}%%%
+ \setlength{\listparindent}{0em}%%%
+ }%%%
+ }%%%
+ {\end{list}}%%%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\newenvironment{SynopsisSection}
+ {%%%
+ \par\noindent{\bf Synopsis}
+ \begin{FunctionDescriptionEntry}
+ }%%%
+ {\end{FunctionDescriptionEntry}}
+\newenvironment{Synopsis}[1]{\item[\bf ##1]}{}
+%
+\newenvironment{ResultSection}
+ {%%%
+ \par\noindent{\bf Result}
+ \begin{FunctionDescriptionEntry}
+ }%%%
+ {\end{FunctionDescriptionEntry}}
+\newenvironment{ResultNote}{\item[]\hskip-\leftmargin{}}{}
+\newenvironment{Result}[1]{\item[\tt ##1]}{}
+%
+\newenvironment{ParameterSection}
+ {%%%
+ \par\noindent{\bf Parameters}
+ \begin{FunctionDescriptionEntry}
+ }%%%
+ {\end{FunctionDescriptionEntry}}
+\newenvironment{Parameter}[1]{\item[\tt ##1]}{}
+%
+\newenvironment{Discussion}%%%
+ {%%%
+ \par\noindent{\bf Discussion}
+ \begin{FunctionDescriptionEntry}
+ \item[]
+ }%%%
+ {\end{FunctionDescriptionEntry}}
+%
+\newenvironment{SeeAlsoSection}
+ {%%%
+ \par\noindent{\bf See Also}
+ \begin{FunctionDescriptionWideEntry}
+ }%%%
+ {\end{FunctionDescriptionWideEntry}}
+\newenvironment{SeeAlso}[1]{\item[\tt ##1]}{}
+%
+\newenvironment{ErrorSection}
+ {%%%
+ \par\noindent{\bf Errors}
+ \begin{FunctionDescriptionWideEntry}
+ }%%%
+ {\end{FunctionDescriptionWideEntry}}
+\newenvironment{Error}[1]{\item[\tt ##1]}{}
+%
+\newenvironment{ExampleSection}
+ {%%%
+ \par\noindent{\bf Examples}
+ \begin{FunctionDescriptionEntry}
+ }%%%
+ {\end{FunctionDescriptionEntry}}
+\newenvironment{Example}[1]{\item[\bf ##1]}{}
+%
+}%%% % end of \begin{FunctionDescription} expansion
+{%%%
+}%%% % \end{FunctionDescription} expansion is empty
+
+\endinput
+%%
+%% End of cactus.sty