1 |
|
2 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
3 |
% |
4 |
% Copyright (c) 2003-2008 by University of Queensland |
5 |
% Earth Systems Science Computational Center (ESSCC) |
6 |
% http://www.uq.edu.au/esscc |
7 |
% |
8 |
% Primary Business: Queensland, Australia |
9 |
% Licensed under the Open Software License version 3.0 |
10 |
% http://www.opensource.org/licenses/osl-3.0.php |
11 |
% |
12 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
13 |
|
14 |
|
15 |
\usepackage{subfigure} |
16 |
\usepackage{epsfig} |
17 |
\usepackage{graphicx,color} |
18 |
\usepackage{makeidx} % handle the index properly |
19 |
\usepackage{xspace} % handle spaces after commands more nicely |
20 |
% use the ams math stuff, as it makes the maths easier to code, and |
21 |
% nicer output than the standard LaTeX stuff |
22 |
\usepackage{amsmath,amsfonts,amssymb} % this is handy for mathematicians and physicists |
23 |
% see http://www.ams.org/tex/amslatex.html |
24 |
\usepackage{alltt} % handy verbatim stuff |
25 |
|
26 |
|
27 |
% define some handy commands for escript stuff |
28 |
\newcommand{\LINUX}{{\it Linux}\xspace} |
29 |
\newcommand{\WINDOWS}{{\it MS Windows}\xspace} |
30 |
\newcommand{\PYTHON}{{\it python}\xspace} |
31 |
% \newcommand{\netCDF}{{\it netCDF}\cite{NETCDF}\index{netCDF} \xspace} |
32 |
\newcommand{\netCDF}{{\it netCDF}\index{netCDF}\xspace} |
33 |
\newcommand{\escript}{\module{esys.escript}\xspace} |
34 |
\newcommand{\finley}{\module{esys.finley}\xspace} |
35 |
\newcommand{\esys}{\module{esys}\xspace} |
36 |
\newcommand{\pyvisi}{\module{esys.pyvisi}\xspace} |
37 |
\newcommand{\pycad}{\module{esys.pycad}\xspace} |
38 |
\newcommand{\gmsh}{\module{esys.pycad.gmsh}\xspace} |
39 |
\newcommand{\gmshextern}{{\it Gmsh}\cite{GMSH}\index{Gmsh} \xspace} |
40 |
\newcommand{\env}[1]{\textbf{\mbox{#1}}\index{Environment!#1}} |
41 |
% \newcommand{\MPI}{{\it MPI}\xspace\index{Message Passing Interface!MPI}\cite{MPI}\xspace} |
42 |
% \newcommand{\OPENMP}{{\it OpenMP}\xspace\index{OpenMP!threading}\cite{OPENMP}\xspace} |
43 |
\newcommand{\MPI}{{\it MPI}\xspace\index{Message Passing Interface!MPI}\xspace} |
44 |
\newcommand{\OPENMP}{{\it OpenMP}\xspace\index{OpenMP!threading}\xspace} |
45 |
\newcommand{\linearPDEs}{\module{esys.escript.linearPDEs}\xspace} |
46 |
\newcommand{\LinearPDE}{\class{LinearPDE}\xspace} |
47 |
\newcommand{\timeseries}{\module{esys.timeseries}\xspace} |
48 |
\newcommand{\modelframe}{\module{esys.modelframe}\xspace} |
49 |
\newcommand{\pdetools}{\module{esys.pdetools}\xspace} |
50 |
\newcommand{\esysxml}{{\it esysxml}} |
51 |
|
52 |
\newcommand{\AdvectivePDE}{\class{AdvectivePDE}\xspace} |
53 |
\newcommand{\Poisson}{\class{Poisson}\xspace} |
54 |
\newcommand{\Helmholtz}{\class{Helmholtz}\xspace} |
55 |
\newcommand{\Lame}{\class{Lame}\xspace} |
56 |
\newcommand{\Data}{\class{Data}\xspace} |
57 |
\newcommand{\EmptyData}{empty \class{Data}\index{empty Data}\xspace} |
58 |
\newcommand{\Domain}{\class{Domain}\xspace} |
59 |
%\newcommand{\VTK}{{\it vtk} \cite{VTK}\index{visualization!vtk} \xspace} |
60 |
\newcommand{\GnuPlot}{{\it gnuplot} \cite{GNUPLOT}\index{visualization!gnuplot}\index{gnuplot}} |
61 |
\newcommand{\mayavi}{{\it mayavi}\index{visualization!mayavi}\index{mayavi}} |
62 |
\newcommand{\OpenDX}{{\it OpenDX} \cite{OPENDX}\xspace} |
63 |
\newcommand{\finleyelement}[1]{{\it #1}\index{finley!#1}} |
64 |
\newcommand{\False}{\constant{False}\xspace} |
65 |
\newcommand{\True}{\constant{True}\xspace} |
66 |
\newcommand{\PCG}{\constant{LinearPDE.PCG}\xspace\index{linear solver!PCG}\index{PCG}} |
67 |
\newcommand{\BiCGStab}{\constant{LinearPDE.BICGSTAB}\xspace\index{linear solver!BiCGStab}\index{BiCGStab}} |
68 |
\newcommand{\Direct}{\constant{LinearPDE.DIRECT}\xspace\index{linear solver!Direct}\index{Direct solver}} |
69 |
\newcommand{\GMRES}{\constant{LinearPDE.GMRES}\xspace\index{linear solver!GMRES}\index{GMRES}} |
70 |
\newcommand{\PRESTWENTY}{\constant{LinearPDE.PRES20}\xspace\index{linear solver!PRES20}\index{PRES20}} |
71 |
\newcommand{\JACOBI}{\constant{LinearPDE.JACOBI}\xspace\index{preconditioner!Jacobi}\index{Jacobi}} |
72 |
\newcommand{\ILU}{\constant{LinearPDE.ILU0}\xspace\index{preconditioner!ILU0}\index{ILU0}} |
73 |
\newcommand{\ILUT}{\constant{LinearPDE.ILUT}\xspace\index{preconditioner!ILUT}\index{ILUT}} |
74 |
\newcommand{\LUMPING}{\constant{LinearPDE.LUMPING}\xspace\index{linear solver!lumping}\index{lumping}} |
75 |
\newcommand{\NOREORDERING}{\constant{LinearPDE.NO\hackscore REORDERING}\xspace} |
76 |
\newcommand{\MINIMUMFILLIN}{\constant{LinearPDE.MINIMUM\hackscore FILL\hackscore IN}\xspace\index{linear solver!minimum fill-in ordering}\index{minimum fill-in ordering}} |
77 |
\newcommand{\NESTEDDESCTION}{\constant{LinearPDE.NESTED\hackscore DISSECTION}\xspace\index{linear solver!nested dissection ordering}\index{nested dissection}} |
78 |
|
79 |
\newcommand{\FunctionSpace}{\class{FunctionSpace}\xspace} |
80 |
\newcommand{\Operator}{\class{Operator}\xspace} |
81 |
\newcommand{\SolutionFS}{solution \class{FunctionSpace}\index{solution}\xspace} |
82 |
\newcommand{\ReducedSolutionFS}{reduced solution \class{FunctionSpace}\index{solution!reduced}\xspace} |
83 |
\newcommand{\FunctionOnBoundary}{boundary \class{FunctionSpace}\xspace} |
84 |
\newcommand{\Function}{general \class{FunctionSpace}\xspace} |
85 |
\newcommand{\FunctionOnContactZero}{contact \class{FunctionSpace} on side 0\xspace} |
86 |
\newcommand{\FunctionOnContactOne}{contact \class{FunctionSpace} on side 1\xspace} |
87 |
\newcommand{\ContinuousFunction}{continuous \class{FunctionSpace}\xspace} |
88 |
\newcommand{\RankOne}{{rank-1 \Data object}\xspace} |
89 |
\newcommand{\RankTwo}{{rank-2 \Data object}\xspace} |
90 |
\newcommand{\RankThree}{{rank-3 \Data object}\xspace} |
91 |
\newcommand{\RankFour}{{rank-4 \Data object}\xspace} |
92 |
\newcommand{\Tensor}{{tensor \Data object}\xspace} |
93 |
\newcommand{\Vector}{{vector \Data object}\xspace} |
94 |
\newcommand{\Scalar}{{scalar \Data object}\xspace} |
95 |
\newcommand{\DataSample}{{data sample}\index{data sample}\xspace} |
96 |
\newcommand{\DataSamplePoints}{{data sample points}\index{data sample!points}\xspace} |
97 |
\newcommand{\numarray}{\module{numarray}\xspace} |
98 |
\newcommand{\numarrayNA}{\module{numarray}.\class{NumArray}\xspace} |
99 |
\newcommand{\Shape}{shape\xspace\index{shape}} |
100 |
\newcommand{\Rank}{rank\xspace\index{shape}} |
101 |
\newcommand{\ExampleDirectory}{example directory\xspace} |
102 |
\newcommand{\ReferenceGuide}{\url{http://shake200.esscc.uq.edu.au/esys/esys13/release/epydoc/index.html}\xspace} |
103 |
\newcommand{\Point}{\class{Point} \xspace} |
104 |
\newcommand{\PropertySet}{\class{PropertySet} \xspace} |
105 |
\newcommand{\Design}{\class{Design} \xspace} |
106 |
\newcommand{\TagMap}{\class{TagMap} \xspace} |
107 |
\newcommand{\ManifoldOneD}{\class{Manifold1D} \xspace} |
108 |
\newcommand{\ManifoldTwoD}{\class{Manifold2D} \xspace} |
109 |
\newcommand{\ManifoldThreeD}{\class{Manifold3D} \xspace} |
110 |
|
111 |
% handy commands for pyvisi |
112 |
\newcommand{\VTK}{{\it VTK} \xspace} |
113 |
\newcommand{\VTKUrl}{\url{http://www.vtk.org/}\xspace} |
114 |
\newcommand{\Scene}{\class{Scene}\xspace} |
115 |
\newcommand{\Camera}{\class{Camera}\xspace} |
116 |
\newcommand{\Light}{\class{Light}\xspace} |
117 |
\newcommand{\DataCollector}{\class{DataCollector}\xspace} |
118 |
\newcommand{\ImageReader}{\class{ImageReader}\xspace} |
119 |
\newcommand{\TextTwoD}{\class{Text2D}\xspace} |
120 |
\newcommand{\ActorTwoD}{\class{Actor2D}\xspace} |
121 |
\newcommand{\ActorThreeD}{\class{Actor3D}\xspace} |
122 |
\newcommand{\Transform}{\class{Transform}\xspace} |
123 |
\newcommand{\Clipper}{\class{Clipper}\xspace} |
124 |
\newcommand{\Map}{\class{Map}\xspace} |
125 |
\newcommand{\MapOnPlaneCut}{\class{MapOnPlaneCut}\xspace} |
126 |
\newcommand{\MapOnPlaneClip}{\class{MapOnPlaneClip}\xspace} |
127 |
\newcommand{\MapOnScalarClip}{\class{MapOnScalarClip}\xspace} |
128 |
\newcommand{\MapOnScalarClipWithRotation}{\class{MapOnScalarClipWithRotation}\xspace} |
129 |
\newcommand{\GlyphThreeD}{\class{Glyph3D}\xspace} |
130 |
\newcommand{\MaskPoints}{\class{MaskPoints}\xspace} |
131 |
\newcommand{\Velocity}{\class{Velocity}\xspace} |
132 |
\newcommand{\VelocityOnPlaneCut}{\class{VelocityOnPlaneCut}\xspace} |
133 |
\newcommand{\VelocityOnPlaneClip}{\class{VelocityOnPlaneClip}\xspace} |
134 |
\newcommand{\Sphere}{\class{Sphere}\xspace} |
135 |
\newcommand{\TensorGlyph}{\class{TensorGlyph}\xspace} |
136 |
\newcommand{\Ellipsoid}{\class{Ellipsoid}\xspace} |
137 |
\newcommand{\EllipsoidOnPlaneCut}{\class{EllipsoidOnPlaneCut}\xspace} |
138 |
\newcommand{\EllipsoidOnPlaneClip}{\class{EllipsoidOnPlaneClip}\xspace} |
139 |
\newcommand{\ContourModule}{\class{ContourModule}\xspace} |
140 |
\newcommand{\Contour}{\class{Contour}\xspace} |
141 |
\newcommand{\ContourOnPlaneCut}{\class{ContourOnPlaneCut}\xspace} |
142 |
\newcommand{\ContourOnPlaneClip}{\class{ContourOnPlaneClip}\xspace} |
143 |
\newcommand{\PointSource}{\class{PointSource}\xspace} |
144 |
\newcommand{\StreamLineModule}{\class{StreamLineModule}\xspace} |
145 |
\newcommand{\Tube}{\class{Tube}\xspace} |
146 |
\newcommand{\StreamLine}{\class{StreamLine}\xspace} |
147 |
\newcommand{\Warp}{\class{Warp}\xspace} |
148 |
\newcommand{\Carpet}{\class{Carpet}\xspace} |
149 |
\newcommand{\PlaneSource}{\class{PlaneSource}\xspace} |
150 |
\newcommand{\Image}{\class{Image}\xspace} |
151 |
\newcommand{\Logo}{\class{Logo}\xspace} |
152 |
\newcommand{\ImageReslice}{\class{ImageReslice}\xspace} |
153 |
\newcommand{\Position}{\class{Position}\xspace} |
154 |
\newcommand{\DataSetMapper}{\class{DataSetMapper}\xspace} |
155 |
\newcommand{\Legend}{\class{Legend}\xspace} |
156 |
\newcommand{\ScalarBar}{\class{ScalarBar}\xspace} |
157 |
\newcommand{\Movie}{\class{Movie}\xspace} |
158 |
\newcommand{\CubeSource}{\class{CubeSource}\xspace} |
159 |
\newcommand{\Rectangle}{\class{Rectangle}\xspace} |
160 |
\newcommand{\LocalPosition}{\class{LocalPosition}\xspace} |
161 |
\newcommand{\GlobalPosition}{\class{GlobalPosition}\xspace} |
162 |
\newcommand{\Rotation}{\class{Rotation}\xspace} |
163 |
\newcommand{\thumbnailwidth}{50mm} |
164 |
|
165 |
% default width for figures |
166 |
\newcommand{\figwidth}{100mm} |
167 |
% commands useful in cross-referencing |
168 |
\newcommand {\Ref}[1] {Reference~\cite{#1}} |
169 |
\newcommand {\Sec}[1] {Section~\ref{#1}} |
170 |
\newcommand {\App}[1] {Appendix~\ref{#1}} |
171 |
\newcommand {\Chap}[1] {Chapter~\ref{#1}} |
172 |
\newcommand {\etal} {\emph{~et~al.}} |
173 |
\newcommand {\fig}[1] {Figure~\ref{#1}} |
174 |
\newcommand {\eqn}[1] {Equation~(\ref{#1})} |
175 |
\newcommand {\tab}[1] {Table~\ref{#1}} |
176 |
|
177 |
% this stops one figure taking up a whole page and lets more text onto |
178 |
% the one page when a figure exists |
179 |
\renewcommand{\floatpagefraction}{0.8} % Default = 0.5 |
180 |
|
181 |
% improved version of caption handling |
182 |
\usepackage{ccaption} |
183 |
\captionnamefont{\scshape} |
184 |
\captionstyle{} |
185 |
\makeatletter |
186 |
\renewcommand{\fnum@figure}[1]{\quad\small\textsc{\figurename~\thefigure}:} |
187 |
\renewcommand{\@makecaption}[2]{% |
188 |
\vskip\abovecaptionskip |
189 |
\sbox\@tempboxa{#1: #2}% |
190 |
\ifdim \wd\@tempboxa >\hsize |
191 |
\def\baselinestretch{1}\@normalsize |
192 |
#1: #2\par |
193 |
\def\baselinestretch{1.5}\@normalsize |
194 |
\else |
195 |
\global \@minipagefalse |
196 |
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% |
197 |
\fi |
198 |
\vskip\belowcaptionskip} |
199 |
\makeatother |
200 |
|
201 |
% \usepackage{fancyvrb} % fancy verbatim stuff. Needed so code below goes |
202 |
%%% this code grabbed from the PyScript docs |
203 |
%%% pyscript.sourceforge.net |
204 |
|
205 |
% -------------------------------------------------------------- |
206 |
% Code format within \Verb |
207 |
% -------------------------------------------------------------- |
208 |
|
209 |
% \definecolor{pycolor}{rgb}{0,0.4,0} |
210 |
|
211 |
%% \DefineVerbatimEnvironment{python}{Verbatim} |
212 |
%% {frame=leftline,framerule=.5mm,rulecolor=\color{pycolor}, |
213 |
%% formatcom=\color{pycolor}\small,fontshape=rm} |
214 |
|
215 |
%\DefineShortVerb[formatcom=\color{dgreen}\small,fontshape=sl]{\|} |
216 |
|
217 |
% \RecustomVerbatimCommand{\Verb}{Verb}{formatcom=\color{pycolor}\small,fontshape=rm} |
218 |
|
219 |
%%% end of grabbed code |
220 |
|
221 |
% this is for when one uses pdflatex and therefore needs to load pdf |
222 |
% figures into \includegraphics |
223 |
\ifpdf |
224 |
\DeclareGraphicsExtensions{.pdf} % this command defined in graphicx |
225 |
\pdfcompresslevel=9 % 0: no compression, 9: highest compression |
226 |
% or, set compress_level 9 in file pdftex.cfg |
227 |
\else |
228 |
\DeclareGraphicsExtensions{.eps} |
229 |
\fi |
230 |
|
231 |
% defines the colour for the background of code examples |
232 |
\definecolor{LightGrey}{gray}{0.9} |
233 |
|
234 |
% add the listings package to pretty print the code output |
235 |
\usepackage{listings} |
236 |
|
237 |
|
238 |
%Some colour definitions added to keep pdflatex happy |
239 |
%I make no claim that these values are particularly good |
240 |
\definecolor{Purple}{rgb}{0.7, 0, 0.6} |
241 |
\definecolor{Tan}{rgb}{0.5,0.5,0.5} |
242 |
\definecolor{BrickRed}{rgb}{0.7, 0.2, 0.2} |
243 |
|
244 |
% All the \color{x} used to be \color[named]{x} |
245 |
%end color defs |
246 |
|
247 |
\lstdefinestyle{myC++}{% |
248 |
%\lstset{% |
249 |
language=C++, |
250 |
showstringspaces=false, |
251 |
basicstyle=\small\ttfamily, |
252 |
commentstyle=\color{BrickRed}\ttfamily, |
253 |
keywordstyle=\color{Purple}\ttfamily, |
254 |
%identifierstyle=\color{Blue}\ttfamily, |
255 |
%functionstyle=\color{Blue}\ttfamily, |
256 |
%typestyle=\color{ForestGreen}\ttfamily, |
257 |
stringstyle=\color{Tan}\ttfamily,% |
258 |
morekeywords={,complex,}% |
259 |
frame=none,% |
260 |
backgroundcolor=\color{LightGrey}% |
261 |
} |
262 |
|
263 |
\lstdefinestyle{myMatlab}{% |
264 |
%\lstset{% |
265 |
language=Matlab, |
266 |
showstringspaces=false, |
267 |
basicstyle=\small\ttfamily, |
268 |
commentstyle=\color{BrickRed}\ttfamily, |
269 |
keywordstyle=\color{Purple}\ttfamily, |
270 |
%identifierstyle=\color{Blue}\ttfamily, |
271 |
%functionstyle=\color{Blue}\ttfamily, |
272 |
%typestyle=\color{ForestGreen}\ttfamily, |
273 |
stringstyle=\color{Tan}\ttfamily,% |
274 |
frame=none,% |
275 |
backgroundcolor=\color{LightGrey}% |
276 |
} |
277 |
|
278 |
\lstdefinestyle{myScilab}{% |
279 |
%\lstset{% |
280 |
language=Scilab, |
281 |
showstringspaces=false, |
282 |
basicstyle=\small\ttfamily, |
283 |
commentstyle=\color{BrickRed}\ttfamily, |
284 |
keywordstyle=\color{Purple}\ttfamily, |
285 |
%identifierstyle=\color{Blue}\ttfamily, |
286 |
%functionstyle=\color{Blue}\ttfamily, |
287 |
%typestyle=\color{ForestGreen}\ttfamily, |
288 |
stringstyle=\color{Tan}\ttfamily,% |
289 |
frame=none,% |
290 |
backgroundcolor=\color{LightGrey}% |
291 |
} |
292 |
|
293 |
\lstdefinestyle{myShell}{% |
294 |
%\lstset{% |
295 |
language=ksh, |
296 |
showstringspaces=false, |
297 |
basicstyle=\small\ttfamily, |
298 |
commentstyle=\color{Black}\ttfamily, |
299 |
keywordstyle=\color{Black}\ttfamily, |
300 |
%identifierstyle=\color{Blue}\ttfamily, |
301 |
%functionstyle=\color{Blue}\ttfamily, |
302 |
%typestyle=\color{ForestGreen}\ttfamily, |
303 |
stringstyle=\color{Black}\ttfamily,% |
304 |
frame=none,% |
305 |
backgroundcolor=\color{LightGrey}% |
306 |
} |
307 |
|
308 |
\lstdefinestyle{myPython}{% |
309 |
%\lstset{% |
310 |
language=python, |
311 |
showstringspaces=false, |
312 |
basicstyle=\small\ttfamily, |
313 |
commentstyle=\color{BrickRed}\ttfamily, |
314 |
keywordstyle=\color{Purple}\ttfamily, |
315 |
%identifierstyle=\color{Blue}\ttfamily, |
316 |
%functionstyle=\color{Blue}\ttfamily, |
317 |
%typestyle=\color{ForestGreen}\ttfamily, |
318 |
stringstyle=\color{Tan}\ttfamily,% |
319 |
frame=none,% |
320 |
%backgroundcolor=\color{LightGrey}% |
321 |
} |
322 |
|
323 |
\lstdefinestyle{myhtml}{% |
324 |
%\lstset{% |
325 |
language=xml, |
326 |
showstringspaces=false, |
327 |
basicstyle=\small\ttfamily, |
328 |
commentstyle=\color{BrickRed}\ttfamily, |
329 |
keywordstyle=\color{Purple}\ttfamily, |
330 |
%identifierstyle=\color{Blue}\ttfamily, |
331 |
%functionstyle=\color{Blue}\ttfamily, |
332 |
%typestyle=\color{ForestGreen}\ttfamily, |
333 |
stringstyle=\color{Tan}\ttfamily, |
334 |
morekeywords={,simulation,prop_dim,error_check,stochastic,% |
335 |
globals,field,dimensions,lattice,domains,samples,vector,% |
336 |
components,fourier_space,sequence,integrate,algorithm,% |
337 |
interval,k_operators,constant,operator_names,vectors,% |
338 |
output,filename,group,sampling,moments,benchmark,use_double,% |
339 |
use_wisdom,use_prefs,binary_output,cycles,filter,post_propagation,% |
340 |
default_value,argv,arg,iterations,cross_propagation,% |
341 |
use_mpi,paths,seed,noises,author,description,name,type,% |
342 |
} |
343 |
frame=none,% |
344 |
%framerule=2pt,% |
345 |
backgroundcolor=\color{LightGrey}% |
346 |
} |
347 |
|
348 |
% this implements producing nice code blocks |
349 |
% it also saves time, typing and |
350 |
% *should* reduce errors in the text by removing doubling up of code |
351 |
\lstnewenvironment{xmdsCode}[1][]{\lstset{style=myhtml}\lstset{#1}}{} |
352 |
|
353 |
% this implements nicely formatted shell code |
354 |
\lstnewenvironment{shellCode}[1][]{\lstset{style=myShell}\lstset{#1}}{} |
355 |
|
356 |
% this implements nicely formatted Perl code |
357 |
\lstnewenvironment{perlCode}[1][]{\lstset{style=myPerl}\lstset{#1}}{} |
358 |
|
359 |
% this implements nicely formatted Python code |
360 |
\lstnewenvironment{python}[1][]{\lstset{style=myPython}\lstset{#1}}{} |
361 |
|
362 |
% this implements nicely formatted C++ code |
363 |
\lstnewenvironment{CCode}{\lstset{style=myC++}}{} |
364 |
|
365 |
% this implements nicely formatted matlab code |
366 |
\lstnewenvironment{matlabCode}{\lstset{style=myMatlab}}{} |
367 |
|
368 |
% this implements nicely formatted scilab code |
369 |
\lstnewenvironment{scilabCode}{\lstset{style=myScilab}}{} |
370 |
|
371 |
%Ensures that latex doesn't have an error if we don't specify the version |
372 |
\providecommand{\RepVersion}{Unknown\xspace} |
373 |
% to set this value use: |
374 |
% (pdf)latex '\newcommand{\RepVersion}{version\xspace}\input{guide.tex}' |
375 |
% as your command-line |