9

The draftwatermark package emblazons "DRAFT" across a page or pages. The intention appears to be to ruin a document to make it unusable.

\documentclass{article}

\usepackage{draftwatermark}
% \SetWatermarkLightness{0.8}
\SetWatermarkScale{4}

\usepackage{lipsum}
\begin{document}
\lipsum{1-5}
\end{document}

draft-emblazoned

But what if the intention is just to ward against accidental use of a preliminary document by a sleep-deprived individual, without jarring so much or interferring at all with the readability of the text.

Adding "DRAFT" along the left/right margin would do the trick. Is there a package for that?

Update

The selected solution is heavy-handed, because it uses tikz, which interacts poorly with simple \begin\end{verbatim} formatting. ("Package tikz Error: Sorry, some package has redefined the meaning of...").

A lighter solution, one that 1- uses an existing lighter package, and 2- cohabits with many other packages (geometry, perhaps even memoir, ...) without issues, would be nice.

  • 2
    background does it easily. – user11232 Mar 4 '15 at 14:13
  • That's a suitable more general solution. I'm having trouble though with the output of both draftwatermark and background packages. It seems that Preview on OS X (Mavericks) does not show their added marks, just the text itself. Debugging... – Calaf Mar 4 '15 at 14:21
  • Can you show your code? – user11232 Mar 4 '15 at 14:23
  • ok.. debugging consisted of noticing the big red exclamation mark in the documentation for background :) . It reads "The document needs to be processed twice to get the background material in the right position." Indeed, just adding "\usepackage[placement=bottom]{background}" in the preamble (and processing twice) does it. I'd prefer a minuscule running "draft" continuous mark along the right margin, but this is a good start. – Calaf Mar 4 '15 at 14:33
5

Compile more than 3 times.

\documentclass{article}
\usepackage{lipsum}
\usepackage{background}
\backgroundsetup{
  position=current page.east,
  angle=-90,
  nodeanchor=east,
  vshift=-5mm,
  opacity=1,
  scale=3,
  contents=Draft
}
\begin{document}
  \lipsum
\end{document}

enter image description here

  • This gives me "! Package xkeyval Error: nodeanchor' undefined in families background'." Upgrading to TeX Live 2014 (from 2013), just in case. – Calaf Mar 4 '15 at 16:09
  • @Calaf Upgrading should solve it. Any way, you won't need nodeanchor with vshift as in this code. – user11232 Mar 4 '15 at 16:15
  • Upgrading to 2014 indeed solves the problem. – Calaf Mar 4 '15 at 16:52
  • How could one put one of these in each margin, in the interests of symmetry? I tried adding a similar stanza for the west. And it does indeed appear in the west, but the one in the east disappeared. – Faheem Mitha Nov 29 '15 at 13:07
  • @FaheemMitha: You have to detect the odd and even pages and then put the text accordingly. Search for \ifodd... – user11232 Jan 1 '16 at 2:24
2

It's easy to patch this command. Here a code

\documentclass{article}

\usepackage{draftwatermark}
%
\makeatletter
\renewcommand\sc@watermark{%
  \setlength{\@tempdimb}{.1\paperwidth}% change here as you need horiz pos
  \setlength{\@tempdimc}{-.5\paperheight}%  change vertical pos
  \put(\strip@pt\@tempdimb,\strip@pt\@tempdimc){%
    \makebox(0,0){\rotatebox{\sc@wm@angle}{%
        \scalebox{\sc@wm@scale}{%
          \expandafter\expandafter\expandafter\textcolor
          \expandafter\sc@wm@colormodel\expandafter{\sc@wm@colorspecs}{%
            \fontsize{\sc@wm@fontsize}{1.2\sc@wm@fontsize}
            \selectfont
            \sc@wm@text}}}}}}
\makeatother
% \SetWatermarkLightness{0.8}
\SetWatermarkScale{4}
\SetWatermarkAngle{90}
\usepackage{lipsum}
\begin{document}
\lipsum[1-5]
\end{document}
  • touhami / Steven: it seems this can be done using a 1- or 2-liner with the background package. Using "\usepackage{background}" followed by "\backgroundsetup[contents=foobar,placement=bottom,color=blue]" in the preamble produces an error "! Package xkeyval Error: [' undefined in families background'." Debugging... – Calaf Mar 4 '15 at 14:44
  • background is better. – touhami Mar 4 '15 at 14:46
  • I can't see the problem with xkeyval. Asked a separate question: tex.stackexchange.com/q/231330/9549 – Calaf Mar 4 '15 at 15:01
0

Here's something I concocted for another application, though it is at top and bottom, not left and right. However, since your intention is "just to ward against accidental use of a preliminary document by a sleep-deprived individual," it may be sufficient. It can be turned on/off easily, changed, color added, etc. Syntax is \PageStamp[] (default "DRAFT") and \StopPageStamp, along with \def\PageStampColor{}.

Its also set up to use \thispagestyle{\PlainStyle} or \thispagestyle{\EmptyStyle} to handle using the page stamp with or without page numbers.

\documentclass{article}
\usepackage{lipsum,xcolor}
\makeatletter
%%
%% SET UP CODE TO USE PAGE STAMPS AT TOP AND BOTTOM OF PAGE.  DEFAULT
%% STAMP IS "DRAFT", BUT IT CAN BE USED FOR CLASSIFICATION MARKINGS.,
%% TOO.
\def\PageStampFlag{F}
\def\thePageStamp{}
\def\thePageStampTOP{\thePageStamp}
\def\EmptyStyle{empty}
\def\PlainStyle{plain}
\def\PageStampColor{black}

\newcommand{\ps@pagestamp}{
  \renewcommand{\@oddhead}{\sffamily\color{\PageStampColor}%
                           \hfil\textbf{\Large\thePageStampTOP}\hfil}
  \renewcommand{\@evenhead}{\@oddhead}
  \renewcommand{\@evenfoot}{\sffamily\hfil
                            \begin{tabular}{c}
                            \textrm{\thepage}\\
                            \color{\PageStampColor}
                            \textbf{\Large\thePageStamp}
                            \end{tabular}
                            \hfil}
  \renewcommand{\@oddfoot}{\@evenfoot}
}

\newcommand{\ps@emptypagestamp}{
  \renewcommand{\@oddhead}{\sffamily\color{\PageStampColor}%
                             \hfil\textbf{\Large\thePageStampTOP}\hfil}
  \renewcommand{\@evenhead}{\@oddhead}
  \renewcommand{\@evenfoot}{\sffamily\hfil
                            \begin{tabular}{c}
                            ~\\
                            \color{\PageStampColor}
                            \textbf{\Large\thePageStamp}
                            \end{tabular}
                            \hfil}
  \renewcommand{\@oddfoot}{\@evenfoot}
}
\newcommand\PageStamp[1][DRAFT]{
  \def\PageStampFlag{T}
  \def\thePageStamp{#1}
  \def\PlainStyle{pagestamp}
  \def\EmptyStyle{emptypagestamp}
  \pagestyle{\PlainStyle}
}

\newcommand\StopPageStamp[0]{
  \def\PageStampFlag{F}
  \def\PlainStyle{plain}
  \def\EmptyStyle{empty}
  \pagestyle{\PlainStyle}
}
\makeatother
\begin{document}
\PageStamp[DRAFT \today]
\lipsum[1-7]
\StopPageStamp
\lipsum[8-13]
\def\PageStampColor{red}
\PageStamp[This is a Test]
\end{document}

enter image description here

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.