0

I am starting to play with the texMemo document class (which can be found here). The class uses the ifthen package and the draft watermark package. I'm used the latter before but not the former. I am compiling in macOS using pdflatex (at the terminal, pdflatex --version returns 'pdfTeX 3.14159265-2.6-1.40.21 (TeX Live 2020)').

The texMemo document class includes the ability to put a 'draft' watermark on the output if you uncomment a line in the 'header.tex' include file. I don't want the watermark, but I can't get it to go away.

The header.tex file has the lines

% Uncomment if you would like a DRAFT watermark:
% \memodraft{true}

The implication is that there will NOT be a watermark if you do not uncomment the second of these lines.

However, the watermark appears regardless of whether or not these lines are commented or uncommented.

The main.tex file has this command block

\ifthenelse{\equal{\@memodraft}{\relax}}{}{%
    \RequirePackage{palatino}
    \usepackage{draftwatermark}
    \SetWatermarkText{DRAFT}
    \SetWatermarkLightness{1}
    \SetWatermarkLightness{0.95}
}

which, if I comment them out, sometimes throws an error and sometimes doesn't. I'd like to have the ability to toggle a 'draft' watermark as the authors intended.

Can anyone let me know what's going wrong here and how it might be fixed?

Thanks in advance.

-- Jason

EDIT: When I compile the LaTeX source that is included with the distribution (and which is not supposed to produce the watermark), I get this:PNG of output on compile

4
  • Welcome to TeX.SE! Can you show a short compilable TeX code resulting in your issue?
    – Mensch
    Dec 1, 2021 at 16:00
  • Okay, I had a look into the code. So, in order to not show the water mark, you should use \memodraft{\relax}. But this should actually be the default and I don't know why it holds some other value in your case. In any case, the macro \memodraft should be set before the \ifthenelse clause that you cited above. Dec 1, 2021 at 16:12
  • @JasperHabicht Thanks for the quick work. I tired putting \memodraft{\relax} in the main.tex file before it inputs header.tex (thinking this would set the correct value), but I still get the same result. Something somewhere else must be setting it to a different value? - a watermark.
    – J Miller
    Dec 1, 2021 at 18:27
  • @Mensch I have added a PNG of the output to my post. I hope that helps.
    – J Miller
    Dec 1, 2021 at 18:28

1 Answer 1

3

The main.tex file is missing \makeatletter and \makeatother around the \ifthenelse block. This is needed because the macro \@memodraft is used, which contains an @ character.

When this is added and the watermark is properly skipped then another problem appears, i.e., none of the files loads the graphicx package so \maketitle doesn't work when it tries to include the logo. This was not an issue before the fix because then the draftwatermark package was always loaded which in turn loads graphicx.

Full MWE:

\documentclass[paper=letter]{texMemo}
\usepackage{graphicx}

\input{header.tex}
\makeatletter
\ifthenelse{\equal{\@memodraft}{\relax}}{}{%
    \RequirePackage{palatino}
    \usepackage{draftwatermark}
    \SetWatermarkText{DRAFT}
    \SetWatermarkLightness{.95}
}
\makeatother

\begin{document}
\maketitle

\input{body.tex}

\end{document}

Result:

enter image description here

1
  • Works perfectly for me! Thanks so much for the fix and for learning me some new LaTeX coding information.
    – J Miller
    Dec 1, 2021 at 19:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .