summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/coverpage
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/coverpage
Initial commit
Diffstat (limited to 'macros/latex/contrib/coverpage')
-rw-r--r--macros/latex/contrib/coverpage/CoverPage.dtx766
-rw-r--r--macros/latex/contrib/coverpage/CoverPage.ins65
-rw-r--r--macros/latex/contrib/coverpage/CoverPage.pdfbin0 -> 133964 bytes
-rw-r--r--macros/latex/contrib/coverpage/ECCV06Sample.pdfbin0 -> 123199 bytes
-rw-r--r--macros/latex/contrib/coverpage/README48
-rw-r--r--macros/latex/contrib/coverpage/SimpleSample.BibTeX.txt7
-rw-r--r--macros/latex/contrib/coverpage/SimpleSample.pdfbin0 -> 75218 bytes
-rw-r--r--macros/latex/contrib/coverpage/SimpleSample.tex48
8 files changed, 934 insertions, 0 deletions
diff --git a/macros/latex/contrib/coverpage/CoverPage.dtx b/macros/latex/contrib/coverpage/CoverPage.dtx
new file mode 100644
index 0000000000..6b11a1183f
--- /dev/null
+++ b/macros/latex/contrib/coverpage/CoverPage.dtx
@@ -0,0 +1,766 @@
+% \iffalse
+%
+% CoverPage.dtx
+% Docstrip archive, run through LaTeX.
+%
+% Copyright (C) 2006 by Matthias Mühlich
+% (matthias.muehlich@lfb.rwth-aachen.de)
+%
+% This file may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.2
+% of this license or (at your option) any later version.
+% The latest version of this license is in:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.2 or later is part of all distributions of LaTeX
+% version 1999/12/01 or later.
+%
+%<*driver>
+\ProvidesFile{CoverPage.dtx}%
+ [2006/02/23 v1.01 automatic cover page generation (MM)]
+\documentclass[a4paper]{ltxdoc}
+\usepackage{textcomp}
+\RecordChanges
+%%\OnlyDescription
+\begin{document}
+ \DocInput{CoverPage.dtx}
+\end{document}
+%</driver>
+%
+% \fi
+%
+%
+% \CheckSum{0}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%
+% \changes{v1.00}{2006/02/20}{Initial version}
+% \changes{v1.01}{2006/02/23}{Names of package and macros changed as
+% requested by CTAN team. Support for publisher SPIE added.}
+% \GetFileInfo{CoverPage.dtx}
+%
+%
+% \title{The \texttt{CoverPage} Package\thanks{This document
+% was generated from \texttt{CoverPage.dtx}~\fileversion, dated \filedate.}}
+% \author{Matthias M\"uhlich \\ \texttt{matthias.muehlich@lfb.rwth-aachen.de}}
+% \date{version 1.01 \quad 23-FEB-2006}
+% \maketitle
+%
+% \frenchspacing
+% \sloppy
+%
+% \begin{abstract}
+% The package \texttt{CoverPage} was created to supplement
+% scientific papers with a cover page containing bibliographical
+% information, a copyright notice, and/or some logos of the author's
+% institution. The cover page is created (almost) automatically; this
+% is done by parsing \BibTeX{} information corresponding to the
+% main document and reading a configuration file in which the author
+% can set information like the affiliation he or she is associated with.
+%
+% The cover page consists of header, body and footer; all three are
+% macros which can be redefined using |\renewcommand|, thus allowing
+% easy customization of the package. Additionally, it should be stressed
+% that the cover page layout is totally \emph{independent} of the
+% main document and its page layout
+% (which is not the easiest thing to achieve in \LaTeX).
+%
+% This package requires four other packages (\texttt{keyval}, \texttt{url},
+% \texttt{textcomp}, and \texttt{verbatim}), but all of them are standard
+% packages and should be part of every \LaTeX{} installation.
+% \end{abstract}
+%
+%
+% \tableofcontents
+%
+%
+% \section*{Foreword}
+%
+% The best explanation for this package is an example. So first of all,
+% please look at the file \texttt{ECCV2006Sample.pdf} which is part of
+% this distribution. The cover page was created using
+% the \texttt{CoverPage} package, and adding the cover page in front of the
+% document required only adding a single line of \LaTeX{} code to the original
+% source file.
+%
+%
+%
+%
+%
+% \section{About this Package}
+%
+% Researchers (like the author of this package) want to distribute their own work in the
+% scientific community, either as printout or in electronic form (email or
+% download). The scientific paper itself is sufficient for this purpose, but
+% it is not optimal for several reasons:
+% \begin{itemize}
+% \item
+% Other scientists need \emph{bibliographical information} on the paper
+% in order to cite it properly. So let us be nice to our colleagues and
+% attach this necessary information to the paper in some way.
+% \item
+% One should not ignore the legal subtleties. If papers are published in
+% some journal or conference proceedings, one does not own the copyright
+% anymore; this is especially problematic if the paper shall be
+% available for download. Fortunately, most publishers have now realized
+% that researchers \emph{need} to put their work on their homepages
+% (otherwise, the work is widely ignored). Therefore, most publishers
+% allow redistribution for scientific use provided that some special
+% \emph{copyright notice} is attached to the paper.
+% \item
+% Last, but not least, we want our colleagues to recognize the logos of our
+% excellent work group and our great university. Scientific papers are
+% characterized by highly different page layouts, while a unified look of
+% cover pages together with logos can help to establish a
+% recognizable \emph{corporate design}.
+% \end{itemize}
+% All three aims can be reached by supplementing the paper with an additional cover
+% page which contains all the required information. This is exactly the purpose
+% of the \texttt{CoverPage} package -- and it does this job in a widely automated way.
+%
+%
+%
+%
+%
+% \section{Installation}
+%
+% The package \texttt{CoverPage} is distributed as \texttt{dtx} archive together
+% with a corresponding \texttt{ins} installation script. Advanced \LaTeX{} users
+% who know these file types may now install the package in the usual \LaTeX{} way
+% and skip the remainder of this section.
+%
+% For all others: \texttt{dtx} files are text files which combine \LaTeX{} code with
+% its own code documentation. The whole \LaTeX{} base system and almost all standard
+% packages are distributed in this form. In order to install such files, you must
+% \begin{enumerate}
+% \item
+% Enter \texttt{latex CoverPage.ins} at the command line. This extracts all
+% necessary files from the archive (here: the \texttt{CoverPage.sty} style file
+% and a \texttt{CoverPage.cfg} configuration file.
+% \item{}
+% [optionally:] Enter \texttt{latex CoverPage.dtx} at the command line.
+% This produces a documentation of the package (user interface and code documentation).
+% ^^A Package documentations often include their own \texttt{sty} file for demonstration
+% ^^A purposes, so the order usually \emph{is} important. However, this is not the case for
+% ^^A \texttt{CoverPage}.
+% \end{enumerate}
+% Note that the documentation \texttt{CoverPage.pdf} which is distributed with the
+% package only contains the user interface. If you also want to take a look at the
+% commented source code, you have to execute the step described above.
+%
+%
+% \section{Setup and Usage}
+%
+% This package can do its job more or less automatically, but you also have access
+% to every setting if you want to modify some behaviour by hand.
+%
+%
+% \subsection{Automatic cover page creation}
+%
+% Ideally, you have to include just one line in your \LaTeX{} document:
+% \begin{verbatim}
+% \usepackage{CoverPage}
+% \end{verbatim}
+% That's all. But in order to make automatic cover page creation
+% work properly, you have to do two things in advance:
+% \begin{itemize}
+% \item
+% You have to create a text file containg the \BibTeX{} entry of your document.
+% The file name must be \meta{mainTeXFileName}\texttt{.BibTeX.txt}. For instance, if
+% you entered \texttt{pdflatex myPaper.tex} on the command line (or let some
+% specialized editor issue this command), then
+% the corresponding bibliographical information (and nothing more!) should be put in
+% the file \texttt{myPaper.BibTeX.txt}.
+% \item
+% Even after parsing the \BibTeX{} data, the \texttt{CoverPage} package cannot know
+% your institute, postal adress, or university logo. Fortunately, this missing data
+% is not specific to the document, but can be specified once and for all,
+% namely in the \texttt{CoverPage.cfg} configuration file.
+% \end{itemize}
+% As the cover page is directly printed at the |\begin{document}| command,
+% it is clear that all cover page data settings must appear \emph{before} this command, i.e.
+% in the preamble. There are three different ways how texts get on the cover page:
+% parsing of the \BibTeX{} entry, settings in the config file \texttt{CoverPage.cfg}, and user input in
+% the document preamble (in this order). Note that later settings can
+% overwrite previous ones.
+%
+%
+% \subsection{Options}
+%
+% By using |\usepackage[|\meta{optionList}|]{CoverPage}|, the user can specify
+% package options. Four such options are currently supported.
+%
+% The language options \texttt{german} and \texttt{english} set some language-specific string in
+% auto-generated document source strings. If no language is specified, it defaults to English.
+%
+% The option \texttt{twoside} is intended for two-sided printouts. In this case, we want the
+% original document to start on an odd (right) page, so the package will print the cover page
+% followed by a further empty page (the back side of the cover page).
+%
+% The last possible option is \texttt{nobib}. If no \BibTeX{} file exists, this package will
+% stop with an error. The |nobib| option disables this behaviour and allows to proceed
+% normally. Then, the cover will not contain a \BibTeX{} reference and the user will have to
+% set all texts manually because no \BibTeX{} file can be parsed for the relevant data.
+%
+%
+% \subsection{Setting cover page data by hand}
+%
+% Setting of cover page data either in the config file or in the document preamble
+% is done with the same commands. In fact, it is just one single command (and a
+% few macros, like fonts, which can be redefined using |\renewcommand|).
+%
+% \DescribeMacro{\CoverPageSetup}
+% The command |\CoverPageSetup{|\meta{CommaSeparatedList}|}| uses the
+% \texttt{keyval} package to provide a user-friendly interface for setup of
+% the cover page. The \meta{CommaSeparatedList} consist of pairs
+% \meta{key}|=|\meta{value}. If \meta{value} contains one or more
+% commas, it must be enclosed in braces. A good example is the setting of the
+% institute which can be centralized in the config file:
+% \begin{verbatim}
+% \CoverPageSetup{institute =
+% {Institute of Imaging and Computer Vision\\
+% RWTH Aachen University, 52056 Aachen, Germany\\
+% tel: +49 241 80 27860, fax: +49 241 80 22200\\
+% web: www.lfb.rwth-aachen.de}}
+% \end{verbatim}
+% Allowed keys are:
+% \begin{itemize}
+% \item
+% The keys |title|, |author|, |institute|, |insource|, and
+% |copyright| set the corresponding texts in the cover page.
+% \item
+% An automatic copyright notice can be created with |year = |\meta{year}
+% and a known |publisher| key. In the current version, the package
+% recognizes |Springer| (copyright text is correct for lecture notes
+% on computer science (LNCS) series), |Kluwer|, |SPIE| and |IEEE|. For these
+% publishers, the copyright notice requested by the corresponding publisher is
+% created automatically.
+% \item
+% An automatic source information is created if the keys |booktitle| or
+% |journal| are defined. In this case, the source text reads: ``in:
+% \meta{booktitle$\vert$journal}. \meta{referenceToBibTeXEntry}'' where
+% \meta{referenceToBibTeXEntry} is a language dependent text. The
+% current version supports the package options \texttt{german} and
+% \texttt{english} (default).
+% \end{itemize}
+% Note that parsing the \BibTeX{} entry routes the information through the same
+% \texttt{keyval} interface which is also used for the manual setup.
+% The above information on the automatic generation
+% of copyright or source information also holds if the \BibTeX{} entry contains
+% the necessary keywords. Currently supported \BibTeX{} type identifiers are
+% |@article|, |@inproceedings|, |@incollection|, and |@misc|.
+%
+%
+% \subsection{Customization}
+%
+% \DescribeMacro{\CPTitleFont}
+% \DescribeMacro{\CPAuthorFont}
+% \DescribeMacro{\CPInstituteFont}
+% \DescribeMacro{\CPInSourceFont}
+% \DescribeMacro{\CPCopyrightFont}
+% The five texts for title, author, institute, source, and copyright are all
+% associated with an individual font. The standard definitions are
+% \begin{verbatim}
+% \newcommand{\CPTitleFont}{\Huge\sffamily\bfseries\upshape}
+% \newcommand{\CPAuthorFont}{\LARGE\sffamily\mdseries\upshape}
+% \newcommand{\CPInstituteFont}{\Large\sffamily\mdseries\upshape}
+% \newcommand{\CPInSourceFont}{\large\sffamily\mdseries\upshape}
+% \newcommand{\CPCopyrightFont}{\large\sffamily\mdseries\upshape}
+% \end{verbatim}
+% but you can change these setting with |\renewcommand|.
+%
+% \DescribeMacro{\CoverPageHeader}
+% \DescribeMacro{\CoverPageBody}
+% \DescribeMacro{\CoverPageFooter}
+% \DescribeMacro{\CoverPageFooterLogo}
+% The cover page consists of three parts: header, body, footer. These parts are
+% encapsulated as macros which allow redefinition. For instance, the header is
+% empty by default, but
+% \begin{verbatim}
+% \renewcommand{\CoverPageHeader}{%
+% \includegraphics[width=\textwidth]{lfbheader}}
+% \end{verbatim}
+% tells \texttt{CoverPage} to use a graphics, scaled to full width. The same holds for
+% |\CoverPageBody| and |\CoverPageFooter| (cf. code documentation at the
+% end for the default definitions). The footer, however, contains more or less
+% fixed parts (\BibTeX{} info and copyright notice), so it offers another point of
+% entry for easy user customization: The macro |\CoverPageFooterLogo| defines the
+% contents of the lower right corner; for instance, this could be used to display
+% a university logo.
+%
+% Costumization commands which are needed on a regular basis should be put in
+% the config file \texttt{CoverPage.cfg}. Please do not modify the style file
+% \texttt{CoverPage.sty} directly.
+%
+%
+%
+%
+% \StopEventually{}
+%
+%
+%
+%
+% \section{Implementation Part I -- Initialization}
+%
+% From now on, we describe the code of the file \texttt{CoverPage.dtx}.
+% It is mainly intended for the advanced \LaTeX{} user who wants to understand
+% how this package works.
+%
+%
+% \subsection{Identification}
+%
+% The first line indicates the begin of the \texttt{CoverPage.sty} code.
+% Then we check that the \LaTeX{} version is not too old and the package
+% identifies itself.
+%
+% \begin{macrocode}
+%<*CoverPage>
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{CoverPage}%
+ [2006/02/23 v1.01 automatic cover page generation (MM)]
+% \end{macrocode}
+%
+%
+% \subsection{Required Packages}
+%
+% We need the following packages:
+% \begin{itemize}
+% \item
+% \texttt{keyval}: our package can be customized using the \texttt{keyval}
+% interface, which is e.g. known from the \texttt{graphicx} package.
+% \item
+% \texttt{textcomp}: mainly for |\textcopyright| (the \textcopyright{} symbol)
+% \item
+% \texttt{url}: for typesetting URLs.
+% \item
+% \texttt{verbatim}: listing of the \BibTeX{} entry.
+% \end{itemize}
+% These are the next four lines of our code:
+% \begin{macrocode}
+\RequirePackage{keyval}
+\RequirePackage{textcomp}
+\RequirePackage{url}
+\RequirePackage{verbatim}
+% \end{macrocode}
+%
+%
+% \subsection{Switches and options}
+%
+% Now we can implement the options.
+% The macros |\CP@BibRef| (default: ``See also \BibTeX{} entry below.'')
+% and |\CP@In| (default: ``in:'') are initialized in English and can be
+% overwritten by language options (no further action is necessary for |\CP@In|
+% as German and English, the only supported languages in this version, are
+% identical here).
+%
+% For the option |twoside| (two-sided printout; cover page must get a blank
+% back side), we define a command which is to be appended at the end of
+% the cover page creation macro. By default, it does nothing, but with the
+% |twoside| option, we pass an empty box to |\shipout| instead, thus printing
+% an empty page. Note that global options are automatically passed on to
+% packages, so specifying |twoside| as option in |\documentclass| should be
+% sufficient.
+% \begin{macrocode}
+\newif\ifCP@nobib\CP@nobibfalse
+\gdef\CP@BibRef{See also \BibTeX{} entry below.}
+\gdef\CP@In{in:}
+\let\CP@AdvancePageTwoSided\relax
+\DeclareOption{german}{\gdef\CP@BibRef{Siehe auch \BibTeX{} Eintrag unten.}}
+\DeclareOption{english}{\gdef\CP@BibRef{See also \BibTeX{} entry below.}}
+\DeclareOption{twoside}{\gdef\CP@AdvancePageTwoSided{\setbox255\vbox{}\shipout\box255}}
+\DeclareOption{nobib}{\CP@nobibtrue}
+\ProcessOptions\relax
+% \end{macrocode}
+%
+%
+% \subsection{New register definitions}
+%
+% Our cover page shall have 0.75 inch margin on each side. Width and height are defined
+% in the two dimension registers |\CP@CoverPageWidth| and |\CP@CoverPageHeight|
+% which we first define and then compute from the total paper size.
+%
+% \begin{macrocode}
+\newdimen\CP@CoverPageWidth
+\newdimen\CP@CoverPageHeight
+\CP@CoverPageWidth=\paperwidth
+\CP@CoverPageHeight=\paperheight
+\advance\CP@CoverPageWidth by -1.5in
+\advance\CP@CoverPageHeight by -1.5in
+% \end{macrocode}
+%
+%
+% \subsection{Text macros}
+%
+% The text on the cover page consists of five macros: title, author, institute, the
+% source where the paper can be found and a copyright notice.
+%
+% \begin{macrocode}
+\def\CP@Title{title undefined}
+\def\CP@Author{author undefined}
+\def\CP@Institute{institute undefined}
+\def\CP@InSource{source undefined}
+\def\CP@Copyright{\textcopyright{} copyright by the author(s)}
+% \end{macrocode}
+%
+% Additional, we define macros for constructing source and copyright notice
+% automatically.
+%
+% \begin{macrocode}
+\def\CP@Year{(unknown year)}
+\def\CP@Source{(unknown source)}
+% \end{macrocode}
+%
+% At the end, we `steal' a definition from the \texttt{doc} package.
+%
+% \begin{macrocode}
+\@ifundefined{BibTeX}
+ {\def\BibTeX{{\rmfamily B\kern-.05em%
+ \textsc{i\kern-.025em b}\kern-.08em%
+ T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}}{}
+% \end{macrocode}
+%
+%
+%
+%
+%
+% \section{Implementation Part II -- Internal Commands}
+%
+% This section contains some internal commands defined in \texttt{CoverPage}.
+% These macros all start with |CP@|; please do not use them because they
+% are not part of the user interface and might be redefined in future versions.
+%
+%
+% \subsection{Define and read bibliography file}
+%
+% If \texttt{nobib} option is not set, do the following:
+% Check if file exists. If so, store argument of |@inproceedings| or
+% |@article| for later parsing. In order to achieve this, we temporarily (i.e.
+% locally) define macros |\inproceedings| and |\article| and tell \LaTeX{}
+% that the |@| has category code 0 (i.e. it starts macros) when reading the file.
+%
+% After execution of |\article| or any of the other similar commands,
+% |\CP@ParseArg| contains the argument of the \BibTeX{} entry.
+% Later on, when parsing the argument, we must throw away the \BibTeX{} keyword
+% and the comma which it seperates from the interesting \meta{key}|=|\meta{value}
+% list. This is the reason why |\CP@ParseArg| is initialized with |dummy,|.
+% If the \BibTeX{} file does not exist, we report an error.
+% \begin{macrocode}
+\gdef\CP@ParseArg{dummy,}
+\ifCP@nobib
+\else
+ \IfFileExists{\jobname.BibTeX.txt}{%
+ \bgroup
+ \catcode`\@0
+ \bgroup
+ \def\inproceedings##1{\xdef\CP@ParseArg{##1}}%
+ \def\article##1{\xdef\CP@ParseArg{##1}}%
+ \def\incollection##1{\xdef\CP@ParseArg{##1}}%
+ \def\misc##1{\xdef\CP@ParseArg{##1}}%
+ \input{\jobname.BibTeX.txt}%
+ \egroup
+ \egroup
+ }{%
+ \PackageError{CoverPage}{No BibTeX file (\jobname.BibTeX.txt) found!}%
+ {you must provide a \jobname.BibTeX.txt file}%
+ }
+\fi
+% \end{macrocode}
+%
+%
+% \subsection{Interface setup (with \texttt{keyval})}
+%
+% We then define a series of \texttt{keyval} keys which will be used by both
+% \BibTeX{} parser and user interface. The first commands are for automatic
+% creation of source data.
+%
+% The source field is defined as "in: \meta{source}", followed by a language-specific
+% reference to the \BibTeX{} entry if the \BibTeX{} class defines defines a
+% main source of reference. Predefined are: |booktitle| (e.g. for |@inproceedings|) and
+% |journal| (for |@article|).
+%
+% \begin{macrocode}
+\def\CP@SourceGiven{\gdef\CP@InSource{\CP@In\ \CP@Source. \CP@BibRef}}
+\define@key{CoverPage}{booktitle}{\gdef\CP@Source{#1}\CP@SourceGiven}
+\define@key{CoverPage}{journal}{\gdef\CP@Source{#1}\CP@SourceGiven}
+% \end{macrocode}
+%
+% The next five keys define the five default text strings.
+%
+% \begin{macrocode}
+\define@key{CoverPage}{title}{\gdef\CP@Title{#1}}
+\define@key{CoverPage}{author}{\gdef\CP@Author{#1}}
+\define@key{CoverPage}{institute}{\gdef\CP@Institute{#1}}
+\define@key{CoverPage}{insource}{\gdef\CP@InSource{#1}}
+\define@key{CoverPage}{copyright}{\gdef\CP@Copyright{#1}}
+% \end{macrocode}
+%
+% Then we check whether we have enough information to create the copyright
+% notice automatically. Also note that we introduce a macro |CPPublisherCheck|;
+% experienced \LaTeX{} users may use this to set up further publisher--copyright
+% tests like the ones which are predefined.
+%
+% \begin{macrocode}
+\define@key{CoverPage}{year}{\gdef\CP@Year{#1}}
+\define@key{CoverPage}{publisher}{%
+ \edef\CP@Publisher{#1}%
+ \def\CP@Compare{Springer}%
+ \ifx\CP@Publisher\CP@Compare
+ \gdef\CP@Copyright{\textcopyright\ \CP@Year\ Springer-Verlag.\\
+ See also LNCS-Homepage: \url{http://www.springeronline.com/lncs}}%
+ \else
+ \def\CP@Compare{IEEE}%
+ \ifx\CP@Publisher\CP@Compare
+ \gdef\CP@Copyright{\textcopyright\ \CP@Year\ IEEE. Personal use of this
+ material is permitted. However, permission to reprint/republish this
+ material for advertising or promotional purposes or for creating new
+ collective works for resale or redistribution to servers or lists, or
+ to reuse any copyrighted component of this work in other works must
+ be obtained from the IEEE.}%
+ \else
+ \def\CP@Compare{SPIE}%
+ \ifx\CP@Publisher\CP@Compare
+ \gdef\CP@Copyright{\textcopyright\ \CP@Year\ Society of Photo-Optical
+ Instrumentation Engineers. This paper was published in \CP@Source\
+ and is made available as an electronic reprint with permission of
+ SPIE. One print or electronic copy may be made for personal use only.
+ Systematic or multiple reproduction, distribution to multiple
+ locations via electronic or other means, duplication of any material
+ in this paper for a fee or for commercial purposes, or modification
+ of the content of the paper are prohibited.}%
+ \else
+ \def\CP@Compare{Kluwer}%
+ \ifx\CP@Publisher\CP@Compare
+ \gdef\CP@Copyright{\textcopyright\ \CP@Year\ Kluwer Academic Publishers}%
+ \else
+ \CPPublisherCheck
+ \fi
+ \fi
+ \fi
+ \fi
+}
+\def\CPPublisherCheck{\relax}
+% \end{macrocode}
+%
+%
+% \subsection{Parsing and interpretation of the bibliography file}
+%
+% We parse the \BibTeX{} file using a two step macro expanding mechanism to eliminate
+% the \BibTeX{} keyword.
+% One should also mention that we (locally) disabled errors for unknown keys in
+% \texttt{keyval}. The macro |\KV@errx| which is used here is no part of the official
+% \texttt{keyval} user interface, but it is the only way to do it; we do not want to
+% disable \texttt{keyval} error checking in general.
+% \begin{macrocode}
+\gdef\CPProcessBibEntry{%
+ \edef\temp{\noexpand\CP@killBibTeXKeyword\CP@ParseArg\par}%
+ \def\CP@killBibTeXKeyword##1,##2\par{##2}%
+ \edef\tempii{\noexpand\setkeys{CoverPage}{\temp}}%
+ \bgroup
+ \def\KV@errx##1{\relax}% keyval: ignore unknown keys
+ \tempii
+ \egroup
+}
+% \end{macrocode}
+%
+%
+% \subsection{Printing of cover page}
+%
+% The printing of a page whose page layout is different from the remaining document
+% is a difficult job. We solve this by going deep down to \TeX{} internals, namely
+% the |\shipout| procedure which is called every time a page is assembled
+% completely (which is always done in the internal box register 255). We just compile
+% our own box 255 and give it to |\shipout|. Note the shift of the upper left
+% corner; this is due to the fact that the reference point is 1 inch from left and top
+% paper border.
+% \begin{macrocode}
+\newcommand{\CP@PrintCoverPage}{\bgroup\global\setbox255\vbox{%
+ \vspace*{-.25in}%
+ \noindent\hspace*{-.25in}%
+ \rlap{\begin{minipage}[t][\CP@CoverPageHeight][c]{\CP@CoverPageWidth}%
+ {\CoverPageHeader}%
+ \vfill%
+ {\CoverPageBody}%
+ \vfill%
+ {\CoverPageFooter}%
+ \end{minipage}}%
+}\egroup\shipout\box255}
+% \end{macrocode}
+%
+% This function is automatically called at |\begin{document}|. Additionally, we
+% advance a page in two-sided mode.
+%
+% \begin{macrocode}
+\AtBeginDocument{\CP@PrintCoverPage\CP@AdvancePageTwoSided}
+% \end{macrocode}
+%
+%
+%
+%
+%
+% \section{Implementation Part III -- User Interface}
+%
+% All macros explained in the `Usage' section can be found here.
+% The user can change fonts, has access to the \texttt{keyval} interface and can
+% redefine cover page composition. Change with |\renewcommand| if you want to.
+%
+%
+% \subsection{Set fonts}
+%
+% We first define fonts for the five main text areas.
+%
+% \begin{macrocode}
+\newcommand{\CPTitleFont}{\Huge\sffamily\bfseries\upshape}
+\newcommand{\CPAuthorFont}{\LARGE\sffamily\mdseries\upshape}
+\newcommand{\CPInstituteFont}{\Large\sffamily\mdseries\upshape}
+\newcommand{\CPInSourceFont}{\large\sffamily\mdseries\upshape}
+\newcommand{\CPCopyrightFont}{\large\sffamily\mdseries\upshape}
+% \end{macrocode}
+%
+%
+% \subsection{Access to \texttt{keyval} interface}
+%
+% Pass arguments on to \verb!\setkeys! from \texttt{keyval} package.
+% \begin{macrocode}
+\newcommand{\CoverPageSetup}[1]{\setkeys{CoverPage}{#1}}
+% \end{macrocode}
+%
+%
+% \subsection{Definition of cover page}
+%
+% The header is empty by default:
+% \begin{macrocode}
+\newcommand{\CoverPageHeader}{}
+% \end{macrocode}
+%
+% The body consists of: [rule] - title --- author - institute --- source - [rule]
+%
+% \begin{macrocode}
+\newcommand{\CoverPageBody}{%
+ \parbox{\linewidth}{%
+ \centering%
+ \rule{\linewidth}{1.5pt}\par
+ \vspace*{2mm}
+ {\CPTitleFont\CP@Title\par}
+ \vspace{5mm}
+ {\CPAuthorFont\CP@Author\par}
+ \vspace{1mm}
+ {\CPInstituteFont\CP@Institute\par}
+ \vspace{5mm}
+ {\CPInSourceFont\CP@InSource\par}
+ \vspace*{2mm}
+ \rule{\linewidth}{1.5pt}\par
+ }%
+}
+% \end{macrocode}
+%
+% The footer contains the \BibTeX{} entry, the copyright notice and info/logo
+% at the bottom. Footer info is some document info; the logo is empty by default.
+%
+% \begin{macrocode}
+\newcommand{\CoverPageFooter}{%
+ \normalfont
+ \ifCP@nobib
+ \else
+ \noindent\textsf{\large \BibTeX:}
+ {\small\verbatiminput{\jobname.BibTeX.txt}\par}%
+ \vspace{5mm}%
+ \fi
+ {\CPCopyrightFont\CP@Copyright\par}
+ \vspace{10mm}
+ {\CoverPageFooterInfo\hfill\CoverPageFooterLogo}
+}
+\newcommand{\CoverPageFooterInfo}{%
+ \parbox[b]{.5\textwidth}{%
+ \tiny document created on: \today\\
+ created from file: \texttt{\jobname.tex}\\
+ cover page automatically created with \texttt{CoverPage.sty}\\
+ (available at your favourite CTAN mirror)%
+ }%
+}
+\newcommand{\CoverPageFooterLogo}{}
+% \end{macrocode}
+%
+%
+%
+%
+%
+% \subsection{Start actions}
+%
+% At the end of this package, we process \BibTeX{} entry and read the config file.
+% The order is important: if both contain e.g. an entry for \texttt{institute}, the
+% last setting overrides the first one. The config file is given the higher priority
+% here.
+%
+% \begin{macrocode}
+\CPProcessBibEntry
+\IfFileExists{CoverPage.cfg}%
+ {\input{CoverPage.cfg}}%
+ {\PackageWarning{CoverPage}{No config file (CoverPage.cfg) found!}}
+%</CoverPage>
+% \end{macrocode}
+%
+% The |%</CoverPage>| guard signals the end of the \texttt{CoverPage.sty} code.
+%
+%
+%
+%
+%
+% \section{Config File}
+%
+% The code for the sample config file is also stored in \texttt{CoverPage.dtx}.
+% It is written to \texttt{CoverPage.cfg} including all comments and without
+% preamble or postamble from \texttt{docstrip} such that it is easy to understand
+% for the human user.
+%
+% \begin{macrocode}
+%<*CoverPageCFG>
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% Config file for ExtraTitlePage
+%%
+%% This file "CoverPage.cfg" is read by "CoverPage.sty"
+%% (if it exists). Use it to define default settings, e.g. for your
+%% institute or your group logo.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% set institute
+%% (the only information which cannot be extracted from BibTeX entry)
+\CoverPageSetup{institute = {Institute of Applied Nonsense}}
+
+%% redefine header, body, or footer with \renewcommand
+\renewcommand{\CoverPageHeader}{%
+ \LARGE\bfseries%
+ \dotfill{} This is my header \dotfill}
+\renewcommand{\CoverPageFooterLogo}{%
+ \Huge\sffamily%
+ L-O-G-O}
+
+
+%% These are "our" settings:
+%%\CoverPageSetup{institute = {Institute of Imaging and Computer Vision\\
+%% RWTH Aachen University, 52056 Aachen, Germany\\
+%% tel: +49 241 80 27860, fax: +49 241 80 22200\\
+%% web: www.lfb.rwth-aachen.de}}
+%%\renewcommand{\CoverPageHeader}{\includegraphics[width=\textwidth]{lfbheader}}
+%%\renewcommand{\CoverPageFooterLogo}{\includegraphics[width=.35\textwidth]{rwthlogo}}
+%</CoverPageCFG>
+% \end{macrocode}
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/coverpage/CoverPage.ins b/macros/latex/contrib/coverpage/CoverPage.ins
new file mode 100644
index 0000000000..7c9e2a038d
--- /dev/null
+++ b/macros/latex/contrib/coverpage/CoverPage.ins
@@ -0,0 +1,65 @@
+%%
+%% CoverPage.ins
+%% Batch file, run through LaTeX.
+%% Installs CoverPage.sty from CoverPage.dtx
+%%
+%% Copyright (C) 2006 by Matthias Mühlich
+%% (matthias.muehlich@lfb.rwth-aachen.de)
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.2
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+\input docstrip.tex
+\keepsilent
+\usedir{tex/latex/LfBTools}
+\preamble
+
+LaTeX package for generating a cover page for scientific papers. This
+cover page contains bibliographical information and a copyright notice.
+
+Copyright (C) 2006 Matthias Mühlich
+
+This file may be distributed and/or modified under the conditions of
+the LaTeX Project Public License, either version 1.2 of this license
+or (at your option) any later version. The latest version of this
+license is in:
+
+ http://www.latex-project.org/lppl.txt
+
+and version 1.2 or later is part of all distributions of LaTeX version
+1999/12/01 or later.
+
+\endpreamble
+%%\askforoverwritefalse
+\generate{%
+ \file{CoverPage.sty}{\from{CoverPage.dtx}{CoverPage}}
+ \nopreamble\nopostamble
+ \file{CoverPage.cfg}{\from{CoverPage.dtx}{CoverPageCFG}}
+}
+\Msg{**************************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* files into a directory searched by LaTeX:}
+\Msg{*}
+\Msg{* \space\space CoverPage.sty}
+\Msg{* \space\space CoverPage.cfg}
+\Msg{*}
+\Msg{* You should adapt the configuration file "CoverPage.cfg"}
+\Msg{* to your needs.}
+\Msg{*}
+\Msg{* To produce the documentation run the following file}
+\Msg{* through LaTeX:}
+\Msg{*}
+\Msg{* \space\space CoverPage.dtx}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{**************************************************************}
+\endbatchfile
diff --git a/macros/latex/contrib/coverpage/CoverPage.pdf b/macros/latex/contrib/coverpage/CoverPage.pdf
new file mode 100644
index 0000000000..d8a675fbee
--- /dev/null
+++ b/macros/latex/contrib/coverpage/CoverPage.pdf
Binary files differ
diff --git a/macros/latex/contrib/coverpage/ECCV06Sample.pdf b/macros/latex/contrib/coverpage/ECCV06Sample.pdf
new file mode 100644
index 0000000000..48c677d731
--- /dev/null
+++ b/macros/latex/contrib/coverpage/ECCV06Sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/coverpage/README b/macros/latex/contrib/coverpage/README
new file mode 100644
index 0000000000..8be080e02c
--- /dev/null
+++ b/macros/latex/contrib/coverpage/README
@@ -0,0 +1,48 @@
+%
+% The CoverPage Package
+% ========================
+%
+% What it does:
+%
+% The package \texttt{CoverPage} was created to supplement
+% scientific papers with a cover page containing bibliographical
+% information, a copyright notice, and/or some logos of the author's
+% institution. The cover page is created (almost) automatically; this
+% is done by parsing \BibTeX{} information corresponding to the
+% main document and reading a configuration file in which the author
+% can set information like the affiliation he or she is associated with.
+%
+% Required packages:
+%
+% This package needs four other packages (\texttt{keyval}, \texttt{url},
+% \texttt{textcomp}, and \texttt{verbatim}), but all of them are standard
+% packages and should be part of every \LaTeX{} installation.
+%
+% Installation:
+%
+% The package \texttt{CoverPage} is distributed as dtx archive.
+% If you do not know how to install such archives, see documentation
+% "CoverPage.pdf" (for a short description) or look at some FAQ list,
+% e.g. http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages.
+%
+% File list:
+%
+% The term "CoverPage package" refers to the following files:
+% CoverPage.dtx -- code/documenation archive
+% CoverPage.ins -- installer
+% CoverPage.pdf -- documentation
+% SimpleSample.tex -- sample document, source code
+% SimpleSample.pdf -- sample document, result
+% SimpleSample.BibTex.txt -- required BibTeX data
+% ECCV06Sample.pdf -- more realistic example (only pdf)
+% README -- this file
+%
+% License:
+%
+% LaTeX Project Public License (LPPL)
+%
+% Author and copyright:
+%
+% (c) 2006 by Matthias Mühlich (matthias.muehlich@lfb.rwth-aachen.de)
+% Feedback and/or bug reports are appreciated.
+%
diff --git a/macros/latex/contrib/coverpage/SimpleSample.BibTeX.txt b/macros/latex/contrib/coverpage/SimpleSample.BibTeX.txt
new file mode 100644
index 0000000000..030f158745
--- /dev/null
+++ b/macros/latex/contrib/coverpage/SimpleSample.BibTeX.txt
@@ -0,0 +1,7 @@
+@article{MyBibTeXKeyword,
+ author = {I. M. Author and Al So-Un Known},
+ title = {Some Waste of Paper},
+ journal = {International Journal on Irreality},
+ pages = {123--132},
+ year = {2006},
+}
diff --git a/macros/latex/contrib/coverpage/SimpleSample.pdf b/macros/latex/contrib/coverpage/SimpleSample.pdf
new file mode 100644
index 0000000000..c0dc98e53d
--- /dev/null
+++ b/macros/latex/contrib/coverpage/SimpleSample.pdf
Binary files differ
diff --git a/macros/latex/contrib/coverpage/SimpleSample.tex b/macros/latex/contrib/coverpage/SimpleSample.tex
new file mode 100644
index 0000000000..fab6a04faa
--- /dev/null
+++ b/macros/latex/contrib/coverpage/SimpleSample.tex
@@ -0,0 +1,48 @@
+\documentclass[a4paper]{article}
+
+
+%-----------------------------------------------------------------------
+% inclusion of this line creates extra title page with copyright notice
+% NOTE: you need an appropriate \jobname.BibTeX.txt file
+\usepackage{CoverPage}
+%-----------------------------------------------------------------------
+
+
+%-----------------------------------------------------------------------
+% after parsing the BibTeX data and reading the "CoverPage.cfg"
+% config file, you can manually setup the cover main in your main
+% document:
+%\CoverPageSetup{title=A,author=B,institute=C,insource=D,copyright=E}
+% this line would create an automatic IEEE copyright notice
+%\CoverPageSetup{year=2000,publisher=IEEE}
+% and settings like this set the source; booktitle would also work
+%\CoverPageSetup{journal=Brztlbrnft Journal}
+% Of course, all necessary keys can be combined in a single
+% \CoverPageSetup command.
+%-----------------------------------------------------------------------
+
+
+\begin{document}
+
+\title{Some Waste of Paper}
+\author{I. M. Author and Al So-Un Known}
+\maketitle
+
+\begin{abstract}
+This is my fantastic abstract.
+This is my fantastic abstract.
+This is my fantastic abstract.
+This is my fantastic abstract.
+This is my fantastic abstract.
+This is my fantastic abstract.
+\end{abstract}
+
+\section{This is only a demonstration!}
+Place the contents here.
+Place the contents here.
+Place the contents here.
+Place the contents here.
+Place the contents here.
+Place the contents here.
+
+\end{document}