]> AND Private Git Repository - these_kahina.git/blob - upmethodology-document.sty
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
je viens de rajouter les fichiers .sty
[these_kahina.git] / upmethodology-document.sty
1 % Package for Unified Process Methodology's documents
2 %
3 % Copyright (c) 2006-2013 Stephane GALLAND <galland@arakhne.org>
4
5 % This program is free library; you can redistribute it and/or modify
6 % it under the terms of the GNU Lesser General Public License as
7 % published by the Free Software Foundation; either version 3 of the
8 % License, or any later version.
9 %
10 % This library is distributed in the hope that it will be useful, but
11 % WITHOUT ANY WARRANTY; without even the implied warranty of
12 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 % Lesser General Public License for more details.
14 %
15 % You should have received a copy of the GNU Lesser General Public
16 % License along with this library; see the file COPYING.  If not,
17 % write to the Free Software Foundation, Inc., 59 Temple Place - Suite
18 % 330, Boston, MA 02111-1307, USA.
19
20 \global\edef\upm@package@doc@ver{2013/09/29}
21
22 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
23 \ProvidesPackage{upmethodology-document}[\upm@package@doc@ver]
24
25 \RequirePackage{upmethodology-p-common}
26
27 %----------------------------------------
28 % LOCALES
29 %----------------------------------------
30 \def\upm@document@lang@english{%
31   \gdef\upm@lang@@{\message{**** upmethodology-document is using English language ****}}%
32   \gdef\upmcurrentlang{english}%
33   \gdef\upmcurrentlangforbabel{english}%
34   \gdef\upm@lang@project{Project}%
35   \gdef\upm@lang@document{Document}%
36   \gdef\upm@lang@docref{Reference}%
37   \gdef\upm@lang@lastupdate{Last Update}%
38   \gdef\upm@lang@lastupdate@short{Updated}%
39   \gdef\upm@lang@document@summary{Document Summary}%
40   \gdef\upm@lang@status{Status}%
41   \gdef\upm@lang@document@authors{Authors}%
42   \gdef\upm@lang@document@informed{Informed People}%
43   \gdef\upm@lang@document@validators{Validators}%
44   \gdef\upm@lang@document@names{Names}%
45   \gdef\upm@lang@document@comments{Comments}%
46   \gdef\upm@lang@document@emails{Emails}%
47   \gdef\upm@lang@document@initials{Initials}%
48   \gdef\upm@lang@document@abstract{Abstract}%
49   \gdef\upm@lang@document@keywords{Key-words}%
50   \gdef\upm@lang@document@copyright@purpose{This document describes the \theupmproject\ project\Ifnotempty{\theupmsubproject}{ and its \theupmsubproject\ subproject}.}%
51   \gdef\upm@lang@document@copyright@tex{\TeX\ is a trademark of the American Mathematical Society.}%
52   \gdef\upm@lang@document@copyright@upmethodology{\texttt{tex-upmethodology} is owned by St\'ephane Galland, \arakhneorg, France.}%
53   \gdef\upm@lang@document@copyright@madewith{This document was realised with \LaTeX\ and \texttt{tex-upmethodology}.}%
54   \gdef\upm@lang@document@copyright@trademarks{This document is published by the \theupmformattedpublisher. All right reserved. No part of this publication may be reproduced, stored in a retreival system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publishers.}
55   \gdef\upm@lang@document@copyright@printedin{Printed in \theupmprintedin.}
56 }
57 \def\upm@document@lang@french{%
58   \gdef\upm@lang@@{\message{**** upmethodology-document is using French language ****}}%
59   \gdef\upmcurrentlang{french}%
60   \gdef\upmcurrentlangforbabel{frenchb}%
61   \gdef\upm@lang@project{Projet}%
62   \gdef\upm@lang@document{Document}%
63   \gdef\upm@lang@docref{R\'ef\'erence}%
64   \gdef\upm@lang@lastupdate{Derni\`ere modification}%
65   \gdef\upm@lang@lastupdate@short{Modifi\'e}%
66   \gdef\upm@lang@document@summary{Synoptique}%
67   \gdef\upm@lang@status{Statut}%
68   \gdef\upm@lang@document@authors{Auteurs}%
69   \gdef\upm@lang@document@comments{Commentaires}%
70   \gdef\upm@lang@document@informed{Pour information}%
71   \gdef\upm@lang@document@validators{Validateurs}%
72   \gdef\upm@lang@document@names{Noms}%
73   \gdef\upm@lang@document@emails{Emails}%
74   \gdef\upm@lang@document@initials{Initiales}%
75   \gdef\upm@lang@document@abstract{R\'esum\'e}%
76   \gdef\upm@lang@document@keywords{Mots-cl\'es}%
77   \gdef\upm@lang@document@copyright@purpose{Ce document d\'ecrit le projet \theupmproject\Ifnotempty{\theupmsubproject}{ et son sous-projet \theupmsubproject}.}%
78   \gdef\upm@lang@document@copyright@tex{\TeX\ et \LaTeX\ sont des marques de la Soci\'et\'e Am\'ericaine de Math\'ematiques.}%
79   \gdef\upm@lang@document@copyright@upmethodology{\texttt{tex-upmethodology} est la propri\'et\'e de St\'ephane Galland, \arakhneorg, France.}%
80   \gdef\upm@lang@document@copyright@madewith{Ce document a \'et\'e r\'ealis\'e avec \LaTeX\ et \texttt{tex-upmethodology}.}%
81   \gdef\upm@lang@document@copyright@trademarks{Ce document est publi\'e par \theupmformattedpublisher. Tous droits r\'eserv\'es. \par Le Code de la propri\'et\'e intellectuelle n'autorisant, aux termes de l'article L.122-5, 2\textdegree et 3\textdegree a), d'une part, que les ``copies ou reproductions strictement r\'eserv\'ees \`a l'usage priv\'e du copiste et non destin\'ees \`a une utilisation collective'' et, d'autre part, que les analyses et les courtes citations dans un but d'exemple et d'illustation, ``toute repr\'esentation ou reproduction int\'egrale ou partielle faite sans le consentement de l'auteur ou de ses ayants droit ou ayants cause est illicite'' (art. L.122-4). \par Cette repr\'esentation ou reproduction, par quelque proc\'ed\'e que ce soit, constiturait donc une contrefa\c{c}on sanctionn\'ee par les articles L.335-2 et suivants du Code de la propri\'et\'e intellectuelle.}
82   \gdef\upm@lang@document@copyright@printedin{Imprim\'e en \theupmprintedin.}
83   
84 }
85
86 %----------------------------------------
87 % OPTIONS
88 %----------------------------------------
89 \DeclareOption{french}{%
90   \upm@document@lang@french
91 }
92 \DeclareOption{francais}{%
93   \upm@document@lang@french
94 }
95 \DeclareOption{english}{%
96   \upm@document@lang@english
97 }
98 \ExecuteOptions{english}
99 \ProcessOptions
100
101 {\upm@lang@@}
102
103 \RequirePackage[\upmcurrentlangforbabel]{babel}
104 \RequirePackage{vmargin}
105
106 \RequirePackage{upmethodology-extension}
107 \RequirePackage{upmethodology-fmt}
108 \RequirePackage{upmethodology-version}
109
110 %----------------------------------------
111 % Ensure that frenchb (included by babel)
112 % does not use compact versions of lists 
113 % in french mode.
114 %----------------------------------------
115
116 \newlength\listendskip
117 \listendskip=\parskip
118 \iflanguage{french}{%
119         \addto\extrasfrench{%
120                 \let\upm@document@enditemizeFB\enditemizeFB%
121                 \def\enditemizeFB{\upm@document@enditemizeFB\vspace{\listendskip}}%
122                 \let\upm@document@enditemizeORI\enditemizeORI%
123                 \def\enditemizeFB{\upm@document@enditemizeORI\vspace{\listendskip}}%
124         }%
125         \addto\noextrasfrench{%
126                 \let\upm@document@enditemizeFB\enditemizeFB%
127                 \def\enditemizeFB{\upm@document@enditemizeFB\vspace{\listendskip}}%
128                 \let\upm@document@enditemizeORI\enditemizeORI%
129                 \def\enditemizeFB{\upm@document@enditemizeORI\vspace{\listendskip}}%
130         }%
131 }
132
133 %----------------------------------------
134 % DOCUMENT MANAGEMENT
135 %----------------------------------------
136
137 %-----
138 % Declare a project's document
139 %\declaredocument{project}{name}{ref}
140 \newcommand{\declaredocument}[3]{%
141         \gdef\theupmproject{#1}%
142         \gdef\theupmsubproject{}%
143         \gdef\theupmdocname{#2}%
144         \gdef\theupmdocref{#3}%
145 }
146
147 %-----
148 % Declare a project's document
149 %\declaredocumentex{project}{subproject}{name}{ref}
150 \newcommand{\declaredocumentex}[4]{%
151         \gdef\theupmproject{#1}%
152         \gdef\theupmsubproject{#2}%
153         \gdef\theupmdocname{#3}%
154         \gdef\theupmdocref{#4}%
155 }
156
157 %-----
158 % Display the summary of the document
159 %\upmdocumentsummary[width]
160 \newcommand{\upmdocumentsummary}[1][\linewidth]{%
161         \noindent\begin{mtabular}[#1]{2}{|l|X|}%
162         \tabulartitle{\upm@lang@document@summary}%
163         \upm@lang@project & \theupmproject\Ifnotempty{\theupmsubproject}{ -- \theupmsubproject} \\
164         \upm@lang@document & \theupmdocname \\
165         \upm@lang@docref & \theupmdocref \\
166         \upm@lang@version & \theupmversion \\
167         \upm@lang@lastupdate & \theupmdate \\
168         \hline
169         \end{mtabular}\par\vspace{.5cm}%
170 }
171
172 %-----
173 % Display the the document information on a page
174 %\upmpublicationpage
175 \newcommand{\upmdocinfopage}{
176         \thispagestyle{plain}
177         \upmdocumentsummary\upmdocumentauthors\upmdocumentvalidators\upmdocumentinformedpeople\vfill\upmhistory\clearpage%
178 }
179
180 %-----
181 % Display the publication pag for the document
182 %\upmpublicationpage
183 \newcommand{\upmpublicationpage}{
184         \thispagestyle{empty}%
185         \upmpublicationminipage%
186 }
187 \newcommand{\upmpublicationminipage}{
188         \if@twoside\ifodd\c@page\clearpage\fi\fi%
189         \mbox{}\vfill\small%
190         \par\noindent
191         \upm@lang@document@copyright@purpose
192         \vspace{.5cm}
193         \par\noindent
194         \upm@lang@document@copyright@tex
195         \par\noindent
196         \upm@lang@document@copyright@upmethodology
197         \vspace{.5cm}
198         \par\noindent
199         \Get{trademarks}
200         \vspace{4cm}
201         \par\noindent
202         \upm@lang@document@copyright@madewith
203         \vspace{.15cm}
204         \par\noindent
205         Copyright~\copyright~\upmcopyrightdate~\theupmformattedcopyrighter.
206         \vspace{.15cm}
207         \par\noindent
208         \upm@lang@document@copyright@trademarks \Ifdefined{printed}{\upm@lang@document@copyright@printedin}
209         \vspace{.25cm}
210         \par\noindent
211         \upm@lang@docref~: \theupmdocref \\
212         \Ifnotempty{\theupmisbn}{ISBN~:~\theupmisbn\\}
213         \Ifnotempty{\theupmissn}{ISSN~:~\theupmissn\\}
214         \Ifnotempty{\theupmdoi}{DOI~:~\theupmdoi\\}
215         \clearpage%
216 }
217
218 %-----
219 %Name of the project for which this document was written
220 \def\theupmproject{Arakhn\^e Project}
221
222 %-----
223 %Name of the sub-project for which this document was written
224 \def\theupmsubproject{}
225
226 %-----
227 %Name of the document
228 \def\theupmdocname{Arakhn\^e Document}
229
230 %-----
231 %Reference of the document
232 \def\theupmdocref{XXX}
233
234
235 %-----
236 %Name of the logo
237 \newcommand{\theupmsmalldoclogo}{\Get{smalllogo}}
238 \newcommand{\theupmdoclogo}{\Get{logo}}
239
240 %-----
241 % Define the name of the logo picture to use
242 \newcommand{\defupmsmalllogo}[1]{\Set{smalllogo}{#1}}
243 \newcommand{\defupmlogo}[1]{\Set{logo}{#1}}
244
245 %-----
246 %Full name of the document
247 \def\theupmfulldocname{%
248         \theupmproject%
249         \Ifnotempty{\theupmsubproject}{/\theupmsubproject}%
250         \Ifnotempty{\theupmdocname}{ -- \theupmdocname}%
251 }
252
253 %-----
254 % Declare a document's abstract
255 %\setdocabstract[lang]{text}
256 \newcommand{\setdocabstract}[2][\upmcurrentlang]{%
257         \ifthenelse{\equal{#1}{\upmcurrentlang}}{
258                 \gdef\theupmdocabstract{#2}}{}% 
259         \global\@namedef{theupmdocabstract#1}{#2}%
260 }
261
262 %-----
263 % Declare a document's key-words
264 %\setdockeywords[lang]{words}
265 \newcommand{\setdockeywords}[2][\upmcurrentlang]{%
266         \ifthenelse{\equal{#1}{\upmcurrentlang}}{
267                 \gdef\theupmdockeywords{#2}}{}% 
268         \global\@namedef{theupmdockeywords#1}{#2}%
269 }
270
271 %-----
272 %Abstract of the document
273 \def\theupmdocabstract{}
274
275 %-----
276 %Key-words of the document
277 \def\theupmdockeywords{}
278
279 %----------------------------------------
280 % AUTHOR MANAGEMENT
281 %----------------------------------------
282
283 \newif\ifupm@document@author@tab@hascomment
284 \upm@document@author@tab@hascommentfalse
285 \def\upm@document@author@tab{}
286 \def\upm@document@author@tab@commented{}
287
288 %-----
289 \def\theauthorlist{}
290
291 %-----
292 \newif\ifupm@document@author@isauthor
293 \gdef\upm@document@author@authornames{}
294 \newcommand{\ifdocumentauthor}[3]{%
295         \upm@document@author@isauthorfalse%
296         \@for\upm@document@author@isauthor@tmp:=\upm@document@author@authornames\do{%
297                 \ifupm@document@author@isauthor%
298                 \else%
299                         \ifthenelse{\equal{#1}{\upm@document@author@isauthor@tmp}}{%
300                                 \upm@document@author@isauthortrue%
301                         }{}%
302                 \fi%
303         }%
304         \ifupm@document@author@isauthor{#2}\else{#3}\fi%
305 }
306
307 %-----
308 %Add an author
309 %\addauthor[email]{firstname}{name}
310 %\addauthor*[email]{firstname}{name}{comment}
311 \def\addauthor{\@ifstar\upm@document@addauthorstar\upm@document@addauthor}
312 \newcommand{\upm@document@addauthor}[3][]{%
313         \lowercase{\xdef\upm@document@author@authornames{#3,\upm@document@author@authornames}}%
314         \protected@xdef\theauthorlist{\theauthorlist\protect\Ifnotempty{\theauthorlist}{,} \protect\upmmakename{#2}{#3}{~}}
315
316         \global\protected@edef\upm@document@author@tab@commented{\upm@document@author@tab@commented \protect\upmmakename{#2}{#3}{~} & 
317         & \protect\Ifnotempty{#1}{\protect\href{mailto:#1}{#1}} \protect\\}
318
319         \ifupm@document@author@tab@hascomment\else
320                 \global\protected@edef\upm@document@author@tab{\upm@document@author@tab \protect\upmmakename{#2}{#3}{~} & 
321                 \protect\Ifnotempty{#1}{\protect\href{mailto:#1}{#1}} \protect\\}
322         \fi
323 }
324 \newcommand{\upm@document@addauthorstar}[4][]{%
325         \lowercase{\xdef\upm@document@author@authornames{#3,\upm@document@author@authornames}}%
326         \global\protected@edef\theauthorlist{\theauthorlist\protect\Ifnotempty{\theauthorlist}{,} \protect\upmmakename{#2}{#3}{~}}
327         
328         \global\let\upm@document@author@tab\relax
329
330         \global\protected@edef\upm@document@author@tab@commented{\upm@document@author@tab@commented \protect\upmmakename{#2}{#3}{~} & 
331         #4 & \protect\Ifnotempty{#1}{\protect\href{mailto:#1}{#1}} \protect\\}
332
333         \upm@document@author@tab@hascommenttrue
334 }
335
336 %-----
337 % Display the summary of the authors
338 %\upmdocumentauthors[width]
339 \newcommand{\upmdocumentauthors}[1][\linewidth]{%
340         \ifupm@document@author@tab@hascomment%
341                 \Ifnotempty{\upm@document@author@tab@commented}{%
342                 \noindent\expandafter\begin{mtabular}[#1]{3}{|X|l|c|}%
343                 \tabulartitle{\upm@lang@document@authors}%
344                 \tabularheader{\upm@lang@document@names}{\upm@lang@document@comments}{\upm@lang@document@emails}%
345                 \upm@document@author@tab@commented
346                 \hline%
347                 \expandafter\end{mtabular}\par\vspace{.5cm}}%
348         \else%
349                 \Ifnotempty{\upm@document@author@tab}{%
350                 \noindent\expandafter\begin{mtabular}[#1]{2}{|X|c|}%
351                 \tabulartitle{\upm@lang@document@authors}%
352                 \tabularheader{\upm@lang@document@names}{\upm@lang@document@emails}%
353                 \upm@document@author@tab
354                 \hline%
355                 \expandafter\end{mtabular}\par\vspace{.5cm}}%
356         \fi%
357 }
358
359 %----------------------------------------
360 % VALIDATOR MANAGEMENT
361 %----------------------------------------
362
363 \newif\ifupm@document@validator@tab@hascomment
364 \upm@document@validator@tab@hascommentfalse
365 \def\upm@document@validator@tab{}
366 \def\upm@document@validator@tab@commented{}
367
368 %-----
369 \def\thevalidatorlist{}
370
371 %-----
372 %Add a validator
373 %\addvalidator[email]{firstname}{name}
374 %\addvalidator*[email]{firstname}{name}{comment}
375 \def\addvalidator{\@ifstar\upm@document@addvalidatorstar\upm@document@addvalidator}
376 \newcommand{\upm@document@addvalidator}[3][]{%
377         \global\protected@edef\thevalidatorlist{\thevalidatorlist\protect\Ifnotempty{\thevalidatorlist}{,} \protect\upmmakename{#2}{#3}{~}}
378
379         \global\protected@edef\upm@document@validator@tab@commented{\upm@document@validator@tab@commented \protect\upmmakename{#2}{#3}{~} & 
380         & \protect\Ifnotempty{#1}{\protect\href{mailto:#1}{#1}} & \protect\\}
381
382         \ifupm@document@validator@tab@hascomment\else
383                 \global\protected@edef\upm@document@validator@tab{\upm@document@validator@tab \protect\upmmakename{#2}{#3}{~} & 
384                 \protect\Ifnotempty{#1}{\protect\href{mailto:#1}{#1}} & \protect\\}
385         \fi
386 }
387 \newcommand{\upm@document@addvalidatorstar}[4][]{%
388         \global\protected@edef\thevalidatorlist{\thevalidatorlist\protect\Ifnotempty{\thevalidatorlist}{,} \protect\upmmakename{#2}{#3}{~}}
389
390         \global\let\upm@document@validator@tab\relax
391
392         \global\protected@edef\upm@document@validator@tab@commented{\upm@document@validator@tab@commented \protect\upmmakename{#2}{#3}{~} & 
393         #4 & \protect\Ifnotempty{#1}{\protect\href{mailto:#1}{#1}} & \protect\\}
394
395         \upm@document@validator@tab@hascommenttrue
396 }
397
398 %-----
399 % Display the summary of the validators
400 %\upmdocumentvalidators[width]
401 \newcommand{\upmdocumentvalidators}[1][\linewidth]{%
402         \ifupm@document@validator@tab@hascomment%
403                 \Ifnotempty{\upm@document@validator@tab@commented}{%
404                 \noindent\expandafter\begin{mtabular}[#1]{4}{|X|l|c|p{3cm}|}%
405                 \tabulartitle{\upm@lang@document@validators}%
406                 \tabularheader{\upm@lang@document@names}{\upm@lang@document@comments}{\upm@lang@document@emails}{\upm@lang@document@initials}%
407                 \upm@document@validator@tab@commented
408                 \hline%
409                 \expandafter\end{mtabular}\par\vspace{.5cm}}%
410         \else%
411                 \Ifnotempty{\upm@document@validator@tab}{%
412                 \noindent\expandafter\begin{mtabular}[#1]{3}{|X|c|p{3cm}|}%
413                 \tabulartitle{\upm@lang@document@validators}%
414                 \tabularheader{\upm@lang@document@names}{\upm@lang@document@emails}{\upm@lang@document@initials}%
415                 \upm@document@validator@tab
416                 \hline%
417                 \expandafter\end{mtabular}\par\vspace{.5cm}}%
418         \fi%
419 }
420
421
422 %-----
423 %Add an author/validator
424 %\addauthorvalidator[email]{firstname}{name}
425 %\addauthorvalidator*[email]{firstname}{name}{comment}
426 \def\addauthorvalidator{\@ifstar\upm@document@addauthorvalidatorstar\upm@document@addauthorvalidator}
427 \newcommand{\upm@document@addauthorvalidator}[3][]{%
428         \addauthor[#1]{#2}{#3}\addvalidator[#1]{#2}{#3}%
429 }
430 \newcommand{\upm@document@addauthorvalidatorstar}[4][]{%
431         \addauthor*[#1]{#2}{#3}{#4}\addvalidator*[#1]{#2}{#3}{#4}%
432 }
433
434 %----------------------------------------
435 % INFORMED MANAGEMENT
436 %----------------------------------------
437
438 \newif\ifupm@document@informed@tab@hascomment
439 \upm@document@informed@tab@hascommentfalse
440 \def\upm@document@informed@tab{}
441 \def\upm@document@informed@tab@commented{}
442
443 %-----
444 \def\theinformedlist{}
445
446 %-----
447 %Add an informed
448 %\addinformed[email]{firstname}{name}
449 %\addinformed*[email]{firstname}{name}{comment}
450 \def\addinformed{\@ifstar\upm@document@addinformedstar\upm@document@addinformed}
451 \newcommand{\upm@document@addinformed}[3][]{%
452         \global\protected@edef\theinformedlist{\theinformedlist\protect\Ifnotempty{\theinformedlist}{,} \protect\upmmakename{#2}{#3}{~}}
453
454         \global\protected@edef\upm@document@informed@tab@commented{\upm@document@informed@tab@commented \protect\upmmakename{#2}{#3}{~} & 
455         & \protect\Ifnotempty{#1}{\protect\href{mailto:#1}{#1}} \protect\\}
456
457         \ifupm@document@informed@tab@hascomment\else
458                 \global\protected@edef\upm@document@informed@tab{\upm@document@informed@tab \protect\upmmakename{#2}{#3}{~} & 
459                 \protect\Ifnotempty{#1}{\protect\href{mailto:#1}{#1}} \protect\\}
460         \fi
461 }
462 \newcommand{\upm@document@addinformedstar}[4][]{%
463         \global\protected@edef\theinformedlist{\theinformedlist\protect\Ifnotempty{\theinformedlist}{,} \protect\upmmakename{#2}{#3}{~}}
464
465         \global\let\upm@document@informed@tab\relax
466
467         \global\protected@edef\upm@document@informed@tab@commented{\upm@document@informed@tab@commented \protect\upmmakename{#2}{#3}{~} & 
468         #4 & \protect\Ifnotempty{#1}{\protect\href{mailto:#1}{#1}} \protect\\}
469
470         \upm@document@informed@tab@hascommenttrue
471 }
472
473 %-----
474 % Display the summary of the informed people
475 %\upmdocumentinformedpeople[width]
476 \newcommand{\upmdocumentinformedpeople}[1][\linewidth]{%
477         \ifupm@document@validator@tab@hascomment%
478                 \Ifnotempty{\upm@document@informed@tab@commented}{%
479                 \noindent\expandafter\begin{mtabular}[#1]{3}{|X|l|c|}%
480                 \tabulartitle{\upm@lang@document@informed}%
481                 \tabularheader{\upm@lang@document@names}{\upm@lang@document@comments}{\upm@lang@document@emails}%
482                 \upm@document@informed@tab@commented
483                 \hline%
484                 \expandafter\end{mtabular}\par\vspace{.5cm}}%
485         \else%
486                 \Ifnotempty{\upm@document@informed@tab}{%
487                 \noindent\expandafter\begin{mtabular}[#1]{2}{|X|c|}%
488                 \tabulartitle{\upm@lang@document@informed}%
489                 \tabularheader{\upm@lang@document@names}{\upm@lang@document@emails}%
490                 \upm@document@informed@tab
491                 \hline%
492                 \expandafter\end{mtabular}\par\vspace{.5cm}}%
493         \fi%
494 }
495
496 %----------------------------------------
497 % PUBLISHER, COPYRIGHT, PRINTING...
498 %----------------------------------------
499
500 \gdef\theupmcopyrighter{\Get{copyrighter}}
501 \gdef\theupmpublisher{\Get{publisher}}
502 \gdef\theupmprintedin{\Get{printedin}}
503 \gdef\theupmisbn{}
504 \gdef\theupmissn{}
505 \gdef\theupmdoi{}
506 \gdef\theupmpublishingdate{}
507
508 \newcommand{\theupmformattedpublisher}{\Ifelsedefined{publisher}{\theupmpublisher}{\textcolor{red}{???}}}
509 \newcommand{\theupmformattedcopyrighter}{\Ifelsedefined{copyrighter}{\theupmcopyrighter}{\textcolor{red}{???}}}
510
511 %-----
512 %Set the publisher identity
513 %\setpublisher{name}
514 \newcommand{\setpublisher}[1]{\Set{publisher}{#1}}
515
516 %-----
517 %Set the copyrighter identity
518 %\setcopyrighter{name}
519 \newcommand{\setcopyrighter}[1]{\Set{copyrighter}{#1}}
520
521 %-----
522 %Set the address where this document is printed
523 %\setprintingaddress{address}
524 \newcommand{\setprintingaddress}[1]{\Set{printedin}{#1}}
525
526 %-----
527 %Set the ISBN
528 %\setisbn{isbn}
529 \newcommand{\setisbn}[1]{%
530         \gdef\theupmisbn{#1}%
531 }
532
533 %-----
534 %Set the ISSN
535 %\setisbn{issn}
536 \newcommand{\setissn}[1]{%
537         \gdef\theupmissn{#1}%
538 }
539
540 %-----
541 %Set the DOI
542 %\setdoi{doi}
543 \newcommand{\setdoi}[1]{%
544         \gdef\theupmdoi{#1}%
545 }
546
547 %----------------------------------------
548 % WATERMARK
549 %----------------------------------------
550
551 \AtBeginDocument{
552         \ifthenelse{\equal{\theupmstatus}{\upmrestricted}}{
553                 \edef\upm@doc@tmp@watermark{\uppercase{\upm@lang@restricted}}
554                 \RequirePackage{draftwatermark}
555                 \SetWatermarkText{\upm@doc@tmp@watermark}
556                 \SetWatermarkScale{\Get{watermarksize}}
557         }{}
558 }
559
560 \endinput