Ticket #666: romsaf10.cls

File romsaf10.cls, 43.0 KB (added by Ian Culverwell, 4 years ago)

romsaf10.cls

Line 
1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2% %
3% romsaf10.cls %
4% %
5% A LaTeX class for ROM SAF documents, v1.0 [2018/06/08] %
6% %
7%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8% Updated: J. K. Nielsen, DMI [2020/03/30] v1.0
9% - NRT Defintion changed again
10%
11% Updated: J. K. Nielsen, DMI [2020/02/7] v1.0
12% - DocChange can now be extended to infinity!
13%
14% Updated: J. K. Nielsen, DMI [2019/12/18] v1.0
15% - multible Prepared By, Reviewed By and Approved By fields allowed
16% - New \VSAuthor command for frontpage
17%
18% Updated: J. K. Nielsen, DMI [2019/12/10] v1.0
19% - vsreport generates the right frontpage with CDOP-3, VS,
20% report number, author. Normal frontpage reproduced when vsreport is
21% not set
22% - added new fields: distribution list and VSAuthor and VSDuration on p.2
23%
24% Updated: J. K. Nielsen, DMI [2019/09/26] v1.0
25% - Fixed issue with \it \itshape
26% - KOMA-Script v3.19a or larger is now default.
27%
28% Updated: J. K. Nielsen, DMI [2019/08/15] v1.0
29% - \bf -> \bfseries
30%
31% Updated: J. K. Nielsen, DMI [2018/06/10] v1.0
32% - changed frontpage layout
33% - changed doc. author / doc. ch table / record format
34%
35% Updated: J. K. Nielsen, DMI [2018/02/05] v1.0
36% - option 'vsreport' to change frontpage as well as VS specific notes
37% after DCR.
38% - new latex font statements
39% - some changes to the formal ROM SAF stuff
40% - Jordis' interpenalty bug-fix implemented (no effect on template10)
41%
42% Updated: K. B. Lauritsen, DMI [2014/03/12] v1.0
43% - option 'vs' to have both the VS class and Document class as one file
44% - all GRAS SAF text changed to ROM SAF
45% - editorials
46%
47% Updated: JK Nielsen, DMI [2014/2/26] v0.7
48% - trying to merge Oscars v0.6 changes into .cls that would work on linux
49% - removed "Document" from page header
50% - splitted DCR
51%
52% Updated: JK Nielsen, DMI [2013/4/4] v0.5 ("extra")
53% - various small adjustments and new ROM SAF format defined by KBL
54%
55% Updated: Oscar Isoz, LTU [2012/9/15] v0.6
56% - added VSauthor and VSduration commands
57% - Added VS Author and VS Duration "sections" on the first page
58% after the title page
59% - Modified the front page to match the Word template better
60% - Modfied Approved,Prepared and Reviewed commands to allow
61% a comment to be added
62%
63% Updated: JK Nielsen, DMI [2012/4/16] v0.5
64% - inclusion of ROM SAF logos
65%
66% Updated: JK Nielsen, DMI [2011/4/14] v0.4
67% - pdflatex compatible
68% - MSword-like headings
69% - headings on first pages
70% - adopted new KOMA option formats
71% - bibtex plays together with the ``[RD.]'' formatted reference list;
72% needs grassaf04.bst in order to work!
73% - figure-caption forced to pagewith
74%
75% Updated: S Syndegaard, DMI and H Lewis, Met Office [2009/10/20] v0.3
76% - use of san-serif as font default
77% - some font-size changes on the front-page
78% - inclusion of new GRAS SAF logos.
79%
80% Created by C. Marquardt, Met Office, Exeter [2009]
81%
82%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
83% %
84% Below is the descriptions from the original file; it has been updated %
85% to version 1.0 (but may nevertheless not be fully accurate). %
86% %
87%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
88% %
89% Options and default settings %
90% ---------------------------- %
91% %
92% This class is derived from the KOMA Script classes. Thus, (nearly) all %
93% options that can be given to any KOMA class can also be given to this %
94% document class. %
95% %
96% However, some defaults are different to the KOMA Script classes. In %
97% particular, the document will be two sided; to obtain one sided output, %
98% the option %
99% %
100% oneside %
101% %
102% must be specified in the \documentclass command. Also, all headings will %
103% will be produced using the smallheadings option of KOMA Script; any other %
104% choice must be requested by giving either the %
105% %
106% bigheadings %
107% %
108% or %
109% %
110% normalheadings %
111% %
112% options to the \documentclass command. As with KOMA, the default page %
113% size is A4 (but can be changed with, e.g., the usual ...paper options). %
114% %
115% %
116% KOMA base class %
117% --------------- %
118% %
119% The default base class used by grassaf is the scrreprt document class, %
120% corresponding to the report document class in plain LaTeX. Instead, the %
121% scrartcl and scrbook classes (corresponding to the article and book classes %
122% of standard LaTeX) can be choosen by specifying the options %
123% %
124% article %
125% %
126% and %
127% %
128% book %
129% %
130% in the \documentclass command, respectively. Note that the grassaf document %
131% class has been developed with a relatively recent version of the KOMA script %
132% document classes. Therefore, it is desireable that the most recent versions %
133% of KOMA script are available in the user's TeX / LaTeX installation. %
134% %
135% %
136% Additional packages used %
137% ------------------------ %
138% %
139% This class also uses (and therefore requires) the following LaTeX packages: %
140% %
141% geometry %
142% ifthen %
143% calc %
144% %
145% Note that, as with the KOMA script classes, it is sensible to make sure %
146% that the most recent version is installed; otherwise, this document class %
147% might not work properly. %
148% %
149% %
150% Page layout, headers and footers %
151% -------------------------------- %
152% %
153% The page layout is constructed using the geometry package, but not with %
154% KOMA's own layout engine. As a consequence, the DIV and BCORR options %
155% available in KOMA have no effect, and should probably not be specified. %
156% %
157% Note that the size of the text body (including header and footer) is %
158% hardwired in this document class, and cannot be changed. Similarly, the %
159% layout of the headers and footers is not intended to be changed. The %
160% header's content can be set by the following commands provided by the %
161% grassaf class: %
162% %
163% \DocTitle{...} Title, to appear on the title page %
164% \DocShortTitle{...} Short title, to appear in the header %
165% \DocReference{...} Reference ID, to appear in the header %
166% \DocVersion{...} Document version, to appear in title and header %
167% \DocDate{...} Document date, to appear in title and header %
168% %
169% %
170% Signature and document change tables %
171% ------------------------------------ %
172% %
173% Both a Document Signature Table and a Document Change Record table will be %
174% typeset on the backtitle (i.e., the second page immediately after the %
175% title). The entries for the Document Signature Table are defined using %
176% the following three commands: %
177% %
178% \PreparedBy{<name>}{<function>}{<date>}{<comment>} %
179% \ReviewedBy{<name>}{<function>}{<date>}{<comment>} %
180% \ApprovedBy{<name>}{<function>}{<date>}{<comment>} %
181% %
182% where the mandatory arguments <name> and <function> denote the author(s) %
183% or persons being involved in the relevant task (e.g., A.U. Thor) and their %
184% function (e.g., ROM SAF Project Manager). %
185% %
186% The Document Change Record table is generated through a series of the %
187% command %
188% %
189% \DocChange{<version>}{<date>}{<by>}{<description>} %
190% %
191% with the obvious meaning of the mandatory arguments. %
192% In the case where the DCR exceeds the limits of page 2 one has to split it %
193% manually by using this adhoc command for the excess entries: %
194% %
195% \DocChangeExt{<version>}{<date>}{<by>}{<description>} %
196% - and un-comment \DocumentChangeRecordExtra after \maketitle %
197% %
198% %
199% Continued figures and tables %
200% ---------------------------- %
201% %
202% When typesetting long tables or including several subfigures into one, %
203% the resulting table or figure may spread out over several pages. The %
204% commands %
205% %
206% \continuedtable %
207% \continuedfigure %
208% %
209% placed inside a table or figure environment and before the next \caption %
210% will reduce the table or figure counter and therefore allow the creation %
211% of 'continued' tables or figures. However, the caption text itself must %
212% be manually adapted, e.g. to include a '(cont'd)' at the end of the %
213% caption text. %
214% %
215% Note that the longtable package provides an alternative for multipage %
216% tables, although these are no longer handled as ordinary floats. %
217% %
218% %
219% Example %
220% ------- %
221% %
222% The ROPP User Guide contains the following declarations: %
223% %
224% \documentclass{romsaf} %
225% %
226% ... %
227% %
228% \DocTitle{The Radio Occultation Processing Package (ROPP)\\ %
229% User Guide} %
230% \DocAuthor{Me and Him} (optional, default the ROM SAF consortium) %
231% \DocShortTitle{ROPP User Guide} %
232% \DocReference{SAF/ROM/METO/UG/ROPP/01} %
233% \DocVersion{Version 0.1} %
234% \DocDate{22 October 2004} %
235% %
236% ... %
237% %
238% \PreparedBy{C. Marquardt}{Research Scientist} %
239% \PreparedBy{D. Offiler}{ROM SAF Project Team} %
240% \ApprovedBy{K. B. Lauritsen}{ROM SAF Project Manager} %
241% %
242% ... %
243% %
244% \DocChange{Version 0.0}{25 Oct 2004}{Him}{Initial structure} %
245% \DocChange{Version 0.0}{25 Oct 2004}{Him}{Initial structure} %
246% ... %
247% \DocChangeExt{Version 1.0}{29 Oct 2004}{Me}{Initial revision} %
248% %
249% ... %
250% %
251% \begin{document} %
252% %
253% ... %
254% %
255% \end{document} %
256% %
257%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
258
259
260% 1. Formalities
261% --------------
262
263\NeedsTeXFormat{LaTeX2e}[1995/12/01]
264\ProvidesClass{romsaf10}[2017/05/02 ROM SAF report class v1.0]
265\newcommand{\cut}[1]{}
266
267
268
269% new in version 1.0. vsreport option
270\newif\if@vsreport\@vsreportfalse
271\DeclareOption{vsreport}{\@vsreporttrue}
272
273
274
275% 2. Options
276% ----------
277
278% KOMA base class
279
280\newif\if@chapters\@chapterstrue
281\newcommand*{\komaclass}{scrreprt}
282\DeclareOption{article}{\renewcommand{\komaclass}{scrartcl}\@chaptersfalse}
283\DeclareOption{book}{\renewcommand{\komaclass}{scrbook}}
284
285% 2.0 Use times-roman as font default.
286
287\renewcommand{\familydefault}{\rmdefault}
288
289% 2.1 Make twoside the default (to be switched with oneside)
290
291\newif\if@twoside\@twosidetrue
292\DeclareOption{oneside}{\@twosidefalse}
293
294% 2.2 Make smallheadings the default
295
296\newif\if@bigheadings\@bigheadingsfalse
297\newif\if@normalheadings\@normalheadingsfalse
298\newif\if@smallheadings\@smallheadingstrue
299\DeclareOption{bigheadings}{\@smallheadingsfalse\@bigheadingstrue}
300\DeclareOption{normalheadings}{\@smallheadingsfalse\@normalheadingstrue}
301\DeclareOption{smallheadings}{\@smallheadingstrue}
302
303% 2.3 Userguide layout option
304
305\newif\if@userguide\@userguidefalse
306\DeclareOption{userguide}{\@userguidetrue}
307
308% 2.4 Pass everything else to KOMA
309
310\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\komaclass}}
311
312% 2.5 Other (hardwired) defaults
313
314\PassOptionsToClass{numbers=noenddot,cleardoublepage=current,bibliography=totoc}{\komaclass}
315
316% 2.6 Process options
317
318\ProcessOptions\relax
319
320% 2.7 Set defaults
321
322\if@twoside
323 \PassOptionsToPackage{twoside}{geometry}
324\fi
325\if@smallheadings
326 \PassOptionsToClass{headings=small}{\komaclass}
327\else
328 \if@normalheadings
329 \PassOptionsToClass{headings=normal}{\komaclass}
330 \fi
331\fi
332
333% 2.8 Load the KOMA class
334
335\LoadClass{\komaclass}[2004/01/07]
336
337% 2.9 Page layout package
338
339\if@userguide
340 \RequirePackage[total={17cm,27.5cm},heightrounded,includemp,
341 includeheadfoot,head=12mm,headsep=8mm,footskip=11mm,
342 dvips,bindingoffset=12mm]{geometry}
343\else
344 \RequirePackage[total={17cm,27.5cm},heightrounded,
345 includeheadfoot,head=12mm,headsep=8mm,footskip=11mm,
346 dvips,bindingoffset=12mm]{geometry}
347\fi
348
349\setlength{\parskip}{2ex}
350
351% 2.10 Header package
352
353\RequirePackage[manualmark]{scrpage2}
354\PassOptionsToPackage{oneside}{scrpage}
355
356% 2.11 Other packages
357
358\RequirePackage{ifthen}
359\RequirePackage{calc}
360\RequirePackage{graphicx}
361\RequirePackage{colortbl}[2001/02/13]
362
363% 3. Define new commands for headers and footers
364% ----------------------------------------------
365
366\newcommand\@DocTitle{UNKNOWN}
367\newcommand\@DocSubTitle{UNKNOWN}
368\newcommand\@DocAuthor{\normalfont \sffamily
369{\normalfont \sffamily \bfseries ROM SAF Consortium}\\
370 Danish Meteorological Institute (DMI)\\
371 European Centre for Medium-Range Weather Forecasts (ECMWF)\\
372 Institut d'Estudis Espacials de Catalunya (IEEC)\\ %%% '-hack
373 Met Office (UKMO)}
374\newcommand\@DocWriter{UNKNOWN}
375\newcommand\@DocShortTitle{UNKNOWN}
376\newcommand\@DocReference{UNKNOWN}
377\newcommand\@DocVersion{UNKNOWN}
378\newcommand\@DocDate{UNKNOWN}
379
380\newcommand\DocTitle[1]{\renewcommand\@DocTitle{#1}}
381\newcommand\DocSubTitle[1]{\renewcommand\@DocSubTitle{#1}}
382\newcommand\DocAuthor[1]{\renewcommand\@DocAuthor{#1}}
383\newcommand\DocWriter[1]{\renewcommand\@DocWriter{#1}}
384\newcommand\DocShortTitle[1]{\renewcommand\@DocShortTitle{#1}}
385\newcommand\DocReference[1]{\renewcommand\@DocReference{#1}}
386\newcommand\DocVersion[1]{\renewcommand\@DocVersion{#1}}
387\newcommand\DocDate[1]{\renewcommand\@DocDate{#1}}
388
389
390% 3.1 Define VS Report specific commands
391\newcommand\@VSAuthor{UNKNOWN}
392\newcommand\@VSAuthorText{UNKNOWN}
393\newcommand\@VSDurationText{UNKNOWN}
394\newcommand\@VSDistributionText{UNKNOWN}
395\newcommand\VSAuthorText[1]{\renewcommand\@VSAuthorText{#1}}
396\newcommand\VSAuthor[1]{\renewcommand\@VSAuthor{#1}}
397\newcommand\VSDurationText[1]{\renewcommand\@VSDurationText{#1}}
398\newcommand\VSDistributionText[1]{\renewcommand\@VSDistributionText{#1}}
399\newcommand\@VSNumber{**}
400\newcommand\VSNumber[1]{\renewcommand\@VSNumber{#1}}
401% 4. Define ROM SAF headers and footers
402\renewcommand*{\pnumfont}{\normalfont \sffamily }
403% --------------------------------------
404%
405% Note: By defaut, the \chapter command resets the pagestyle to plain,
406% so we have to redefine the \chapterpagestyle.
407
408
409\setlength{\marginparwidth}{2.8cm}
410\setlength{\marginparsep}{0.0cm}
411\setlength{\marginparsep}{0.0cm}
412\setlength{\hoffset}{-1.0in}
413
414\setlength{\textwidth}{15.5cm}%{16.3cm}
415\setlength{\arrayrulewidth}{0.7pt}
416%line separation in a tabular double rule
417\setlength\doublerulesep{1pt}
418\setlength{\oddsidemargin}{2.8cm}
419\setlength\evensidemargin{\oddsidemargin}
420
421\newlength{\hfwidth}
422\if@userguide
423 \setheadwidth[0pt]{textwithmarginpar}
424 \setfootwidth[0pt]{textwithmarginpar}
425 \setlength{\hfwidth}{\textwidth+\marginparwidth+\marginparsep}
426\else
427 \setheadwidth[0pt]{\textwidth}
428 \setfootwidth[0pt]{text}
429 \setlength{\hfwidth}{\textwidth}
430\fi
431
432%Probably not used
433\renewpagestyle{plain}{(\textwidth,0.0pt)% header line
434{\hfill}%
435{\hfill}%
436{\hfill}%
437(\textwidth,0.0pt)}%
438{(\textwidth,0.0pt)% footer line
439{\hfill}%
440{\hfill}%
441{\hfill}%
442(\textwidth,0pt)}
443
444
445
446\newcommand{\grassheader}
447{
448 \renewcommand{\familydefault}{\sfdefault}
449
450\vspace{0cm}\hspace{-2.2mm}
451 \begin{tabularx}{\hfwidth}{|p{50.33mm}|p{50.33mm}|X|}
452 \hline
453 \parbox[p][][c]{0.33\hfwidth}%
454 {\fontsize{9pt}{10pt}\selectfont\normalfont\raggedright
455 \vspace{1mm}
456 Ref: \@DocReference\\
457 Version: \@DocVersion\\
458 Date: \@DocDate\\
459 % Doc: \formattedjobname\\
460 \vspace{1mm}
461 } &%
462 \parbox[p][][c]{0.33\hfwidth}%
463 {\fontsize{10pt}{11pt}\selectfont\normalfont\centering%
464 \vspace{1mm}
465 \if@vsreport
466 ROM SAF CDOP-3\\
467 Visiting Scientist Report \@VSNumber
468 \else
469 \@DocShortTitle\\
470 \fi
471 \vspace{1mm}
472 }&%
473 \parbox[p][12mm][c]{0.33\hfwidth}{\includegraphics[width=38mm]{ROMSAF_noName_Colour}}\\
474 \hline
475 \end{tabularx}
476}%
477
478
479
480\renewpagestyle{headings}{(\textwidth,0.0pt)% header
481{\grassheader}%
482{\grassheader}%
483{\grassheader}%
484(\textwidth,0.0pt)}%
485{(\textwidth,0.0pt)% footer
486{\normalfont \sffamily \hfill\pagemark\ of \pageref{LastPage}\hfill}%
487{\normalfont \sffamily \hfill\pagemark\ of \pageref{LastPage}\hfill}%
488{\normalfont \sffamily \hfill\pagemark\ of \pageref{LastPage}\hfill}%{\hfill\pagemark\hfill}%
489(\textwidth,0pt)}
490
491
492
493
494% new in version 1.0:
495% print in the lower left corner on the frontpage:
496
497\if@vsreport
498 \renewpagestyle{empty}{(\textwidth,0.0pt)% header
499 {}%
500 {}%
501 {}%
502 (\textwidth,0.0pt)}%
503 {(\textwidth,0.0pt)% footer
504 {\hfill \pagemark\ \normalfont \sffamily of \pageref{LastPage}\hfill}%
505 {\fontsize{10pt}{11pt} \raisebox{-0.5cm}{\parbox{6cm}
506 {\normalfont \sffamily Ref: \@DocReference \\
507 Version: \@DocVersion\\
508 Date: \@DocDate\\}}\hfill}%
509 {\hfill \pagemark\ \normalfont \sffamily of \pageref{LastPage} \hfill}%
510 (\textwidth,0pt)}
511 \renewcommand{\titlepagestyle}{empty}
512\else
513 \renewpagestyle{empty}{(\textwidth,0.0pt)% header
514 {}%
515 {}%
516 {}%
517 (\textwidth,0.0pt)}%
518 {(\textwidth,0.0pt)% footer
519 {\hfill \pagemark\ \normalfont \sffamily of \pageref{LastPage}\hfill}%
520 {\fontsize{10pt}{11pt} \raisebox{-0.5cm}{\parbox{6cm}
521 {\normalfont \sffamily Ref: \@DocReference}}\hfill}%
522 {\hfill \pagemark\ \normalfont \sffamily of \pageref{LastPage} \hfill}%
523 (\textwidth,0pt)}
524 \renewcommand{\titlepagestyle}{empty}
525\fi
526
527
528\if@chapters
529 \renewcommand*{\chapterpagestyle}{headings}
530\fi
531
532
533% Redefine the empty page style (for the title page):
534\cut{
535\deftripstyle{empty}{}{}{}
536 {\fontsize{10pt}{11pt}\selectfont\normalfont Ref: \@DocReference}{}{}%
537}
538
539\pagestyle{headings}
540
541
542% 5. Title page
543% -------------
544
545\titlehead{ }
546 \if@vsreport
547 \subject{\vspace{-0.5cm}\includegraphics[width=0.85\textwidth]{ROMSAF_Name_Colour}\vspace{1.4cm}}
548%%% for VS24
549%
550\title{{\fontsize{24pt}{24pt}\selectfont\bfseries ROM SAF CDOP-3} \\[1cm]
551{\fontsize{24pt}{24pt} \selectfont\bfseries Visiting Scientist Report \@VSNumber:} \\[1cm]
552\fontsize{17pt}{17pt}\selectfont\bfseries\@DocTitle \\}
553\author{\fontsize{17pt}{17pt}\selectfont\bfseries}
554\date{\normalfont \sffamily\fontsize{17pt}{17pt}\selectfont\bfseries\@VSAuthor\\}
555
556\publishers{\vspace{1.5cm}\normalfont \sffamily \fontsize{13pt}{13pt}\selectfont \@DocAuthor\\}
557
558\else
559
560\subject{\vspace{-3.0cm}\includegraphics[width=1.0\textwidth]{ROMSAF_Name_Colour}\vspace{1.4cm}}
561\title{ {\fontsize{24pt}{24pt} \selectfont\bfseries \@DocTitle}}
562\author{\normalfont \sffamily \LARGE\fontsize{17pt}{17pt}\selectfont\bfseries Version \@DocVersion}
563\date{\normalfont \sffamily \LARGE\fontsize{17pt}{17pt}\selectfont\bfseries \@DocDate\\[1cm] \ }
564\publishers{\vspace{1.5cm}\normalfont \sffamily \LARGE\fontsize{13pt}{13pt}\selectfont \@DocAuthor\\}
565\fi
566%Back to Times Roman
567\renewcommand{\familydefault}{\rmdefault}
568% 6. The backtitle
569% ----------------
570
571% 6.1 A strut for the tables
572
573\newlength\lstrutlength
574\setlength{\lstrutlength}{\baselineskip/\baselinestretch}
575\addtolength{\lstrutlength}{1.5mm}
576\newcommand\lstrut{\rule[-2mm]{0mm}{\lstrutlength}}
577
578% 6.2 Document Author Table commands
579
580\newcommand\@PreparedBy{UNKNOWN}
581\newcommand\@ReviewedBy{UNKNOWN}
582\newcommand\@ApprovedBy{UNKNOWN}
583\newcommand\@PreparedFunc{UNKNOWN}
584\newcommand\@ReviewedFunc{UNKNOWN}
585\newcommand\@ApprovedFunc{UNKNOWN}
586\newcommand\@PreparedDate{UNKNOWN}
587\newcommand\@ReviewedDate{UNKNOWN}
588\newcommand\@ApprovedDate{UNKNOWN}
589\newcommand\@PreparedComment{UNKNOWN}
590\newcommand\@ReviewedComment{UNKNOWN}
591\newcommand\@ApprovedComment{UNKNOWN}
592
593\newcounter{PBc}\setcounter{PBc}{0}
594\newcommand\PBc@rows{}
595\newcommand\PreparedBy[4]{%
596 \addtocounter{PBc}{1}
597 \@temptokena=\expandafter{\PBc@rows}
598 \xdef\PBc@rows{\the\@temptokena
599{Prepared by:} &
600#1\noexpand\lstrut\protect &
601#2\protect &
602#3\protect
603\tabularnewline
604\noexpand\hline}
605}
606
607\newcounter{RBc}\setcounter{RBc}{0}
608\newcommand\RBc@rows{}
609\newcommand\ReviewedBy[4]{%
610 \addtocounter{RBc}{1}
611 \@temptokena=\expandafter{\RBc@rows}
612 \xdef\RBc@rows{\the\@temptokena
613 {Reviewed by (Internal):}\noexpand\lstrut\protect&
614 {#1\protect}&
615 {#2\protect}&
616 {#3\protect}
617 \tabularnewline
618 \noexpand\hline}
619}
620
621\newcounter{ABc}\setcounter{ABc}{0}
622\newcommand\ABc@rows{}
623\newcommand\ApprovedBy[4]{%
624 \addtocounter{ABc}{1}
625 \@temptokena=\expandafter{\ABc@rows}
626 \xdef\ABc@rows{\the\@temptokena
627 {Approved by:} &
628 #1\noexpand\lstrut\protect &
629 #2\protect &
630 #3\protect
631 \tabularnewline
632 \noexpand\hline}
633}
634
635
636% 6.3 Document Change Record commands
637
638\newcounter{dcc}\setcounter{dcc}{0}
639\newcommand\DC@rows{}
640\newcommand\DocChange[4]{%
641 \addtocounter{dcc}{1}
642 \@temptokena=\expandafter{\DC@rows}
643 \xdef\DC@rows{\the\@temptokena
644#1\noexpand\lstrut\protect &
645#2\protect &
646#3\protect &
647#4\protect
648\tabularnewline
649 \noexpand\hline}
650 }
651
652\newcounter{dccExt}\setcounter{dccExt}{0}
653\newcommand\DCExt@rows{}
654\newcommand\DocChangeExt[4]{%
655 \addtocounter{dccExt}{1}
656 \@temptokena=\expandafter{\DCExt@rows}
657 \xdef\DCExt@rows{\the\@temptokena
658#1\noexpand\lstrut\protect &
659#2\protect &
660#3\protect &
661#4\protect
662\tabularnewline
663 \noexpand\hline}
664 }
665
666% 6.3 The tables
667
668\newcommand{\DocumentAuthorTable}{
669\parbox{\textwidth}{\fontsize{10pt}{10pt}\normalfont \sffamily
670\begin{center}
671\vspace*{1cm}
672\begin{tabularx}{\textwidth}[c]
673{|l|X|l|c|}
674\doublerulesepcolor[gray]{0.95}
675\hline
676\hline
677\multicolumn{4}{>{\cellcolor[gray]{0.95}}l}{
678 \parbox{150mm}{\raggedright\vspace{1mm}{\fontsize{12pt}{12pt}\normalfont \sffamily
679 \bfseries DOCUMENT AUTHOR TABLE \hfill} \vspace{1mm}}}\\
680\hline
681\hline
682\multicolumn{4}{c}{}\\
683\hline
684 \multicolumn{1}{|>{\cellcolor[gray]{0.95}}c|}{\parbox{.1\textwidth}{\raggedright\vspace{1mm}\fontsize{12pt}{12pt}\selectfont\sffamily\normalcolor\bfseries\emph{ }\vspace{1mm}}} &
685 \multicolumn{1}{>{\cellcolor[gray]{0.95}}c|}{\parbox{.1\textwidth}{\centering\vspace{1mm}\fontsize{12pt}{12pt}\selectfont\sffamily\normalcolor\bfseries\emph{Author(s)}\vspace{1mm}}} &
686 \multicolumn{1}{>{\cellcolor[gray]{0.95}}c|}{\parbox{.1\textwidth}{\centering\vspace{1mm}\fontsize{12pt}{12pt}\selectfont\sffamily\normalcolor\bfseries\emph{Function}\vspace{1mm}}} &
687 \multicolumn{1}{>{\cellcolor[gray]{0.95}}c|}{\parbox{.1\textwidth}{\centering\vspace{1mm}\fontsize{12pt}{12pt}\selectfont\sffamily\normalcolor\bfseries\emph{Date}\vspace{1mm}}} \\%&
688 \hline
689 \ifnum 0=\value{PBc}
690 \lstrut & & \\
691 \else
692 \PBc@rows
693 \fi
694 %
695 \ifnum 0=\value{RBc}
696 \lstrut & & \\
697 \else
698 \RBc@rows
699 \fi
700 %
701 \ifnum 0=\value{ABc}
702 \lstrut & & \\
703 \else
704 \ABc@rows
705 \fi
706\end{tabularx}
707\end{center}
708}
709}
710
711
712\uppertitleback{
713
714\chapter*{}
715\addcontentsline{toc}{chapter}{Document Change Record}
716\vspace{-2.3cm}
717\DocumentAuthorTable
718\DocumentChangeRecord
719\if@vsreport
720\documentDistributionList
721\romsafVisitingScientist
722\fi
723}
724
725
726
727%6.4 Document Change Record
728
729\newcommand{\DocumentChangeRecord}{\renewcommand{\familydefault}{\sfdefault}\selectfont
730 \parbox{\textwidth}{\fontsize{10pt}{10pt}\normalfont \sffamily
731 \vspace{1cm}
732 \begin{tabularx}{\textwidth}[c]{|c|l|c|X|}
733 \hline
734 \hline
735 \multicolumn{4}{>{\cellcolor[gray]{0.95}}l}{
736 \parbox{100mm}{\raggedright\vspace{1mm}{\fontsize{12pt}{12pt}\normalfont \sffamily \normalfont \bfseries DOCUMENT CHANGE RECORD \hfill}\vspace{1mm}}} \\
737 \hline
738 \hline
739 \multicolumn{4}{l}{}\\
740 \hline
741 \multicolumn{1}{|>{\cellcolor[gray]{0.95}}c|}{\parbox{30mm}{\centering\vspace{1mm}\fontsize{12pt}{12pt}\normalfont \sffamily \bfseries\emph{Version}\vspace{0.7mm}}} &
742 \multicolumn{1}{>{\cellcolor[gray]{0.95}}c|}{\parbox{20mm}{\centering\vspace{1mm}\fontsize{12pt}{12pt}\normalfont \sffamily \bfseries\emph{Date}\vspace{0.7mm}}} &
743 \multicolumn{1}{>{\cellcolor[gray]{0.95}}c|}{\parbox{20mm}{\centering\vspace{1mm}\fontsize{12pt}{12pt}\normalfont \sffamily \bfseries\emph{By}\vspace{0.0mm}}} &
744 \multicolumn{1}{>{\cellcolor[gray]{0.95}}c|}{\parbox{30mm}{\centering\vspace{1mm}\fontsize{12pt}{12pt}\normalfont \sffamily \bfseries\emph{Description}\vspace{0.0mm}}} \\
745 \hline
746 \ifnum 0=\value{dcc}
747 \lstrut & & \\
748 \else
749 \DC@rows
750 \fi
751 \end{tabularx}
752 }
753}
754
755\newlength\nettowidth
756\setlength{\nettowidth}{\textwidth-8\tabcolsep-5\arrayrulewidth}
757
758\newcommand{\DocumentChangeRecordExtra}{
759 {\renewcommand{\familydefault}{\sfdefault}\selectfont
760 \fontsize{10pt}{10pt}\normalfont \sffamily
761 \begin{longtable}
762 {|m{0.225\nettowidth}|m{0.16\nettowidth}|m{0.155\nettowidth}|m{0.46\nettowidth}|}
763 \hhline{====}
764 \multicolumn{4}{>{\cellcolor[gray]{0.95}}l}{
765 \parbox{\textwidth-2\tabcolsep+0.5\arrayrulewidth}{\raggedright\vspace{1mm}{\fontsize{12pt}{12pt}\normalfont \sffamily \normalfont \bfseries DOCUMENT CHANGE RECORD \hfill} {\normalfont \itshape ... continued }\vspace{1mm}}} \\
766 \hhline{====}
767 \multicolumn{4}{c}{}\\
768 \hline
769 \multicolumn{1}{|>{\cellcolor[gray]{0.95}}c|}{\parbox{10mm}{\raggedright\vspace{1mm}\fontsize{12pt}{12pt}\normalfont \sffamily \bfseries\emph{Version}\vspace{0.7mm}}} &
770 \multicolumn{1}{>{\cellcolor[gray]{0.95}}c|}{\parbox{20mm}{\raggedright\vspace{1mm}\fontsize{12pt}{12pt}\normalfont \sffamily \bfseries\emph{Date}\vspace{0.7mm}}} &
771 \multicolumn{1}{>{\cellcolor[gray]{0.95}}c|}{\parbox{10mm}{\raggedright\vspace{1mm}\fontsize{12pt}{12pt}\normalfont \sffamily \bfseries\emph{By}\vspace{0mm}}} &
772 \multicolumn{1}{>{\cellcolor[gray]{0.95}}c|}{\parbox{30mm}{\raggedright\vspace{1mm}\fontsize{12pt}{12pt}\normalfont \sffamily \bfseries\emph{Description}\vspace{0mm}}} \\
773 \hline
774 \endfirsthead
775 \hhline{====}
776 \multicolumn{4}{>{\cellcolor[gray]{0.95}}l}{
777 \parbox{\textwidth-2\tabcolsep+0.5\arrayrulewidth}{\raggedright\vspace{1mm}{\fontsize{12pt}{12pt}\normalfont \sffamily \normalfont \bfseries DOCUMENT CHANGE RECORD \hfill {\normalfont \itshape ... continued}}\vspace{1mm}}} \\
778 \hhline{====}
779 \multicolumn{4}{c}{}\\
780 \hline
781 \multicolumn{1}{|>{\cellcolor[gray]{0.95}}c|}{\parbox{10mm}{\raggedright\vspace{1mm}\fontsize{12pt}{12pt}\normalfont \sffamily \bfseries\emph{Version}\vspace{0.7mm}}} &
782 \multicolumn{1}{>{\cellcolor[gray]{0.95}}c|}{\parbox{20mm}{\raggedright\vspace{1mm}\fontsize{12pt}{12pt}\normalfont \sffamily \bfseries\emph{Date}\vspace{0.7mm}}} &
783 \multicolumn{1}{>{\cellcolor[gray]{0.95}}c|}{\parbox{10mm}{\raggedright\vspace{1mm}\fontsize{12pt}{12pt}\normalfont \sffamily \bfseries\emph{By}\vspace{0mm}}} &
784 \multicolumn{1}{>{\cellcolor[gray]{0.95}}c|}{\parbox{30mm}{\raggedright\vspace{1mm}\fontsize{12pt}{12pt}\normalfont \sffamily \bfseries\emph{Description}\vspace{0mm}}} \\
785 \hline
786 \endhead
787 \hline \multicolumn{4}{r}{\textit{\ }} \\
788 \endfoot
789 \endlastfoot
790 \ifnum 0=\value{dccExt}
791 \lstrut & & \\
792 \else
793 \DCExt@rows
794 \fi
795 \end{longtable}
796}
797}
798
799\renewcommand{\theequation}{{\normalfont\rmfamily\thechapter .\arabic{equation}}}
800
801\newcommand{\documentDistributionList}{
802\parbox{\textwidth}{\fontsize{10pt}{10pt}\normalfont \sffamily
803\vspace{1cm}
804\begin{tabularx}{\textwidth}[l]{X}
805 \hline
806 \hline
807 \cellcolor[gray]{0.95}
808 \parbox{100mm}{\vspace{1mm}
809 {\fontsize{12pt}{12pt}\normalfont \sffamily \bfseries DOCUMENT DISTRIBUTION LIST}
810 \vspace{1mm}}\\
811 \hline
812 \hline
813\end{tabularx}}
814\fontsize{12pt}{12pt}\rmfamily
815\vspace{5mm} \raggedright
816
817\@VSDistributionText}
818
819\newcommand{\romsafVisitingScientist}{
820\parbox{\textwidth}{\fontsize{10pt}{10pt}\normalfont \sffamily
821\vspace{1cm}
822\begin{tabularx}{\textwidth}[l]{X}
823 \hline
824 \hline
825 \cellcolor[gray]{0.95}
826 \parbox{100mm}{\vspace{1mm}
827 {\fontsize{12pt}{12pt}\normalfont \sffamily \bfseries VS AUTHOR AND DURATION}
828 \vspace{1mm}}\\
829 \hline
830 \hline
831\end{tabularx}}
832\fontsize{12pt}{12pt}\rmfamily
833\raggedright
834\fontsize{12pt}{12pt}\rmfamily
835\vspace{7mm}\\
836\textbf{VS Authors}\\
837\@VSAuthorText
838\vspace{7mm} \\
839\textbf{VS Duration}\\
840\@VSDurationText\\}
841
842
843\newcommand{\romsafText}
844{%\renewcommand{\familydefault}{\rmdefault}
845%\selectfont \fontsize{12pt}{12pt}
846{\normalfont\sffamily\normalcolor\bfseries \bfseries ROM SAF}\\
847The Radio Occultation Meteorology Satellite
848Application Facility (ROM SAF) is a decentralised processing centre
849under EUMETSAT which is responsible for operational processing of
850radio occultation (RO) data from the Metop and Metop-SG satellites and radio
851occultation data from other missions. The ROM SAF delivers bending
852angle, refractivity, temperature, pressure, humidity, and other
853geophysical variables in near real-time for NWP users, as well as
854reprocessed Climate Data Records (CDRs) and Interim Climate Data
855Records (ICDRs) for users requiring a higher degree of homogeneity
856of the RO data sets. The CDRs and ICDRs are further processed into globally
857gridded monthly-mean data for use in climate monitoring and climate
858science applications.
859
860The ROM SAF also maintains the Radio Occultation Processing Package
861(ROPP) which contains software modules that aid users wishing to
862process, quality-control and assimilate radio occultation data from
863any radio occultation mission into NWP and other models.
864
865The ROM SAF Leading Entity is the Danish Meteorological Institute
866(DMI), with Cooperating Entities: i) European Centre for Medium-Range
867Weather Forecasts (ECMWF) in Reading, United Kingdom, ii) Institut
868D'Estudis Espacials de Catalunya (IEEC) in Barcelona, Spain, and iii)
869Met Office in Exeter, United Kingdom. To get access to our products or
870to read more about the ROM SAF please go to: \url{http://www.romsaf.org}.}
871
872
873\newcommand{\romsafIPR}{
874%\renewcommand{\familydefault}{\rmdefault}
875%\selectfont \fontsize{12pt}{12pt}
876
877{\normalfont\sffamily\normalcolor\bfseries Intellectual Property Rights}\\
878All intellectual property rights of the ROM SAF products belong to
879EUMETSAT. The use of these products is granted to every interested
880user, free of charge. If you wish to use these products, EUMETSAT's
881copyright credit must be shown by displaying the words ``copyright
882(year) EUMETSAT'' on each of the products used.
883}
884
885
886\newcommand{\romsafDefinitions} {
887
888RO data products from the Metop and Metop-SG satellites and RO data from other missions are grouped in \emph{data levels} (Level 0, 1, 2, or 3)
889and \emph{product types} (NRT, offline, CDR, or ICDR). The data levels and
890product types are defined below\footnote{Note that the level definitions differ partly from the WMO definitions:
891\url{http://www.wmo.int/pages/prog/sat/dataandproducts_en.php}}. The lists of variables should not be
892considered as the complete contents of a given data level, and not all
893data may be contained in a given data level.
894
895
896{Data levels:\nopagebreak
897\begin{itemize}
898\setlength\itemsep{-1pt}
899\item[]\underline{Level 0}:
900Raw sounding, tracking and ancillary data, and other GNSS data before clock correction and reconstruction;
901
902\item[]\underline{Level 1A}: Reconstructed full resolution excess phases, total phases, pseudo ranges, SNRs, orbit information, I, Q values, NCO (carrier) phases, navigation bits, and quality information;
903
904\item[]\underline{Level 1B}: Bending angles and impact parameters, tangent point location, and quality information;
905
906\item[]\underline{Level 2}: Refractivity, geopotential height, ``dry'' temperature profiles (Level 2A), pressure, temperature, specific humidity profiles (Level 2B), surface pressure, tropopause height, planetary boundary layer height (Level 2C), ECMWF model level coefficients (Level 2D), quality information;
907
908\item[]\underline{Level 3}: Gridded or resampled data, that are processed from Level 1 or 2 data, and that are provided as, e.g., daily, monthly, or seasonal means on a spatiotemporal grid, including metadata, uncertainties and quality information.
909\end{itemize}}
910
911Product types:\nopagebreak
912\begin{itemize}
913\setlength\itemsep{-1pt}
914\item[]\underline{NRT product}: Data product delivered less than: (i) 3 hours after measurement (ROM SAF Level 2 for EPS); (ii) 150 min after measurement (ROM SAF Level 2 for EPS-SG Global Mission); (iii) 125 min after measurement (ROM SAF Level 2 for EPS-SG Regional Mission);
915
916
917
918\item[]\underline{Offline product}: Data product delivered from less than 5 days to up to 6 months after measurement, depending on the requirements. The evolution of this type of product is driven by new scientific developments and subsequent product upgrades;
919
920\item[]\underline{CDR}: Climate Data Record generated from a dedicated reprocessing activity using a fixed set of processing software\footnote{(i) GCOS 2016 Implementation Plan; (ii) \url{http://climatemonitoring.info/home/terminology}}. The data record covers an extended time period of several years (with a fixed end point) and constitutes a homogeneous data record appropriate for climate usage;
921
922\item[]\underline{ICDR}: An Interim Climate Data Record (ICDR) regularly extends in time a (Fundamental or Thematic) CDR using a system having optimum consistency with and lower latency than the system used to generate the CDR\footnote{\url{http://climatemonitoring.info/home/terminology} (the ICDR definition was endorsed at the \href{http://ceos.org/meetings/wgclimate-9}{9th session of the joint CEOS/CGMS Working Group Climate Meeting on 29 March 2018}).}.
923\end{itemize}
924}
925
926
927
928% 7. Switch to userguide layout and back
929% --------------------------------------
930
931\newcommand*{\userguidelayout}{%
932 \changetext{}%
933 {-\marginparwidth-\marginparsep}%
934 {}%
935 {}%
936 {}%
937 }
938\newcommand*{\standardlayout}{\changetext{}{\marginparwidth+\marginparsep}{}{}{}}
939\pagestyle{headings}
940
941
942% 8. Margin texts
943% ---------------
944
945\newcommand{\margintext}[1]{\mbox{}\marginpar{\raggedleft\small\hspace{0pt\emph{\color{cyan}#1}}}}
946
947
948% 9. Continued figures and tables
949% -------------------------------
950
951\providecommand{\continuedtable}{\addtocounter{table}{-1}}
952\providecommand{\continuedfigure}{\addtocounter{figure}{-1}}
953
954%\setcapmargin[margin left ]{margin }
955%\setcapmargin*[margin inside ]{margin }
956
957
958% 10. More changes to the default behaviour
959% -----------------------------------------
960
961\frenchspacing
962\setkomafont{chapter}{\normalfont\sffamily\normalcolor\bfseries\fontsize{18pt}{18pt}\selectfont}
963\setkomafont{sectioning}{\sffamily\normalcolor\bfseries}
964\setkomafont{caption}{\rmfamily\itshape}
965\setkomafont{captionlabel}{\bfseries\usekomafont{caption}}
966\newlength{\captionwidth}
967\setlength{\captionwidth}{\hsize}
968\setlength{\parindent}{0mm}
969\setcapwidth[c]{\textwidth}
970\setcapindent{0pt}
971
972
973
974% Chapters, sections, subsections.
975%---------------------------------
976%\patchcmd{\chapter}{ \vspace*{-0.5cm}}{}{}{}
977
978% If you work on KOMA-Script before v3.19a you must use this:
979%\renewcommand{\chapterheadstartvskip}{\vspace*{-1.4\baselineskip}}
980%\renewcommand{\chapterheadendvskip}{\vspace*{0.1\baselineskip}}
981
982% If you work on KOMA-Script v3.19a or later you must use this:
983\renewcommand{\chapterheadstartvskip}{}
984\renewcommand{\chapterheadendvskip}{}
985
986
987\renewcommand{\section}{\@startsection
988{section}% % the name
989{1}% % the level
990{0mm}% % the indent
991%{0.6\baselineskip \interlinepenalty\@M}% % the before skip
992{0.6\baselineskip}% % the before skip
993{0.1\baselineskip}% % the after skip
994{\fontsize{14pt}{14pt}\normalfont \sffamily \bfseries }} % the style
995
996\renewcommand{\subsection}{\@startsection
997{subsection}% % the name
998{2}% % the level
999{0mm}% % the indent
1000{0.1\baselineskip}% % the before skip
1001{0.1\baselineskip}% % the after skip
1002{\fontsize{12pt}{12pt}\normalfont \sffamily \bfseries }} % the style
1003
1004\renewcommand{\familydefault}{\rmdefault}
1005
1006