2

I would like to hide a document watermark on some pages, but without specifying page numbers (e.g. with xwatermark pages option).

Since counting pages is inconvenient for long documents, I would like to build a macro like \nowaterpage to hide watermarks on page where the commands is issued?

Also note that my document contains images, so I need the watermark to show over them.

Here is the MWE, based on xwatermark:

\documentclass{beamer} 
\usetheme{Madrid}

\usepackage{tikz}
\usepackage[printwatermark]{xwatermark}
\newsavebox{\wmark}
\sbox{\wmark}{
  \parbox{1cm}{\tikz[color=pink,opacity=0.4]\node{Draft};\\%
  \tikz[color=pink,opacity=0.5]\node{Do not distribute};}}
\newwatermark*[allpages, angle=30, scale=3, xpos=-35, ypos=-10]{\usebox\wmark}

\begin{document}
\begin{frame}
I want a watermark everywhere
\end{frame}

\begin{frame}
Except here
\end{frame}
\end{document}
Bernard
  • 271,350
antonio
  • 1,446

1 Answers1

2

Don't assume the third slide. with option pagex={1,2,4,5,6}

One method is as follows:

 \documentclass{beamer} 
    \usetheme{Madrid}
    \usepackage{tikz}
    \usepackage[printwatermark]{xwatermark}

    \newsavebox{\wmark}
    \sbox{\wmark}{
      \parbox{1cm}{\tikz[color=pink,opacity=0.4]\node{Draft};\\%
      \tikz[color=pink,opacity=0.5]\node{Do not distribute};}}

    \newwatermark*[pagex={1,2,4,5,6}, angle=30, scale=3, xpos=-35, ypos=-10]{\usebox\wmark}

    \begin{document}

    \begin{frame}
    I want a watermark everywhere  \insertframenumber
    \end{frame}

    \begin{frame}
    I want a watermark everywhere \insertframenumber
    \end{frame}

    \begin{frame}
    Except here \color{red}\insertframenumber
    \end{frame}


    \begin{frame}
    I want a watermark everywhere \insertframenumber
    \end{frame}

    \begin{frame}
    I want a watermark everywhere \insertframenumber
    \end{frame}

    \begin{frame}
    I want a watermark everywhere \insertframenumber
    \end{frame}


    \end{document}

to replace with

\newwatermark*[pagex={1,2,4,5,6}, angle=30, scale=3, xpos=-35, ypos=-10]{\usebox\wmark}

OR

\newwatermark*[pages=1-2, angle=30, scale=3, xpos=-35, ypos=-10]{\usebox\wmark}
\newwatermark*[pages=4-6, angle=30, scale=3, xpos=-35, ypos=-10]{\usebox\wmark}

output:

enter image description here

Edit: suggestion

\documentclass{beamer} 
\usetheme{Madrid}
\usepackage{tikz}

\setbeamertemplate{background canvas}{%
\ifnum \insertframenumber=3
\else
\begin{tikzpicture}[remember picture,overlay]
\draw ([shift={(0,4.5)}]current page.south) node[color=pink,opacity=0.5,align=left,rotate=45,scale=2.5]  {Draft\\[5mm] Do not distribute};
\end{tikzpicture}
\fi
} 

\begin{document}

\begin{frame}
I want a watermark everywhere  \insertframenumber
\end{frame}

\begin{frame}
I want a watermark everywhere \insertframenumber
\end{frame}

\begin{frame}
Except here \color{red}\insertframenumber
\end{frame}


\begin{frame}
I want a watermark everywhere \insertframenumber
\end{frame}

\begin{frame}
I want a watermark everywhere \insertframenumber
\end{frame}

\begin{frame}
I want a watermark everywhere \insertframenumber
\end{frame}


\end{document}
M.Ahmadi
  • 1,477
  • I don't get your point: you are hiding the watermark on the given page(s), by means of the page number(s), which is exactly what I would like to avoid. – antonio Nov 09 '19 at 23:14
  • I think the page number should be clear. Accordingly, one can make a backgrand link – M.Ahmadi Nov 10 '19 at 10:26