Page LayoutA problem concerning use of xkeyval package

Information and discussion about page layout specific issues (e.g. header and footer lines, page formats, page numbers).
Post Reply
Polestar
Posts: 5
Joined: Tue Oct 07, 2008 2:43 pm

A problem concerning use of xkeyval package

Post by Polestar »

I am attempting to extend the 'draftwatermark' by
Sergio Callegari to meet a special need. I call the
new package 'draftmark'. I will like to use a macro
I call \draftmarksetup to specify package options,
as an alternative to specifying the optional arguments
to the \usepackage command. I have used the facilities
in the xkeyval package for processing my package
options, but the macro \draftmarksetup based on \setkeys
has not worked properly. Can anyone familiar with the
xkeyval/keyval package help me?
The new package and a sample document are listed below.

Code: Select all

Code, edit and compile here:
\ProvidesPackage{draftmark}[2009/03/10 v1.0 Puts a draftmark on specified document pages]
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{etoolbox}
\RequirePackage{xkeyval}
\RequirePackage{atbegshi}
\RequirePackage{picture}
\RequirePackage{xcolor}
\RequirePackage{xifthen}
\newif\ifdm@final\dm@finalfalse
\newif\ifdm@draft\dm@draftfalse
\newif\ifdm@firstpage\dm@firstpagefalse
\newif\ifdm@allpages\dm@allpagesfalse
\newif\ifdm@oddpages\dm@oddpagesfalse
\newif\ifdm@evenpages\dm@evenpagesfalse
\newif\ifdm@particularpage\dm@particularpagefalse
\newlength\dm@xcoord
\setlength\dm@xcoord{0.5\paperwidth}
\newlength\dm@ycoord
\setlength\dm@ycoord{-0.5\paperheight}
\newcount\dm@sytlecnt\dm@sytlecnt=\z@
\newlength\dm@xcoord@tempa
\newlength\dm@ycoord@tempa
% Defaults:
\def\dm@markangle{45}
\def\dm@markscale{1}
\edef\dm@draftmarkpages{\z@}
\edef\dm@markcolorname{gray}
\edef\dm@markgrayness{0.8}
\def\dm@markcolor{\color[gray]{0.8}}
\edef\dm@marktext{DRAFT}
\edef\dm@fontfamily{cmr}
\edef\dm@fontsize{5cm}
\newcommand\dm@info[1]{\PackageInfo{draftmark}{#1\@gobble}}
\newcommand\dm@warn[1]{\PackageWarningNoLine{draftmark}{#1}}
\@onlypreamble\dm@warn
\@onlypreamble\dm@info
\DeclareOptionX[dm]<draftmark>{firstpage}[true]{%
\ifstrequal{#1}{true}{\dm@firstpagetrue}
{\dm@firstpagefalse}
\xdef\dm@draftmarkpages{First}
\dm@sytlecnt=\@ne}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Recommended reading 2024:

LaTeXguide.org • LaTeX-Cookbook.net • TikZ.org

NEW: TikZ book now 40% off at Amazon.com for a short time.

And: Currently, Packt sells ebooks for $4.99 each if you buy 5 of their over 1000 ebooks. If you choose only a single one, $9.99. How about combining 3 LaTeX books with Python, gnuplot, mathplotlib, Matlab, ChatGPT or other AI books? Epub and PDF. Bundle (3 books, add more for higher discount): https://packt.link/MDH5p

Polestar
Posts: 5
Joined: Tue Oct 07, 2008 2:43 pm

A problem concerning use of xkeyval package

Post by Polestar »

The right syntax appears to be:

Code: Select all

Code, edit and compile here:
\usepackage[draft=true]{draftmark}
\draftmarksetup{%
allpages=true,
angle=45,
color=gray,
fontfamily=phv,
grayness=0.9,
mark=Confidential,
scale=.8,
xcoord=0,
ycoord=0
}
% \lipsum[1-4]
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Either draft=true or final=true must be set at the point of issuing \usepackage. Other options can then be set dynamically afterwards by \draftmarksetup. This worked in all the cases I have tried.
Post Reply