The draftcopy package^{∗}

Dr. Jürgen Vollmer Viktoriastraße 15 D-76133 Karlsruhe, Germany

Juergen.Vollmer@acm.org

March 2, 1999; Version 2.12

Abstract

This package is used to print on some pages the word DRAFT (or the language dependend analogon) “behind” the intended stuff.

1 Introduction

Before releasing a document you may wish to give it to others to proof read it. But it should be clear to the reader that it is still a draft version of that document. To mark this, so it could not be overseen, you can print the word DRAFT with big and light grey letters onto some pages. This can be done with this package.

You can specify the intensity of the gray, the range of pages onto which the word DRAFT is printed and where it is printed (across the page or at the bottom). The word DRAFT is replaced according to the language you are using, e.g. in german you get ENTWURF. You may also specify any word to be used instead of DRAFT. From now on in this document DRAFT stands for that word.

Credits go the the Unkown, who started this as a L^{A}TEX style file containing only the central special Postscript command printing english word DRAFT on each page of the document. Credits also to those, who send me translations of the word DRAFT and bug-reports and bug-fixes as well ideas for more functionality (see in the sources).

For italian, dutch, finnish and french two proposals exists. Have a look and change it (in the file draftcopy.sty, or by using \draftcopyName) according to your mind.

2 User Interface

2.1 Options

Options for this package are: english, german, … This package accepts the language options of the babel

∗This not a DRAFT version of this document. Its simply documentation and demonstration of the package in one document.

package^{1}. The babel package is not loaded by draftcopy.

none Don’t print DRAFT across of any page. first Prints DRAFT across only on the first page. firsttwo Prints DRAFT across only on the first two pages. all Prints DRAFT across on all pages of the document. bottom Prints DRAFT on all pages at the bottom of the page. bottomafter Prints DRAFT at the bottom of the pages following the

pages which have DRAFT across them.

outline The word DRAFT is printed with outlined letters. light The word DRAFT is printed with a light grey. dark The word DRAFT is printed with a dark grey. dvips, textures, … This package accepts the options of the graphics package^{2}.

The graphics package is not loaded by draftcopy.

The default options are: dvips,english,all,dark, which corresponds to the behaviour of the old implementation of this package. The file draftcopy.cfg specifies the default Postscript driver. This specification is overruled, if the driver option is given explicitly.

2.2 Commands

Additionally to the options, each feature may be set by commands, which must be placed in the preamble of the document.

\draftcopySetGrey • Set the intensity of the gray. The argument value range from 0.0 to 1.0, where the smaller values darker.

\draftcopyFirstPage • The argument specifies the first page onto which DRAFT will be printed. This is the physical page number.

\draftcopyLastPage • The argument specifies the last page onto which DRAFT will be printed. This is the physical page number.

\draftcopyName • The first argument specifies the word to be printed instead of DRAFT, the second, gives the scale factor for the font to be used. E.g. the english word DRAFT needs 215, the german ENTWURF needs 155.

\draftcopySetScale • Change the default size of the word DRAFT

3 A Few Warnings

The result of printing DRAFT onto the page will be visible only in the Postscript output, not in the DVI output. The other text will be visible always. Sometimes ghostview has problems in presenting the correct result, use ghostscript (gs) instead. The printed result should always meet your intension.

1Currently not all languages are supported, I still need volunteers to send me translation of the word DRAFT into the other languages L^{A}TEX2e with its babel package supports.

2Currently only dvips, dvipsone and textures are supported. All others are mapped to dvips. If you are using another driver, let me know what to.

4 Copyright

Copyright (C) 1996-1999, Dr. Juergen Vollmer, Karlsruhe, Germany

Juergen.Vollmer@acm.org

This program can be redistributed and/or modified under the terms of the LaTeX Project Public License Distributed from CTAN archives in directory macros/latex/base/lppl.txt; either version 1 of the License, or any later version.

If you find this software useful, please send me a postcard.

5 The Documentation Driver File

The next bit of code contains the documentation driver file for TEX, i.e., the file that will produce the documentation you are currently reading. It will be extracted from this file by the docstrip program.

1 ⟨∗driver⟩

 2 \documentclass[a4paper]{article}
 3 \usepackage{doc}
 4 \usepackage[light,first,bottomafter]{draftcopy}
 5 \RecordChanges
 6 \EnableCrossrefs
 7 \CodelineIndex
 8 \begin{document}
 9 \DocInput{draftcopy.doc}
10 \PrintChanges
11 \setcounter{IndexColumns}{2}
12 \PrintIndex
13 \end{document}

14 ⟨/driver⟩

6 Configuration

You should set up the default Postscript driver in the file draftcopy.cfg. For a reasonable value have a look to the file graphics.cfg from the graphics package. The distributed default is dvips.

15 ⟨∗config⟩

16 \ExecuteOptions{dvips}

17 ⟨/config⟩

7 The Implementation

The implementation is based on manipulating the Postscript output, using the special command.

What do we need, and who we are:

18 ⟨∗package⟩

19 \NeedsTeXFormat{LaTeX2e}
20 \ProvidesPackage{draftcopy}[1999/03/02 v2.12]

Declaration of various graphic driver options. Different DVI driver use different names :-(

21 \DeclareOption{dvips}{

22 \def\draftcopy@BOPhook{/bop-hook}
23 \def\draftcopy@UserDictCmd{! userdict }

24 }

25 \DeclareOption{dvipsone}{
26 % thanks to V. P. Stokes <virgil.stokes@neuro.ki.se>
27 \def\draftcopy@BOPhook{/bphook}
28 \def\draftcopy@UserDictCmd{! userdict }

29 }

30 \DeclareOption{textures}{
31 % thanks to Jerome LAURENS \texttt{laurens@u-bourgogne.fr>
32 \def\draftcopy@BOPhook{/bop-hook}
33 \def\draftcopy@UserDictCmd{prepostscript userdict }

34 }

35

36 % For the following |dvips| will be used. I don't know it better.
37 \DeclareOption{xdvi}{\ExecuteOptions{dvips}}
38 \DeclareOption{dvi2ps}{\ExecuteOptions{dvips}}
39 \DeclareOption{dvialw}{\ExecuteOptions{dvips}}
40 \DeclareOption{dvilaser}{\ExecuteOptions{dvips}}
41 \DeclareOption{dviwindo}{\ExecuteOptions{dvipsone}}
42 \DeclareOption{dvitops}{\ExecuteOptions{dvips}}
43 \DeclareOption{emtex}{\ExecuteOptions{dvips}}
44 \DeclareOption{dviwin}{\ExecuteOptions{dvips}}
45 \DeclareOption{oztex}{\ExecuteOptions{dvips}}
46 \DeclareOption{psprint}{\ExecuteOptions{dvips}}
47 \DeclareOption{pubps}{\ExecuteOptions{dvips}}
48 \DeclareOption{pctexps}{\ExecuteOptions{dvips}}
49 \DeclareOption{pctexwin}{\ExecuteOptions{dvips}}
50 \DeclareOption{pctexhp}{\ExecuteOptions{dvips}}
51 \DeclareOption{ln}{\ExecuteOptions{dvips}}

To printed the word DRAFT in outlined letter or normal letters we use different methods of showing text: Normal letters are printed using the PostScript show command. Outlined letters are printed using charpath and stroke (See the example in the red PostScipt book). The idea for this option is from Harriet

B. Borton bortonh@rpi.edu
52 \def\draftcopy@Show{show }
53 \DeclareOption{outline}{
54 \def\draftcopy@Show{ false charpath 2 setlinewidth stroke }

55 }

Here we define the options for setting the intensity of the gray. Smaller values mean darker.

56 \DeclareOption{light}{
57  \def\draftcopy@GrayValue{0.90 }

58 }

59

60 \DeclareOption{dark}{
61  \def\draftcopy@GrayValue{0.85 }

62 }

Here we define the options, which specify the range of pages where DRAFT will be printed across pages. We use the Postcript variable draftcopy-LastPage to store the number.

63 \DeclareOption{none}{
64 \def\draftcopy@LastPage{0 }

65 }

66 \DeclareOption{first}{
67 \def\draftcopy@LastPage{1 }

68 }

69 \DeclareOption{firsttwo}{
70 \def\draftcopy@LastPage{2 }

71 }

72 \DeclareOption{all}{
73 \def\draftcopy@LastPage{99999 }

74 }

The option to print DRAFT at the bottom of all pages. The idea for the bottom options and the corresponding PostScript code is from Paolo Ienne

Paolo.Ienne@di.epfl.ch.
75 \newif\ifdraftcopy@bottom
76 \DeclareOption{bottom}{
77 \draftcopy@bottomtrue

78 }

The option to print DRAFT at the bottom of the page, after the initial pages containing DRAFT printed across of a page.

79 \newif\ifdraftcopy@bottomAfter
80 \DeclareOption{bottomafter}{
81 \draftcopy@bottomAftertrue

82 }

Define the word DRAFT and its scaling, in case no language option is given. The Postscript variable draftcopy@Name holds the word for DRAFT of that language and draftcopy@Scale is a font scale factor, it must be determined empirically. Note the blank follow the number is significant.

83 \def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215 }

The babel language options are honored, even currently not all of them have a translation for the word DRAFT.

84 \DeclareOption{american}{
85 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

86 }

87 \DeclareOption{austrian}{
88 ␣␣\def\draftcopy@Name{ENTWURF}\def\draftcopy@Scale{155␣}

89 }

90 \DeclareOption{bahasa}{
91 ␣␣%␣thanks␣to␣Glenn␣G.␣Chappell␣<gchappell@semovm.semo.edu>
92 ␣␣\def\draftcopy@Name{DRAF}\def\draftcopy@Scale{217␣}

93 }

94 \DeclareOption{brazil}{
95 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

96 }

97 \DeclareOption{brazilian}{
98 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

99 }

100 \DeclareOption{breton}{
101 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

102 }

103 \DeclareOption{british}{
104 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

105 }

106 \DeclareOption{catalan}{
107 ␣␣%␣thanks␣to␣Dav␣<davpuig@mx3.redestb.es>
108 ␣␣\def\draftcopy@Name{ESBORRANYT}\def\draftcopy@Scale{110␣}

109 }

110 \DeclareOption{croatian}{
111 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

112 }

113 \DeclareOption{czech}{
114 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

115 }

116 \DeclareOption{danish}{
117 ␣␣%␣thanks␣to␣Ejnar␣Zacho␣Rath␣<ezr@md-oss.dk>,
118 ␣␣%␣thanks␣to␣Bjarne␣Vestergaard␣<bvbruder@dfi.aau.dk>
119 ␣␣%␣thanks␣to␣Joergen␣Larsen␣<JL@mmf.ruc.dk>
120 ␣␣\def\draftcopy@Name{UDKAST}\def\draftcopy@Scale{175␣}

121 }

122 \DeclareOption{dutch}{
123 ␣␣%␣thanks␣to␣Kees␣Leune␣<C.J.Leune@kub.nl>
124 ␣␣%␣\def\draftcopy@Name{CONCEPT}\def\draftcopy@Scale{150␣}
125 ␣␣%␣thanks␣to␣Anton␣Stoorvogel␣<wscoas@as.win.tue.nl>␣porposed
126 ␣␣\def\draftcopy@Name{ONTWERP}\def\draftcopy@Scale{150␣}

127 }

128 \DeclareOption{english}{
129 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

130 }

131 \DeclareOption{esperanto}{
132 ␣␣%␣thanks␣to␣Stephan␣B.␣Webanck␣<webanck@mpiz-koeln.mpg.de>
133 ␣␣\def\draftcopy@Name{MALNETO}\def\draftcopy@Scale{160␣}

134 }

135 \DeclareOption{estonian}{
136 ␣␣%␣thanks␣to␣DAVID␣FEEST␣<mirka!mausgoe.central.de!
137 ␣␣%␣gOe.maus.de!David_Feest@uranus.central.de>
138 ␣␣\def\draftcopy@Name{VISAND}\def\draftcopy@Scale{215␣}

139 }

140 \DeclareOption{finnish}{
141 ␣␣%␣thanks␣to␣Jaakko␣Ruohio␣<jjruohio@boojum.hut.fi>
142 ␣␣\def\draftcopy@Name{LUONNOS}\def\draftcopy@Scale{200␣}
143 ␣␣%␣thanks␣to␣Mika␣Grundstroem␣<mikagr@spittari.cs.tut.fi>
144 ␣␣\def\draftcopy@Name{VEDOS}\def\draftcopy@Scale{220␣}

145 }

146 \DeclareOption{francais}{
147 ␣␣%␣thanks␣to␣Christophe␣Couvreur␣<couvreur@Thor.fpms.ac.be>
148 ␣␣\def\draftcopy@Name{BROUILLON}\def\draftcopy@Scale{120␣}

149 }

150 \DeclareOption{french}{
151 ␣␣%␣thanks␣to␣Christophe␣Couvreur␣<couvreur@Thor.fpms.ac.be>
152 ␣␣\def\draftcopy@Name{BROUILLON}\def\draftcopy@Scale{120␣}
153 ␣␣%␣thanks␣to␣Marc␣Torzynski␣<marc@snoopy.u-strasbg.fr>
154 ␣␣%\def\draftcopy@Name{EPREUVE␣}\def\draftcopy@Scale{120␣}

155 }

156 \DeclareOption{galician}{

157 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

158 }

159 \DeclareOption{german}{
160 ␣␣\def\draftcopy@Name{ENTWURF}\def\draftcopy@Scale{155␣}

161 }

162 \DeclareOption{germanb}{
163 ␣␣\def\draftcopy@Name{ENTWURF}\def\draftcopy@Scale{155␣}

164 }

165 \DeclareOption{hungarian}{
166 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

167 }

168 \DeclareOption{irish}{
169 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

170 }

171 \DeclareOption{italian}{
172 ␣␣%␣thanks␣to␣Fabio␣Massacci␣<Fabio.Massacci@cl.cam.ac.uk>
173 ␣␣%␣thanks␣to␣Paolo␣Dell'Aquila␣<dlle07k1@mo.nettuno.it>
174 ␣␣\def\draftcopy@Name{BOZZA}\def\draftcopy@Scale{215␣}
175 ␣␣%␣thanks␣to␣Giuseppe␣De␣Arcangelis␣<gdearc@serifos.caspur.it>
176 ␣␣%␣\def\draftcopy@Name{brutta␣copia}\def\draftcopy@Scale{80␣}

177 }

178 \DeclareOption{lowersorbian}{
179 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

180 }

181 \DeclareOption{magyar}{
182 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

183 }

184 \DeclareOption{norsk}{
185 ␣␣%␣thanks␣to:␣Dag␣Langmyhr␣<dag@ifi.uio.no>
186 ␣␣\def\draftcopy@Name{UTKAST}\def\draftcopy@Scale{178␣}

187 }

188 \DeclareOption{nynorsk}{
189 ␣␣%␣thanks␣to:␣Dag␣Langmyhr␣<dag@ifi.uio.no>
190 ␣␣\def\draftcopy@Name{FRAMLEGG}\def\draftcopy@Scale{129␣}

191 }

192 \DeclareOption{polish}{
193 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

194 }

195 \DeclareOption{portuges}{
196 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

197 }

198 \DeclareOption{portuguese}{
199 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

200 }

201 \DeclareOption{romanian}{
202 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

203 }

204 \DeclareOption{scottish}{
205 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

206 }

207 \DeclareOption{spanish}{
208 ␣␣%␣thanks␣to:␣Tomas␣Bautista␣<bautista@cma.ulpgc.es>
209 ␣␣\def\draftcopy@Name{BORRADOR}\def\draftcopy@Scale{120␣}

210 }

211 \DeclareOption{slovak}{
212 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

213 }

214 \DeclareOption{slovene}{
215 ␣␣%␣thanks␣to␣brodnik@pegam.mat.uni-lj.si␣<Andrej␣Brodnik>
216 ␣␣\def\draftcopy@Name{OSNUTEK}\def\draftcopy@Scale{120␣}

217 }

218 \DeclareOption{swedish}{
219 ␣␣%␣thanks␣to␣<matsd@physchem.kth.se>
220 ␣␣\def\draftcopy@Name{UTKAST}\def\draftcopy@Scale{185␣}

221 }

222 \DeclareOption{turkish}{
223 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

224 }

225 \DeclareOption{uppersorbian}{
226 ␣␣\def\draftcopy@Name{DRAFT}\def\draftcopy@Scale{215␣}

227 }

Use these default options,

228 \ExecuteOptions{dark,all,english}

instead of dvips use the graphics driver specified in the configuration file,

229 \input{draftcopy.cfg}

and the process the user options.

230 \ProcessOptions

Tell the user what’s ongoing.

231 \typeout{Prints \draftcopy@Name\space on pages;
232 does not show in your DVI viewer}

\draftcopySetGrey Set the intensity of the gray, values range from 0.0 to 1.0, where the smaller values darker. If used, it must be conatined in the preamble of the document.

233 \newcommand{\draftcopySetGrey}[1]{
234 \def\draftcopy@GrayValue{#1 }

235 }

\draftcopySetScale Set the size (scale) of the word DRAFT. You may need this, if you use another paper format. The default scales are for A4 paper. If used, it must be conatined in the preamble of the document.

236 \newcommand{\draftcopySetScale}[1]{
237 \def\draftcopy@Scale{#1 }

238 }

\draftcopyFirstPage The argument specifies the first page onto which DRAFT will be printed. This is the physical page number. If used, it must be conatined in the preamble of the document.

239 \def\draftcopy@FirstPage{0 }
240 \newcommand{\draftcopyFirstPage}[1]{
241 \def\draftcopy@FirstPage{#1 }

242 }

\draftcopyLastPage The argument specifies the last page onto which DRAFT will be printed. This is the physical page number. If used, it must be conatined in the preamble of the document.

243 \newcommand{\draftcopyLastPage}[1]{
244 \def\draftcopy@LastPage{#1 }

245 }

\draftcopyName The first argument specifies the word to be printed instead of DRAFT, the second, gives the scale factor for the font to be used. E.g. the english word DRAFT needs 215, the german ENTWURF needs 155. Note we need the blank after the #2. If used, it must be conatined in the preamble of the document.

246 \newcommand{\draftcopyName}[2]{
247 ␣␣\def\draftcopy@Name{#1}
248 ␣␣\def\draftcopy@Scale{#2␣}

249 }

Here we introduce some Postscript code. The dictionary userdict is extended with the page counter draftcopy-CurrentPage. Printing of DRAFT starts after page \draftcopy@FirstPage. Each time a new page starts \draftcopy@BOPhook is called (if it’s defined). Hence we define it. First we increment the current page counter. If then the current page counter is smaller than the last page counter \draftcopy@LastPage we print the word contained in the L^{A}TEXmacro draftcopy@Name with the font scaled with L^{A}TEXmacro

draftcopy@Scale.

This must be done at the beginning of the document \AtBeginDocument, so that the preamble commands take effect.

Thanks to Glenn G. Chappell gchappell@semovm.semo.edu for providing the /draftcopy-old-BOPhook suggestion, which saves a previous definition of

\draftcopy@BOPhook and executes it too.
250 \ifdraftcopy@bottomAfter
251 \AtBeginDocument{
252  \special{
253  \draftcopy@UserDictCmd begin
254  /draftcopy-CurrentPage 0 def
255  /draftcopy-old-BOPhook { } def
256  userdict \draftcopy@BOPhook\ known{
257  /draftcopy-old-BOPhook \draftcopy@BOPhook load def
258  } if
259  \draftcopy@BOPhook{
260  draftcopy-old-BOPhook
261  /draftcopy-CurrentPage draftcopy-CurrentPage 1 add def
262  draftcopy-CurrentPage \draftcopy@FirstPage ge
263  draftcopy-CurrentPage \draftcopy@LastPage le
264  and
265  { gsave 200 70 translate 65 rotate
266  /Times-Roman findfont
267  \draftcopy@Scale scalefont setfont
268  0 0 moveto
269  \draftcopy@GrayValue setgray
270  (\draftcopy@Name) \draftcopy@Show
271  grestore
272  } if
273  draftcopy-CurrentPage \draftcopy@LastPage gt
274  { gsave 0 25 translate
275  /Times-Roman findfont

276  25 scalefont setfont
277  0 0 moveto
278  \draftcopy@GrayValue setgray
279  (\draftcopy@Name\ )
280  0 1 15 { pop dup show } for
281  grestore
282  } if
283  } def
284  end

285 } 286 }

287 \else\ifdraftcopy@bottom
288 \AtBeginDocument{
289  \special{
290  \draftcopy@UserDictCmd begin
291  /draftcopy-CurrentPage 0 def
292  /draftcopy-old-BOPhook { } def
293  userdict \draftcopy@BOPhook\ known{
294  /draftcopy-old-BOPhook \draftcopy@BOPhook load def
295  } if
296  \draftcopy@BOPhook{
297  draftcopy-old-BOPhook
298  /draftcopy-CurrentPage draftcopy-CurrentPage 1 add def
299  draftcopy-CurrentPage \draftcopy@FirstPage ge
300  draftcopy-CurrentPage \draftcopy@LastPage  le
301  and
302  { gsave 200 70 translate 65 rotate
303  /Times-Roman findfont
304  \draftcopy@Scale scalefont setfont
305  0 0 moveto
306  \draftcopy@GrayValue setgray
307  (\draftcopy@Name) \draftcopy@Show
308  grestore
309  }if
310  gsave 0 25 translate
311  /Times-Roman findfont
312  25 scalefont setfont
313  0 0 moveto
314  \draftcopy@GrayValue setgray
315  (\draftcopy@Name\ )
316  0 1 15 { pop dup show } for
317  grestore
318  } def
319  end

320 } 321 }

322 \else
323 \AtBeginDocument{
324  \special{
325  \draftcopy@UserDictCmd begin
326  /draftcopy-CurrentPage 0 def
327  /draftcopy-old-BOPhook { } def
328  userdict \draftcopy@BOPhook\ known{
329  /draftcopy-old-BOPhook \draftcopy@BOPhook load def

330  } if
331  \draftcopy@BOPhook{
332  draftcopy-old-BOPhook
333  /draftcopy-CurrentPage draftcopy-CurrentPage 1 add def
334  draftcopy-CurrentPage \draftcopy@FirstPage ge
335  draftcopy-CurrentPage \draftcopy@LastPage  le
336  and
337  { gsave 200 70 translate 65 rotate
338  /Times-Roman findfont
339  \draftcopy@Scale scalefont setfont
340  0 0 moveto
341  \draftcopy@GrayValue setgray
342  (\draftcopy@Name)  \draftcopy@Show
343  grestore
344  } if
345  } def
346  end

347 } 348 }

349 \fi\fi

350 ⟨/package⟩

8 Some Test Input Files

The next bit of code contains the some L^{A}TEX input files with various options set. They will be extracted from this file by the docstrip program, using the

 test1, ...  test9 option.

351 ⟨∗test1⟩

352 \documentclass[a4paper]{article}
353 \usepackage{draftcopy}
354 \newcommand{\xx}{
355 Test 1\\This is a test page \thepage \vfill
356 This is a testpage \thepage \newpage

357 }

358 \begin{document}
359 Should print DRAFT over all pages, quite dark.\\
360 \verb|\usepackage{draftcopy}|\\
361 \xx\xx\xx\xx
362 \end{document}

363 ⟨/test1⟩

364 ⟨∗test2⟩

365 \documentclass[a4paper,german]{article}
366 \usepackage[light,first]{draftcopy}
367 \newcommand{\xx}{
368 Test2: Should print ENTWURF on the first page, light.\\
369 This is a test page \thepage \vfill
370 This is a testpage \thepage \newpage

371 }

372 \begin{document}
373 \verb|\usepackage[light,first]{draftcopy}|\\
374 \xx\xx\xx\xx
375 \end{document}

376 ⟨/test2⟩

377 ⟨∗test3⟩

378 \documentclass[a4paper,french]{article}
379 \usepackage[light,firsttwo]{draftcopy}
380 \newcommand{\xx}{
381 Test3: This is a test page \thepage \vfill
382 This is a testpage \thepage \newpage

383 }

384 \begin{document}
385 Should print BROUILLON on the first two pages, light.\\
386 \verb|\usepackage[light,firsttwo]{draftcopy}|\\
387 \xx\xx\xx\xx
388 \end{document}

389 ⟨/test3⟩

390 ⟨∗test4⟩

391 \documentclass[a4paper,danish]{article}
392 \usepackage[light,firsttwo]{draftcopy}
393 \newcommand{\xx}{
394 Test4: This is a test page \thepage \vfill
395 This is a testpage \thepage \newpage

396 }

397 \draftcopyFirstPage{2}
398 \draftcopyLastPage{3}
399 \begin{document}
400 Should print UDKAST on the second and third pages, light.\\
401 \verb|\usepackage[light,firsttwo]{draftcopy}|\\
402 \verb|\draftcopyFirstPage{2}|\\
403 \verb|\draftcopyLastPage{3}|\\
404 \xx\xx\xx\xx
405 \end{document}

406 ⟨/test4⟩

407 ⟨∗test5⟩

408 \documentclass[a4paper,dutch]{article}
409 \usepackage[none,bottom]{draftcopy}
410 \newcommand{\xx}{
411 Test5: This is a test page \thepage \vfill
412 This is a testpage \thepage \newpage

413 }

414 \begin{document}
415 Should print ONTWERP only at the bottom each page.\\
416 \verb|\usepackage[none,bottom]{draftcopy}|\\
417 \xx\xx\xx\xx
418 \end{document}

419 ⟨/test5⟩

420 ⟨∗test6⟩

421 \documentclass[a4paper,finnish]{article}
422 \usepackage[firsttwo,light,bottom]{draftcopy}
423 \newcommand{\xx}{
424 test6: This is a test page \thepage \vfill
425 This is a testpage \thepage \newpage

426 }

427 \begin{document}
428 Should print VEDOS on the first two pages, light.\\

429 Should print VEDOS at the bottom each page.\\
430 \verb|\usepackage[firsttwo,light,bottom]{draftcopy}|\\
431 \xx\xx\xx\xx
432 \end{document}

433 ⟨/test6⟩

434 ⟨∗test7⟩

435 \documentclass[a4paper,norsk]{article}
436 \usepackage[light,bottomafter]{draftcopy}
437 \newcommand{\xx}{
438 Test7: This is a test page \thepage \vfill
439 This is a testpage \thepage \newpage

440 }

441 \draftcopyFirstPage{2}
442 \draftcopyLastPage{3}
443 \begin{document}
444 Should print UTKAST on the on the pages 2 and 3, light.\\
445 Should print UTKAST on bottom of the page after the third page.\\
446 \verb|\usepackage[light,bottomafter]{draftcopy}|\\
447 \verb|\draftcopyFirstPage{2}|\\
448 \verb|\draftcopyLastPage{3}|\\
449 \xx\xx\xx\xx
450 \end{document}

451 ⟨/test7⟩

452 ⟨∗test8⟩

453 \documentclass[a4paper,nynorsk]{article}
454 \usepackage[light,firsttwo,outline,bottomafter]{draftcopy}
455 \newcommand{\xx}{
456 Test8: This is a test page \thepage \vfill
457 This is a testpage \thepage \newpage

458 }

459 \begin{document}
460 Should print FRAMLEGG on the first two pages, light, outlined.\\
461 Should print FRAMLEGG on bottom of the page after the second page.\\
462 \verb|\usepackage[light,firsttwo,outline,bottomafter]{draftcopy}|\\
463 \xx\xx\xx\xx
464 \end{document}

465 ⟨/test8⟩

466 ⟨∗test9⟩

467 \documentclass[a5paper]{article}
468 \usepackage[light,firsttwo,outline,bottomafter]{draftcopy}
469 \newcommand{\xx}{
470 Test9: This is a test page \thepage \vfill
471 This is a testpage \thepage \newpage

472 }

473 \draftcopyName{\today}{140}
474 \draftcopySetScale{70}
475 \begin{document}
476 Should print the current date |verb\today| on the
477 first two pages, light, outlined.\\
478 Should print the current date on bottom of the page on the first
479 two pages.\\
480 \verb|\usepackage[light,firsttwo,outline,bottomafter]{draftcopy}|\\
481 and \\

482 \verb|\draftcopyName{\today}{155}|\\
483 \verb|\draftcopySetScale{70}|\\
484 in the preamble
485 \xx\xx\xx\xx
486 \end{document}

487 ⟨/test9⟩