diff options
author | rideout <rideout@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2002-09-04 13:51:45 +0000 |
---|---|---|
committer | rideout <rideout@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2002-09-04 13:51:45 +0000 |
commit | 517d5a6c31721ffea17382c15ab0289a17fb7eae (patch) | |
tree | 5dcdfc79bccac9d161519389b88bfb004cc8cbd2 /doc/latex | |
parent | ab453359a9828dd58bdd59b9fb6d0418819862eb (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.sty | 297 |
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 |