1 |
% |
2 |
% A class for ESSCC documentation |
3 |
% |
4 |
|
5 |
\NeedsTeXFormat{LaTeX2e} |
6 |
\ProvidesClass{esysdoc} |
7 |
\LoadClass[a4paper, twoside]{book} |
8 |
|
9 |
\usepackage[a4paper, left=2.5cm, right=2.5cm, nohead, vcentering, scale=0.8]{geometry} |
10 |
\usepackage{times} |
11 |
\usepackage{listings} |
12 |
\usepackage{ifpdf} |
13 |
\usepackage{makeidx} |
14 |
|
15 |
%\usepackage{avant} |
16 |
%\renewcommand{\familydefault}{\sfdefault} % Switch to san seriff |
17 |
\usepackage{url} |
18 |
\usepackage{xspace} |
19 |
\usepackage{graphicx} |
20 |
\usepackage{amsmath} %For equation* |
21 |
\usepackage{amsfonts,amssymb} % see http://www.ams.org/tex/amslatex.html |
22 |
\usepackage[nohyphen, strings]{underscore} |
23 |
|
24 |
%Blue was chosen here because it looks ok when printed |
25 |
\usepackage[pdfborder={0 0 0},pdfdisplaydoctitle=true,linktocpage=false, colorlinks=true,linkcolor=blue,citecolor=blue,urlcolor=blue]{hyperref} |
26 |
|
27 |
%Dummy commands for if we ever need to switch off hyperref |
28 |
% \providecommand{\pdfbookmark}[3][0]{} |
29 |
% \providecommand{\currentpdfbookmark}[2]{} |
30 |
% \providecommand{\subpdfbookmark}[2]{} |
31 |
|
32 |
|
33 |
\usepackage{fancyhdr} |
34 |
\renewcommand{\footrulewidth}{0.4pt} |
35 |
\renewcommand{\headrulewidth}{0pt} |
36 |
|
37 |
\fancypagestyle{plain}{% |
38 |
\fancyhead{} |
39 |
\cfoot{} |
40 |
\fancyfoot[LE,RO]{\thepage} %left on even pages right on odd pages |
41 |
\fancyfoot[RE]{\nouppercase{\rightmark}} |
42 |
\fancyfoot[LO]{\nouppercase{\leftmark}} |
43 |
} |
44 |
\pagestyle{plain} |
45 |
|
46 |
\usepackage[Bjarne]{fncychap} |
47 |
% \ChRuleWidth{1pt} |
48 |
\ChNameVar{\raggedleft\large\sffamily} % The word chapter |
49 |
\ChNumVar{\raggedleft\bfseries\Large} % The number of the chapter |
50 |
\ChTitleVar{\raggedleft \Huge\sffamily} % title of the chapter |
51 |
\ChTitleAsIs |
52 |
|
53 |
%Ensures that latex doesn't have an error if we don't specify the version |
54 |
\providecommand{\RepVersion}{Unknown\xspace} |
55 |
|
56 |
\DeclareUrlCommand\email{} |
57 |
|
58 |
\newcommand{\module}[1]{\mbox{\texttt{#1}}} |
59 |
|
60 |
\newcommand*{\optional}[1]{[ #1 ]} |
61 |
%This should be converted into a two arg form so we can have different fonts for different parts |
62 |
\newcommand*{\programopt}[1]{#1} |
63 |
|
64 |
\newenvironment{bigdef}[1]{% |
65 |
|
66 |
\noindent |
67 |
\setlength{\hangindent}{2cm} |
68 |
\textbf{#1} |
69 |
|
70 |
\setlength{\hangindent}{1cm}% |
71 |
\setlength{\hangafter}{0}% |
72 |
\noindent% |
73 |
}% |
74 |
{% |
75 |
|
76 |
\vspace{0.5cm} |
77 |
} |
78 |
|
79 |
\newenvironment{classdesc}[2]{% |
80 |
\begin{bigdef}{class #1(#2)}}{\end{bigdef}} |
81 |
|
82 |
\newenvironment{methoddesc}[3][{}]{% |
83 |
\begin{bigdef}{#2(#3)}}{\end{bigdef}} |
84 |
\newenvironment{funcdesc}[2]{% |
85 |
\begin{bigdef}{#1(#2)}% |
86 |
} |
87 |
{% |
88 |
\end{bigdef} |
89 |
} |
90 |
|
91 |
% { |
92 |
% \begin{bigdef}[#1(#2)] |
93 |
% \noindent |
94 |
% \setlength{\hangindent}{2cm} |
95 |
% \textbf{#1(#2)} |
96 |
% |
97 |
% } |
98 |
% \setlength{\hangindent}{1cm} |
99 |
% \setlength{\hangafter}{0} |
100 |
% \noindent |
101 |
% }% |
102 |
% {% |
103 |
% |
104 |
% \mbox{}\\ |
105 |
% } |
106 |
|
107 |
\setlength{\itemindent}{-1cm}\setlength{\leftmargin}{1cm} |
108 |
|
109 |
\newenvironment{memberdesc}[2][{}]{\begin{description}\item[\textbf{#2}]\mbox{}\\}{\end{description}} |
110 |
\newenvironment{datadesc}[1]{\begin{description}\item[\textbf{#1}]\mbox{}\\}{\end{description}} |
111 |
|
112 |
\newcommand{\file}[1]{\texttt{#1}\xspace} |
113 |
\newcommand{\program}[1]{\textbf{\texttt{#1}}\xspace} |
114 |
% \newcommand{\env}[1]{\texttt{#1}\xspace} |
115 |
\newcommand{\var}[1]{\texttt{#1}\xspace} |
116 |
\newcommand{\kbd}[1]{\texttt{#1}} |
117 |
\newcommand{\function}[1]{\texttt{#1}} |
118 |
\newcommand{\class}[1]{\texttt{#1}} |
119 |
\newcommand{\constant}[1]{\textsl{#1}} |
120 |
\newcommand{\method}[1]{\texttt{#1}} |
121 |
\newcommand{\member}[1]{\texttt{#1}} |
122 |
\newcommand{\code}[1]{% |
123 |
\ifmmode% |
124 |
\mbox{\texttt{#1}}% |
125 |
\else% |
126 |
\texttt{#1}% |
127 |
\fi % Because people try to put code in maths mode |
128 |
} |
129 |
|
130 |
\newenvironment{abstract}{\newpage\mbox{}\vfill\begin{center}\textbf{Abstract}\end{center}}{\vfill\newpage} |
131 |
|
132 |
\newcommand{\authoraddress}[1]{\gdef \@authoraddress {#1}} |
133 |
|
134 |
\newcommand{\release}[1]{\gdef \@ESreleasename {#1}} |
135 |
\release{nightly} %Just so we have a default |
136 |
|
137 |
\newcommand*{\subtitleLineOne}{\textsl{Release - \@ESreleasename}} |
138 |
\newcommand*{\subtitleLineTwo}{\textsl{(r\RepVersion)}} |
139 |
|
140 |
\renewcommand{\maketitle}{ |
141 |
\begin{titlepage} |
142 |
\pdfbookmark[0]{Title page}{title} |
143 |
\textsf{ |
144 |
\begin{raggedleft} |
145 |
\Huge |
146 |
\hrule |
147 |
\mbox{}\\ |
148 |
\mbox{}\\ |
149 |
\@title |
150 |
\mbox{}\\ |
151 |
\LARGE |
152 |
\mbox{}\\ |
153 |
\subtitleLineOne\\ |
154 |
\subtitleLineTwo\\ |
155 |
\vfill |
156 |
\@author |
157 |
\vfill |
158 |
\vfill |
159 |
\large |
160 |
\@date\\ |
161 |
\vfill |
162 |
\@authoraddress\mbox{}\\ |
163 |
\end{raggedleft} |
164 |
} |
165 |
\end{titlepage}} |
166 |
|
167 |
\newcommand{\esysappendix}{% |
168 |
\appendix% |
169 |
\renewcommand*{\theHchapter}{\Alph{chapter}} %How latex generates chapters |
170 |
\renewcommand*{\thechapter}{\Alph{chapter}} %How hyperref generates chapters |
171 |
} |
172 |
|
173 |
\newcommand{\etableofcontents}{\pdfbookmark[0]{Contents}{cont}\tableofcontents} |
174 |
|
175 |
|
176 |
|