I use preliminary markup on draft versions of documents which specifies the svn repository number, timestamp, url etc. I prefer this to be typeset centred at the bottom of the page below the footer.
Here is the effect I am trying to achieve:

The solution needs to:
- work in both
onecolumnandtwocolumnmode; - work with at least the standard LaTeX classes;
- work with
geometryandfancyhdr; - allow LaTeX commands in the specification of the preliminary marker so I can typeset
svninformation,\todayetc. and allow multi-line markers; - centre the marker beneath the footer but within the printable area even when different options are passed to
geometryandfancyhdr; - be sensitive to whether the
draftorfinaloption is active; - not affect page layout in other ways e.g. it must not affect page or line breaks, alignment or placement of the header/footer;
- work with pdfLaTeX.
I have been using prelim2e. However, this does not centre the marking beneath the footer consistently or correctly. This prompted me to ask this question. Although there is something odd about geometry's effect there, it seems that there is also a distinct issue with prelim2e in the sense that no matter what I try, I cannot get the markup centred beneath the footer. This is true even if I stick to the very simplest configuration and just try something like \PrelimWords{a}.
After searching this site and ctan for a bit, I came across maetra's comment on this answer. That comment suggests combining background and ifdraft. So I tried the following:
\documentclass[draft,twocolumn]{article}
\usepackage{url,svn-multi}
\svnidlong
{$HeadURL: file:///svn/myproject/tweaked-branch/usr/local/texlive/current/texmf-dist/tex/latex/something/something.sty $}
{$LastChangedBy: cfr $}
{$LastChangedRevision: 19567 $}
{$LastChangedDate: 2014-04-16 19:46:05 +0100 (Mer, 16 Ebr 2014) $}
\usepackage[hscale=.875]{geometry}
\usepackage{ifdraft}
\makeatletter
\ifdraft{%
\usepackage[placement=bottom,scale=1,opacity=1,vshift=10mm]{background}
\@ifpackageloaded{svn-multi}{%
\newsavebox{\prelimtxt}
\sbox{\prelimtxt}{%
\parbox{\textwidth}{%
\urlstyle{sf}%
\centering \small \textsf{Draft --- \today\ --- Revision \svnrev\ --- \svnyear--\svnmonth--\svnday\ \svnhour:\svnminute:\svnsecond}\\[1em]
\centering \tiny \textsf{\svnkw{HeadURL}}\\%
}% end parbox
}% end sbox
\backgroundsetup{contents=\usebox{\prelimtxt}}
}{\backgroundsetup{contents={\centering \small \textsf{Draft --- pdf\LaTeX{}ed --- \today}}}}}{%
\providecommand{\pgfsyspdfmark}[3]{\relax}}
\makeatother
\usepackage{kantlipsum}
\begin{document}
\kant[1-5]
\end{document}
Although I have not yet tried this in a real document, the results appear to be exactly what I'm looking for. The output is, in fact, that I posted above.
However, it does seem to be a sledgehammer to crack a nut. This solution requires me to load tikz merely to set the preliminary marker at the bottom of the page. I realise this is because background is much more powerful and flexible than prelim2e and I really like the package for other uses. It just feels like overkill here. (Note that much of my customisation is dedicated to undoing the doings of background by setting the scale back to 1, using full opacity etc.)
Moreover, this solution requires me to either put up with errors when switching to final or to load tikz even when I'm not using it at all. (My code above institutes a hack to avoid both evils which involves just setting a dummy command if necessary.)
Is there an alternative solution which works properly but is a bit lighter weight? Or a workaround for prelim2e (seems doubtful from what I've read)?




pictureenvironment to move a wanted material to a new position on page, but it is relative positioning, it needed a fixed point. I was thinking aboutzwpagelayoutpackage for a minute but it primarily focuses on crop marks. I would be thinking aboutpst-absposandtextpospackages, but you are trying to avoid them. I jumped from current fixed position to page center in http://tex.stackexchange.com/questions/171500/how-to-print-a0-poster-as-an-array-of-combinable-a4-pages/ – Malipivo Apr 18 '14 at 05:01landscapeenvironment. Also, I had to fiddle a bit to get it to work with other things. I guess one can't have everything... ;) – cfr Apr 18 '14 at 18:51pdflscapepackage, or, try\pdfpagewidth=\paperwidthand\pdfpageheight=\paperheightdirectly at some point before calculations. It usually costs me a headache. – Malipivo Apr 18 '14 at 19:01pdflscapeand the calculations are done at the beginning of the document whereas I'm then screwing it up by setting a particular page inlandscape.prelim2esomehow manages this but I think I might just set the pagestyle to empty! Thanks, though. – cfr Apr 18 '14 at 19:12