summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/confproc/confproc.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/confproc/confproc.cls')
-rw-r--r--Master/texmf-dist/tex/latex/confproc/confproc.cls1307
1 files changed, 909 insertions, 398 deletions
diff --git a/Master/texmf-dist/tex/latex/confproc/confproc.cls b/Master/texmf-dist/tex/latex/confproc/confproc.cls
index 638692b6b3a..7997d269916 100644
--- a/Master/texmf-dist/tex/latex/confproc/confproc.cls
+++ b/Master/texmf-dist/tex/latex/confproc/confproc.cls
@@ -1,131 +1,382 @@
\NeedsTeXFormat{LaTeX2e}[1994/12/01]%
\ProvidesClass{confproc}
- [2007/10/17 v0.4f: Conference Proceedings class (VV)]
-\LoadClass{book}
-\DeclareOption{a4paper}
- {\setlength\paperheight {297mm}%
- \setlength\paperwidth {210mm}%
- \setlength\oddsidemargin {-4.95truemm}%
- \setlength\evensidemargin {-10.95truemm}%
- \def\shiftsafourpaper{}}
-\DeclareOption{letterpaper}
- {\setlength\paperheight {11in}%
+ [2010/08/05 v0.7: Conference Proceedings class (VV)]
+\RequirePackage{kvoptions}
+\RequirePackage{kvoptions-patch}
+\RequirePackage{xifthen}
+\SetupKeyvalOptions{family=confproc,prefix=confproc@}
+\newcommand*{\confproc}[1]{\setkeys{confproc}{#1}}
+\DeclareStringOption{compil}{\PackageWarning{confproc}{Option %
+ "compil=bib*" ignored since v0.5; use "bib=*" instead of "compil=bib*"}}
+\DeclareVoidOption{draft}{\PackageWarning{confproc}{Option "draft" %
+ ignored since v0.5; use "papers=draft" instead}}
+\DeclareVoidOption{final}{\PackageWarning{confproc}{Option "final" %
+ ignored since v0.5; use "papers=final" instead}}
+\DeclareVoidOption{tocnumleft}{\PackageWarning{confproc}{Option %
+ "tocnumleft" ignored since v0.5; use "tocnum=left" instead}}
+\DeclareVoidOption{tocnumright}{\PackageWarning{confproc}{Option %
+ "tocnumright" ignored since v0.5; use "tocnum=right" instead}}
+\DeclareVoidOption{cleardoublepage}{\PackageWarning{confproc}{Option %
+ "cleardoublepage" ignored since v0.5; use "twosidepapers" instead}}
+\DeclareVoidOption{clearsinglepage}{\PackageWarning{confproc}{Option %
+ "clearsinglepage" ignored since v0.5; use "onesidepapers" instead}}
+\DeclareVoidOption{10pt}{%
+ \expandafter\PassOptionsToPackage
+ \expandafter{\CurrentOption}{book}}
+\DeclareVoidOption{11pt}{%
+ \expandafter\PassOptionsToPackage
+ \expandafter{\CurrentOption}{book}}
+\DeclareVoidOption{12pt}{%
+ \expandafter\PassOptionsToPackage
+ \expandafter{\CurrentOption}{book}}
+\newif\if@proc@letterpaper
+\DeclareVoidOption{letterpaper}{%
+ \@proc@letterpapertrue
+ \setlength\paperheight {11in}%
\setlength\paperwidth {8.5in}%
\setlength\oddsidemargin {-4.95truemm}%
\setlength\evensidemargin {-4.95truemm}%
- \def\shiftsletterpaper{}}
-\PassOptionsToPackage{a4paper,letterpaper}{book}
-\PassOptionsToPackage{a4paper,letterpaper}{hyperref}
-\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
-\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
-\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
-\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse%
- \def\conf@WithClearsinglepage{}}
-\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue%
- \def\conf@WithCleardoublepage{}}
-\DeclareOption{onesidepapers}{%
- \def\conf@WithClearsinglepagePapers{}}
-\DeclareOption{twosidepapers}{%
- \def\conf@WithCleardoublepagePapers{}}
-\DeclareOption{compil=bibmerge}
- {\typeout{confproc: LaTeX run-> bib. items only (merging process)}%
- \def\conf@BibMerge{}}
-\DeclareOption{compil=bibbackref}
- {\typeout{confproc: LaTeX run-> generating biblio back references}%
- \def\conf@BibBackRef{}}
-\DeclareOption{compil=last}
- {\typeout{!!! confproc: LaTeX run-> LAST !!!}%
- \def\conf@FinalVersion{}}
-\DeclareOption{draft}
- {\typeout{confproc: not including PDF files}%
- \PassOptionsToPackage{draft}{pdfpages}%
- \def\conf@DoNotIncludePDFs{}}
-\DeclareOption{final}
- {\typeout{confproc: including PDF files}%
- \PassOptionsToPackage{final}{pdfpages}%
- \def\conf@IncludePDFs{}}
-\DeclareOption{electronic}%
- {\typeout{confproc: adding colors for hyperlinks}%
+ \def\shiftsletterpaper{}%
+ \PassOptionsToClass{\CurrentOption}{book}%
+ \PassOptionsToPackage{\CurrentOption}{hyperref}}
+\DeclareVoidOption{a4paper}{%
+ \@proc@letterpaperfalse
+ \setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}%
+ \setlength\oddsidemargin {-4.95truemm}%
+ \setlength\evensidemargin {-10.95truemm}%
+ \def\shiftsafourpaper{}%
+ \PassOptionsToClass{\CurrentOption}{book}%
+ \PassOptionsToPackage{\CurrentOption}{hyperref}}
+\DeclareVoidOption{oneside}{\@twosidefalse \@mparswitchfalse%
+ \PassOptionsToPackage{\CurrentOption}{book}}
+\DeclareVoidOption{twoside}{\@twosidetrue \@mparswitchtrue%
+ \PassOptionsToPackage{\CurrentOption}{book}}
+\DeclareBoolOption[true]{twosidepapers}
+\DeclareComplementaryOption{onesidepapers}{twosidepapers}
+\DeclareStringOption[final]{papers}
+\DeclareBoolOption[true]{electronic}
+\DeclareComplementaryOption{printed}{electronic}
+\DeclareStringOption[0mm]{binding}
+\DeclareStringOption[allpages]{headers}
+\DeclareStringOption[none]{bib}
+\DeclareStringOption[all]{paperselec}
+\DeclareBoolOption[false]{twocoltoc}
+\DeclareComplementaryOption{onecoltoc}{twocoltoc}
+\DeclareStringOption[left]{tocnum}
+\DeclareBoolOption[true]{twocolbib}
+\DeclareComplementaryOption{onecolbib}{twocolbib}
+\DeclareBoolOption[true]{twocolindex}
+\DeclareComplementaryOption{threecolindex}{twocolindex}
+\DeclareBoolOption[false]{checktitle}
+\DeclareBoolOption[false]{checkauthor}
+\DeclareStringOption[black]{colorheaders}
+\DeclareBoolOption[false]{showmarginlines}
+\DeclareBoolOption[false]{showpapernumber}
+\DeclareBoolOption[false]{movepagenumber}
+\DeclareBoolOption[false]{debug}
+\DeclareBoolOption[false]{verbose}
+\DeclareBoolOption[false]{pdftk}
+\DeclareStringOption[.]{pdftkfolder}
+\DeclareStringOption[Conference]{pdftksubject}
+\DeclareStringOption[pdftk 1.12 + Ghostscript 8.71]{pdftkproducer}
+\DeclareStringOption[LaTeX2e + confproc 0.7]{pdftkcreator}
+\DeclareStringOption{hyperref}[]
+\DeclareStringOption{geometry}[]
+\DeclareStringOption{afterhyperref}[]
+\DeclareStringOption{beforehyperref}[]
+\DeclareDefaultOption{\PackageWarning{confproc}{Unknown %
+ option `\CurrentOption'; passed to 'hyperref'}%
+ \PassOptionsToClass{\CurrentOption}{hyperref}}
+\ExecuteOptions{letterpaper,10pt,twoside,twosidepapers,%
+ electronic,binding=0mm,papers=final,paperselec=all,headers=allpages,%
+ onecoltoc,tocnum=left,threecolindex,twocolbib,bib=none,%
+ checktitle=false,checkauthor=false,showmarginlines=false,%
+ showpapernumber=false,movepagenumber=false,colorheaders=black,%
+ verbose=false,debug=false,pdftk=false,%
+ hyperref={colorlinks=true,linkcolor=red,citecolor=blue,urlcolor=blue,%
+ bookmarksopen=true,bookmarksopenlevel=1}%
+ geometry={text={6.9in,9in},%
+ inner=0.8in,top=1in,bottom=1in,%
+ headsep=7.05mm,footskip=10mm,voffset=-5mm}}
+\ProcessKeyvalOptions*
+\ifconfproc@electronic%
\PassOptionsToPackage{colorlinks=true}{hyperref}%
- \def\conf@procWithColors{}}
-\DeclareOption{printed}%
- {\typeout{confproc: hyperref with no color for hyperlinks}
+ \PackageInfo{confproc}{use color links with hyperref}%
+\else
\PassOptionsToPackage{colorlinks=false}{hyperref}%
- \def\conf@procWithoutColors{}}
-\DeclareOption{headers=no}%
- {\typeout{confproc: no fancy headers}%
- \def\conf@NoFancyHeaders{}}
-\DeclareOption{headers=pdfonly}%
- {\typeout{confproc: fancy headers on inserted PDFs only}%
- \def\conf@FancyHeadersOnPapers{}}
-\DeclareOption{headers=exceptpdf}%
- {\typeout{confproc: fancy headers for all pages except PDFs}%
- \def\conf@FancyHeadersExceptPapers{}}
-\DeclareOption{headers=allpages}%
- {\typeout{confproc: fancy headers on all pages, PDFs included}%
- \def\conf@FancyHeadersOnPapers{}%
- \def\conf@FancyHeadersExceptPapers{}}
-\DeclareOption{twocolindex}
- {\typeout{confproc: 2 columns index}%
- \def\conf@TwoColumnIndex{}}
-\DeclareOption{threecolindex}
- {\typeout{confproc: 3 columns index}%
- \def\conf@ThreeColumnIndex{}}
-\DeclareOption{twocolbib}
- {\typeout{confproc: 2 columns biblio}%
- \def\conf@TwoColumnBib{}}
-\DeclareOption{onecolbib}
- {\typeout{confproc: 1 column biblio}%
- \def\conf@OneColumnBib{}}
-\DeclareOption{twocoltoc}
- {\typeout{confproc: 2 columns TOC}%
- \def\conf@TwoColumnTOC{}}
-\DeclareOption{onecoltoc}
- {\typeout{confproc: 1 column TOC}%
- \def\conf@OneColumnTOC{}}
-\DeclareOption{tocnumleft}
- {\typeout{confproc: TOC numbering on left}%
- \def\conf@TocNumberingLeft{}}
-\DeclareOption{tocnumright}
- {\typeout{Confproc: TOC numbering on right}%
- \def\conf@TocNumberingRight{}}
-\DeclareOption{movepagenumbers}
- {\typeout{confproc: moving page numbers to check PDFs numbering}%
- \def \conf@TestPageNumbering{}}
-\DeclareOption{cleardoublepage}%
- {\typeout{confproc: using double page clearing}%
- \def\conf@WithCleardoublepage{}}
-\DeclareOption{clearsinglepage}%
- {\typeout{confproc: using double page clearing}%
- \def\conf@WithClearsinglepage{}}
-\DeclareOption{debug}
- {\typeout{Confproc: printing debug for confproc, hyperref}%
- \PassOptionsToPackage{debug}{hyperref}%
- \def\conf@procWithDebug{}}
-\DeclareOption{verbose}
- {\typeout{Confproc: printing debug for confproc, hyperref}%
- \PassOptionsToPackage{debug}{hyperref}%
- \def\conf@procWithDebug{}}
-\DeclareOption*{\PackageWarning{procconf}%
- {Unknown option `\CurrentOption'; passed to 'hyperref'}%
- \PassOptionsToClass{\CurrentOption}{hyperref}}
-\ExecuteOptions{letterpaper,10pt,twoside,%
- twosidepapers,electronic,headers=no,compil=bibbackref,%
- tocnumleft,onecoltoc,threecolindex,twocolbib,%
- colorlinks=true,linkcolor=red,citecolor=blue,pagecolor=red,urlcolor=blue,%
- bookmarksopen=true,bookmarksopenlevel=1}
-\ProcessOptions
+ \PackageInfo{confproc}{does not use color links with hyperref}%
+\fi
+
+\newlength{\proc@binding}
+\ifthenelse%
+ {\equal{\confproc@binding}{}}
+ {\setlength{\proc@binding}{0mm}
+ \PackageInfo{confproc}{setting binding to default (0mm)}}
+ {\setlength{\proc@binding}{\confproc@binding}
+ \PackageInfo{confproc}{setting binding to \confproc@binding}}
+
+\newif\if@proc@IncludePDFs
+\newif\if@proc@ReplacePDFs
+\newif\if@proc@IncludeFullPDFs
+\newwrite\npagesfile
+\ifthenelse%
+ {\equal{\confproc@papers}{empty}}%
+ {\PackageInfo{confproc}{replacing PDF files by information pages}%
+ \@proc@ReplacePDFstrue
+ \@proc@IncludeFullPDFsfalse
+ \@proc@IncludePDFsfalse
+ \immediate\openout\npagesfile=\jobname.nps}
+ {\ifthenelse%
+ {\equal{\confproc@papers}{draft}}%
+ {\PackageInfo{confproc}{not including PDF files with 'pdfpages'}%
+ \PassOptionsToPackage{draft}{pdfpages}%
+ \@proc@ReplacePDFsfalse
+ \@proc@IncludeFullPDFsfalse
+ \@proc@IncludePDFsfalse
+ \immediate\openout\npagesfile=\jobname.nps}
+ {\ifthenelse%
+ {\equal{\confproc@papers}{final}}
+ {\PackageInfo{confproc}{including PDF files with 'pdfpages'}%
+ \PassOptionsToPackage{final}{pdfpages}%
+ \@proc@ReplacePDFsfalse
+ \@proc@IncludeFullPDFsfalse
+ \@proc@IncludePDFstrue
+ \immediate\openout\npagesfile=\jobname.nps}
+ {\ifthenelse%
+ {\equal{\confproc@papers}{countpages}}
+ {\PackageInfo{confproc}{counting each paper's number of %
+ pages by including all its pages}
+ \@proc@ReplacePDFsfalse
+ \@proc@IncludeFullPDFstrue
+ \@proc@IncludePDFsfalse
+ \immediate\openout\npagesfile=\jobname.npc}
+ {\PackageWarning{confproc}{unknown option %
+ `papers=\confproc@papers' ; using `papers=final'}%
+ \@proc@ReplacePDFsfalse{}
+ \@proc@IncludeFullPDFsfalse
+ \@proc@IncludePDFstrue
+ \immediate\openout\npagesfile=\jobname.nps}
+ }
+ }
+ }
+
+\newif\if@proc@FancyHeadersOnPapers
+\newif\if@proc@FancyHeadersExceptPapers
+\ifthenelse%
+ {\equal{\confproc@headers}{none}}
+ {\PackageInfo{confproc}{no headers}%
+ \@proc@FancyHeadersOnPapersfalse
+ \@proc@FancyHeadersExceptPapersfalse}
+ {\ifthenelse%
+ {\equal{\confproc@headers}{pdfonly}}
+ {\PackageInfo{confproc}{headers on inserted PDFs only}%
+ \@proc@FancyHeadersOnPaperstrue
+ \@proc@FancyHeadersExceptPapersfalse}
+ {\ifthenelse%
+ {\equal{\confproc@headers}{exceptpdf}}
+ {\PackageInfo{confproc}{headers for all pages except PDFs}%
+ \@proc@FancyHeadersOnPapersfalse
+ \@proc@FancyHeadersExceptPaperstrue}
+ {\ifthenelse%
+ {\equal{\confproc@headers}{allpages}}
+ {\PackageInfo{confproc}{headers on all pages, PDFs included}%
+ \@proc@FancyHeadersOnPaperstrue
+ \@proc@FancyHeadersExceptPaperstrue}
+ {\PackageWarning{confproc}{unknown %
+ 'headers=\confproc@headers' option (using 'headers=allpages')}}
+ }
+ }
+ }
+
+\newif\if@proc@BibNone
+\newif\if@proc@BibRemoveCiteHdr
+\ifthenelse%
+ {\equal{\confproc@bib}{merge}}%
+ {\PackageInfo{confproc}{bib: display 1st+last page of each paper}%
+ \@proc@BibNonefalse%
+ \def\conf@BibMerge{}%
+ \@proc@BibRemoveCiteHdrfalse}%
+ {\ifthenelse%
+ {\equal{\confproc@bib}{backref}}%
+ {\PackageInfo{confproc}{bib: displays back references}%
+ \@proc@BibNonefalse%
+ \def\conf@BibBackRef{}%
+ \@proc@BibRemoveCiteHdrfalse}%
+ {\ifthenelse%
+ {\equal{\confproc@bib}{final}}%
+ {\PackageInfo{confproc}{bib: hide bib items using `nocite'}%
+ \@proc@BibNonefalse%
+ \@proc@BibRemoveCiteHdrtrue}%
+ {\PackageInfo{confproc}{bibliography: none}%
+ \@proc@BibNonetrue}%
+ }%
+ }
+\if@proc@BibRemoveCiteHdr
+ \newcommand{\confcite}[1]{\nocite{#1}}
+ \PackageInfo{confproc}{removing citations (with nocite{*}): %
+ next run should be the last (will loose hyperlinks)}
+\else \newcommand{\confcite}[1]{\cite{#1}}
+\fi
+\newif\if@proc@TocNumberingRight
+\ifthenelse%
+ {\equal{\confproc@tocnum}{left}}%
+ {\PackageInfo{confproc}{TOC numbering on left}%
+ \@proc@TocNumberingRightfalse}
+ {\ifthenelse%
+ {\equal{\confproc@tocnum}{right}}%
+ {\PackageInfo{confproc}{TOC numbering on right}%
+ \@proc@TocNumberingRighttrue}
+ {\PackageWarning{confproc}{unknown tocnum=\confproc@tocnum %
+ (using 'right' instead)}%
+ \@proc@TocNumberingRighttrue}
+ }
+
+\ifconfproc@checkauthor
+ \PackageInfo{confproc}{add 'author list' field on the paper's 1st page}%
+\else \PackageInfo{confproc}{do not add author list}%
+\fi
+\ifconfproc@checktitle
+ \PackageInfo{confproc}{add title field on the paper's 1st page}%
+\else \PackageInfo{confproc}{do not add title}%
+\fi
+\ifconfproc@showmarginlines
+ \PackageInfo{confproc}{show margin lines to check template-complience}%
+\else \PackageInfo{confproc}{do not show margin lines}%
+\fi
+\ifconfproc@showpapernumber
+ \PackageInfo{confproc}{add paper number below page number}%
+\else \PackageInfo{confproc}{do not add paper number below page number}%
+\fi
+
+\ifconfproc@twosidepapers
+ \PackageInfo{confproc}{papers opening on right (odd) side}
+\else
+ \PackageInfo{confproc}{papers opening on any side}
+\fi
+
+\newif\if@proc@verbose
+\@proc@verbosefalse
+\ifconfproc@verbose
+ \@proc@verbosetrue
+ \PackageInfo{confproc}{verbose mode turned on}
+\else \PackageInfo{confproc}{verbose mode turned off}
+\fi
+\ifconfproc@debug
+ \@proc@verbosefalse
+ \PackageInfo{confproc}{verbose mode turned off and debug turned on}
+ \PassOptionsToPackage{debug}{hyperref}
+\else \PackageInfo{confproc}{debug mode turned on}
+\fi
+\PassOptionsToPackage{\confproc@hyperref}{hyperref}
+\PassOptionsToPackage{\confproc@geometry}{geometry}
+\ifconfproc@verbose
+ \typeout{________________}
+ \if@proc@letterpaper
+ \typeout{| | Document formatting:}
+ \typeout{| | ____ letterpaper}
+ \else
+ \typeout{| | Document formatting:}
+ \typeout{| | ____ a4paper}
+ \fi
+ \iffalse\@twoside \typeout{| | ____ twoside=false (=oneside)}
+ \else \typeout{| | ____ twoside=true}
+ \fi
+ \ifconfproc@twosidepapers \typeout{| | ____ twosidepapers=true}
+ \else \typeout{| | twosidepapers=false (=onesidepaper)}
+ \fi
+ \typeout{| | Proceedings-specific formatting:}
+ \ifconfproc@electronic \typeout{| | ____ electronic=true (file version)}
+ \else \typeout{| | ____ electronic=false (printed)}
+ \fi
+ \typeout{| | ____ binding=\confproc@binding (for printed version)}
+ \typeout{| | ____ papers=\confproc@papers (paper insertion)}
+ \typeout{| | ____ headers=\confproc@headers (header add to pages)}
+
+ \typeout{| | List of papers:}
+ \typeout{| | ____ paperselec=\confproc@paperselec}
+
+ \typeout{| | Lists (toc, bib, index):}
+ \ifconfproc@twocoltoc \typeout{| | ____ twocoltoc=true}
+ \else \typeout{| | ____ twocoltoc=false (=onecoltoc)}
+ \fi
+ \ifthenelse{\equal{\confproc@tocnum}{left}}%
+ {\typeout{| | ____ tocnum=left}}
+ {\typeout{| | ____ tocnum=right}}
+ \ifconfproc@twocolbib \typeout{| | ____ twocolbib=true}
+ \else \typeout{| | ____ twocolbib=false (=onecolbib)}
+ \fi
+ \typeout{| | ____ bib=\confproc@bib}
+ \ifconfproc@twocolindex \typeout{| | ____ twocolindex=true}
+ \else \typeout{| | ____ twocolindex=false (=threecolindex)}
+ \fi
+
+ \typeout{| | Help for layout design:}
+ \ifconfproc@checkauthor
+ \typeout{| | ____ checkauthor=true (add author list to 1st page)}
+ \else
+ \typeout{| | ____ checkauthor=false (do not add author list to 1st page)}
+ \fi
+ \ifconfproc@checktitle
+ \typeout{| | ____ checktitle=true (add title to 1st page)}
+ \else
+ \typeout{| | ____ checktitle=false (do not add title to 1st page)}
+ \fi
+
+ \ifconfproc@showpapernumber
+ \typeout{| | ____ showpapernumber=true (add paper number)}
+ \else
+ \typeout{| | ____ showpapernumber=false (do not add paper number)}
+ \fi
+ \ifconfproc@movepagenumber
+ \typeout{| | ____ movepagenumber=true (move paper number for checking)}
+ \else
+ \typeout{| | ____ movepagenumber=false (do not move paper number)}
+ \fi
+ \ifconfproc@showmarginlines
+ \typeout{| | ____ showmarginlines=true (add template format)}
+ \else
+ \typeout{| | ____ showmarginlines=false (do not add template format)}
+ \fi
+ \typeout{| | ____ colorheaders=\confproc@colorheaders (color for header/footer)}
+
+ \typeout{| | Verbose:}
+ \ifconfproc@debug \typeout{| | ____ debug=true (for hyperref)}
+ \else \typeout{| | ____ debug=false (for hyperref)}
+ \fi
+ \ifconfproc@verbose \typeout{| | ____ verbose=true (for confproc+hyperref)}
+ \else \typeout{| | ____ verbose=false (for confproc+hyperref)}
+ \fi
+ \ifconfproc@pdftk
+ \typeout{| | ____ pdftk=true (for use with pdftk to add PDF metadata)}
+ \typeout{| | ____ pdftkfolder=\confproc@pdftkfolder (folder where .pdftk files are saved)}
+ \typeout{| | ____ pdftksubject=\confproc@pdftksubject (subject for individual PDF metadata)}
+ \typeout{| | ____ pdftkproducer=\confproc@pdftkproducer (producer for individual PDF metadata)}
+ \typeout{| | ____ pdftkcreator=\confproc@pdftkcreator (creator for individual PDF metadata)}
+ \else \typeout{| | ____ pdftk=false (for use with pdftk to add PDF metadata)}
+ \fi
+ \typeout{| | passed to hyperref: \confproc@hyperref}
+ \typeout{| | passed to geometry: \confproc@geometry}
+ \typeout{________________}
+ \typeout{ }
+\fi
+\ifconfproc@pdftk
+ \newwrite\pdftkinfoall
+ \immediate\openout\pdftkinfoall=\jobname.pdftk
+ \newwrite\pdftkinfofile
+\fi
+\LoadClass[10pt,letterpaper]{book}
\RequirePackage{graphicx}
\RequirePackage{pdfpages}
\RequirePackage{fancyhdr}
\RequirePackage[nottoc,notbib,notindex]{tocbibind}
-\RequirePackage{titletoc}
-\ifdefined\conf@TwoColumnTOC
+\RequirePackage[rightlabels]{titletoc}
+\ifconfproc@twocoltoc
\RequirePackage[toc]{multitoc}
\fi
\RequirePackage{index}
\RequirePackage{multicol}
-\ifdefined\conf@TwoColumnIndex
+\ifconfproc@twocolindex
\renewenvironment{theindex}{%
\if@twocolumn \@restonecolfalse
\else \@restonecoltrue \fi
@@ -145,7 +396,6 @@
\if@restonecol \onecolumn
\else \clearpage \fi}
\else
- \ifdefined\conf@ThreeColumnIndex%
\renewenvironment{theindex}{%
\if@twocolumn \@restonecolfalse
\else \@restonecoltrue \fi
@@ -164,10 +414,8 @@
}{\end{multicols}%
\if@restonecol \onecolumn
\else \clearpage \fi }
- \fi
\fi
\RequirePackage{sectsty}
-\newcommand{\confcite}[1]{\cite{#1}}
\RequirePackage{newapave}
\RequirePackage{color}
\definecolor{colorforlink}{rgb}{0,0,0.5}
@@ -177,334 +425,255 @@
\RequirePackage[pdftex,raiselinks,hyperindex,backref,pagebackref,%
plainpages=false,pdfpagelabels,breaklinks,linktocpage,%
pdfstartview=XYZ]{hyperref}
-\RequirePackage[figure,table]{hypcap}
-\newcommand{\procpdfauthor}{Proceedings author/editor}
-\newcommand{\procpdftitle}{Proceedings title}
-\newcommand{\procpdfsubject}{Proceedings description}
+%%\RequirePackage[figure,table]{hypcap}
+\RequirePackage{bookmark}
+\newcommand{\procpdfauthor}{[Proceedings author/editor]}
+\newcommand{\procpdftitle}{[Proceedings title]}
+\newcommand{\procpdfsubject}{[Proceedings short title] %
+ ([Proceedings Acronym]), [City], [Country], [Dates]}
\AtBeginDocument{
\hypersetup{
pdfauthor = \procpdfauthor,
pdftitle = \procpdftitle,
pdfsubject = \procpdfsubject,
pdfkeywords = {},
- pdfcreator = {LaTeX with `confproc' package},
+ pdfcreator = {LaTeX + confproc v0.7},
pdfproducer = {pdfLaTeX}}}
-\topmargin 0truept
-\headheight 12truept
-\footskip 14mm
-\textheight 229truemm
-\textwidth 175truemm
-\voffset -28truept
-\headsep 20truept
+\iffalse\@twoside
+ \usepackage[bindingoffset=\proc@binding]{geometry}
+\else%
+ \usepackage[twoside,bindingoffset=\proc@binding]{geometry}
+\fi
\renewcommand{\contentsname}{Conference Program}
\renewcommand{\bibname}{Full Bibliography}
\renewcommand{\indexname}{Index of Authors}
-\newcommand{\proclhead}{\em \small Proceedings of the blah blah blah}
-\newcommand{\proccfoot}{\small Proc-\thepage}
+\newcommand{\proclhead}{}
+\newcommand{\procchead}{{\color{red}Proceedings of the... \hfill %
+ 01--29 February, 2001}}
+\newcommand{\procrhead}{}
+\newcommand{\proclfoot}{}
+\newcommand{\proccfoot}{{\small \color{red} Proc-\thepage}}
+\newcommand{\procrfoot}{}
\pagestyle{fancyplain}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{-5mm}
-\lhead{\proclhead}
-\rhead{}
+\newlength{\procfootvskip}
+\setlength{\procfootvskip}{0cm}
+\newlength{\procoptfootvskip}
+\ifconfproc@movepagenumber \setlength{\procoptfootvskip}{3mm}%
+\else \setlength{\procoptfootvskip}{0mm} \fi
+\lhead{\color{\confproc@colorheaders}\proclhead}
+\chead{\color{\confproc@colorheaders}\procchead}
+\rhead{\color{\confproc@colorheaders}\procrhead}
\lfoot{}
\rfoot{}
-\cfoot{\proccfoot}{}
+\cfoot{\color{\confproc@colorheaders}\vskip\procfootvskip%
+ \vskip\procoptfootvskip\proccfoot}%
\ifdefined \conf@FancyHeadersExceptPapers
\pagestyle{fancy}
\else
\pagestyle{empty}
\fi
-\newlength{\procoptfootskip}
-\ifdefined\conf@TestPageNumbering%
- \setlength{\procoptfootskip}{3mm}%
- \cfoot{\vskip \procoptfootskip \proccfoot}%
-\else%
- \setlength{\procoptfootskip}{0mm}%
-\fi
-\ifdefined\conf@TocNumberingRight
- \titlecontents{section}[2.5em]% left margin
- {\vspace*{0.3em}}% space between two papers in the TOC
- {}{}{\contentsmargin{0pt} \hfill \contentspage}% filler and page
+\if@proc@TocNumberingRight
+ \titlecontents{section}[0em]% left margin
+ {\vspace*{0.5mm}}% space between two papers in the TOC
+ {}%
+ {}%
+ {\hfill \hspace*{-2.5em}\makebox[0pt][r]{\contentspage}\hspace*{2.5em}}% filler and page
+ [\addvspace{0.5mm}]% space after
\else%
- \dottedcontents{section}[]{\fillright}{}{1pc}
\titlecontents{section}[2.5em]%
- {\vspace*{0.3em}}%
- {\hspace*{-2.5em}\contentspage\hspace*{2.5em}}% left shifting page num.
- {\hspace*{-2.5em}\contentspage\hspace*{2.5em}}% idem
+ {\vspace*{0.5mm}}%
+ {\hspace*{-2.5em}\makebox[0pt][r]{\contentspage}\hspace*{2.5em}}% left shifting page num.
+ {\hspace*{-2.5em}\makebox[0pt][r]{\contentspage}\hspace*{2.5em}}% idem
{}% filler and page
+ [\addvspace{0.5mm}]% space after
\fi
-\newcommand{\tocmattertocstyle}{
- \titlecontents{part}[-1em]{\addvspace{1pc}}%
- {\contentspage\hspace*{3.2em}\contentsmargin{0pt}%
- \makebox[0pt][r]{\huge\thecontentslabel\enspace}\large}%
- {\contentspage\hspace*{3.2em}\contentsmargin{0pt}\large}%
- {}[\addvspace{.5pc}]
- \titlecontents{chapter}[-1em]{\addvspace{1pc}}%
- {\contentspage\hspace*{3.2em}\contentsmargin{0pt}%
- \makebox[0pt][r]{\huge\thecontentslabel\enspace}\large}%
- {\contentspage\hspace*{3.2em}\contentsmargin{0pt}\large}%
- {}[\addvspace{.5pc}]
-}
-\ifdefined\conf@TocNumberingRight
+\if@proc@TocNumberingRight
+ \newcommand{\frontmattertocstyle}{
+ \titlecontents{part}[0em]%
+ {\addvspace{3mm}}%
+ {\Large\bfseries}%
+ {\Large\bfseries}%
+ {}%
+ [\addvspace{0.5mm}]
+ \titlecontents{chapter}[0em]%
+ {\addvspace{2mm}}%
+ {\large\bfseries\itshape}%
+ {\large\bfseries\itshape}%
+ {}%
+ [\addvspace{0.5mm}]
+ }
+\else
+ \newcommand{\frontmattertocstyle}{
+ \titlecontents{part}[0em]%
+ {\addvspace{3mm}}%
+ {\Large\bfseries}%
+ {\Large\bfseries}%
+ {}%
+ [\addvspace{0.5mm}]
+ \titlecontents{chapter}[0em]%
+ {\addvspace{2mm}}%
+ {\large\bfseries\itshape}%
+ {\large\bfseries\itshape}%
+ {}%
+ [\addvspace{0.5mm}]
+ }
+\fi
+\if@proc@TocNumberingRight
\newcommand{\mainmattertocstyle}{
+ \titlecontents{part}[0pt]%
+ {\addvspace{3mm}}%
+ {\Large\bfseries}%
+ {\Large\bfseries}%
+ {}%
+ [\addvspace{0.5mm}]
\titlecontents{chapter}[0pt]%
- {\addvspace{1pc}\bfseries\itshape}%
- {\contentsmargin{0pt}\bfseries%
- \makebox[0pt][r]{\huge\thecontentslabel\enspace}\large}%
- {\contentsmargin{0pt}\large}{}[\addvspace{.5pc}]%
+ {\addvspace{2mm}}%
+ {\large\bfseries\itshape}%
+ {\large\bfseries\itshape}%
+ {}%
+ [\addvspace{0.5mm}]
+ }
+\else % left TOC page numbers
+ \newcommand{\mainmattertocstyle}{
\titlecontents{part}[0pt]%
- {\addvspace{1pc}\bfseries}%
- {\contentsmargin{0pt}\bfseries%
- \makebox[0pt][r]{\huge\thecontentslabel\enspace}\large}%
- {\contentsmargin{0pt}\large}{}[\addvspace{.5pc}]%
-\else
- \ifdefined\conf@TocNumberingLeft% default
- \newcommand{\mainmattertocstyle}{
- \titlecontents{section}[2.5em]%
- {\vspace*{0.3em}}%
- {\hspace*{-2.5em}\contentspage\hspace*{2.5em}}%
- {\hspace*{-2.5em}\contentspage\hspace*{2.5em}}%
- {}%
- \titlecontents{chapter}[0pt]%
- {\addvspace{1pc}\bfseries\itshape}%
- {\contentsmargin{0pt}\bfseries %
- \makebox[0pt][r]{\huge\thecontentslabel\enspace}\large}%
- {\contentsmargin{0pt}\large}{}[\addvspace{.5pc}]%
- \titlecontents{part}[0pt]%
- {\addvspace{1pc}\bfseries}%
- {\contentsmargin{0pt}\bfseries %
- \makebox[0pt][r]{\huge\thecontentslabel\enspace}\large}%
- {\contentsmargin{0pt}\large}{}[\addvspace{.5pc}]%
- }
- \else
- \newcommand\mainmattertocstyle{}
- \fi
+ {\addvspace{3mm}}%
+ {\Large\bfseries}%
+ {\Large\bfseries}%
+ {}%
+ [\addvspace{0.5mm}]
+ \titlecontents{chapter}[0pt]%
+ {\addvspace{2mm}}%
+ {\large\bfseries\itshape}%
+ {\large\bfseries\itshape}%
+ {}%
+ [\addvspace{0.5mm}]
+ }
\fi
+\newcounter{npagespreamble}
\renewcommand\mainmatter{%
- \cleardoublepage
+ \PackageInfo{confproc}{counted \arabic{npagespreamble} pages in the preamble}
+ \cleardoublepage
\@mainmattertrue
- \pagenumbering{arabic}
- \mainmattertocstyle}
-\ifdefined\conf@TocNumberingRight
+ \pagenumbering{arabic}}
+\if@proc@TocNumberingRight
\newcommand{\backmattertocstyle}{
- \titlecontents{section}[]{}{}{}{}[]%
\titlecontents{part}%
- [0pt]{\addvspace{1pc}}{}{}%
- {\contentsmargin{0pt} \large \hfill\contentspage}%
- [\addvspace{.5pc}]%
+ [0pt]%
+ {\addvspace{3mm}}%
+ {\Large\bfseries}%
+ {\Large\bfseries}%
+ {\hfill \hspace*{-2.5em}\contentspage\hspace*{2.5em}}%
+ [\addvspace{0.5mm}]
+ \titlecontents{chapter}%
+ [0pt]%
+ {\addvspace{2mm}}%
+ {\large\bfseries\itshape}%
+ {\large\bfseries\itshape}%
+ {\hfill \hspace*{-2.5em}\contentspage\hspace*{2.5em}}%
+ [\addvspace{0.5mm}]
+ }%
+\else
+ \newcommand{\backmattertocstyle}{%
+ \titlecontents{part}%
+ [0pt]%
+ {\addvspace{3mm}}%
+ {\makebox[0pt][r]{\contentspage}\hspace*{2.5em}\Large\bfseries}%
+ {\makebox[0pt][r]{\contentspage}\hspace*{2.5em}\Large\bfseries}%
+ {}%
+ [\addvspace{0.5mm}]
+ \titlecontents{chapter}%
+ [0pt]%
+ {\addvspace{2mm}}%
+ {\makebox[0pt][r]{\contentspage}\hspace*{2.5em}\large\itshape\bfseries}%
+ {\makebox[0pt][r]{\contentspage}\hspace*{2.5em}\large\itshape\bfseries}%
+ {}%
+ [\addvspace{0.5mm}]
}%
-\else%
- \ifdefined\conf@TocNumberingLeft%
- \newcommand{\backmattertocstyle}{%
- \titlecontents{section}[]{}{}{}{}[]%
- \titlecontents{part}%
- [0pt]%
- {\addvspace{1pc}}%
- {\contentspage\hspace*{2.5em}\contentsmargin{0pt}%
- \bfseries%
- \makebox[0pt][r]{\huge\thecontentslabel\enspace}%
- \large\bfseries}%
- {\contentspage\hspace*{2.5em}\contentsmargin{0pt} \large\bfseries}%
- {}%
- [\addvspace{.5pc}]%
- }%
- \else%
- \newcommand\backmattertocstyle{}%
- \fi%
\fi
\renewcommand\backmatter{%
- \if@openright
- \cleardoublepage
- \else
- \clearpage
- \fi
+ \if@openright \cleardoublepage
+ \else \clearpage \fi
\@mainmatterfalse
- \backmattertocstyle}
-\ifdefined\conf@FancyHeadersExceptPapers
- \newcommand{\otherpagestyle}{\pagestyle{fancy}}
- \newcommand{\thisotherpagestyle}{\thispagestyle{fancy}}
-\else
- \newcommand{\otherpagestyle}{\pagestyle{empty}}
- \newcommand{\thisotherpagestyle}{\thispagestyle{empty}}
-\fi
-\ifdefined\conf@FancyHeadersOnPapers
- \newcommand{\PDFpagestyle}{\thispagestyle{fancy}}
-\else
- \newcommand{\PDFpagestyle}{\thispagestyle{empty}}
-\fi
+ \cfoot{\color{\confproc@colorheaders}\vskip \procfootvskip %
+ \vskip \procoptfootvskip \proccfoot}}
+\newcommand{\otherpagestyle}{
+ \if@proc@FancyHeadersExceptPapers\pagestyle{fancy}
+ \else \pagestyle{empty} \fi}
+\newcommand{\thisotherpagestyle}{
+ \if@proc@FancyHeadersExceptPapers\thispagestyle{fancy}
+ \else \thispagestyle{empty} \fi}
+\newcommand{\PDFpagestyle}{
+ \if@proc@FancyHeadersOnPapers\thispagestyle{fancy}
+ \else\thispagestyle{empty} \fi}
\chapterfont{\thisotherpagestyle}
-\ifdefined\conf@WithCleardoublepage
- \newcommand{\clearsingleordoublepage}{\cleardoublepage}
-\else
- \ifdefined\conf@WithClearsinglepage
- \newcommand{\clearsingleordoublepage}{\clearpage}
- \else
- \newcommand{\clearsingleordoublepage}{\cleardoublepage}
- \fi
-\fi
-\ifdefined\conf@FinalVersion
- \newcommand{\UseBackRef}{}
-\else
- \newcommand{\CreateBackRef}{}
-\fi
-\newlength{\LaTeXxShift}
-\newlength{\LaTeXyShift}
-\newlength{\WordxShift}
-\newlength{\WordyShift}
-\ifdefined\shiftsafourpaper
- \setlength{\LaTeXxShift}{0pt}
- \setlength{\LaTeXyShift}{28pt}
- \setlength{\WordxShift}{10pt}
- \setlength{\WordyShift}{-40pt}
-\else
- \ifdefined\shiftsletterpaper
- \setlength{\LaTeXxShift}{8.45pt}
- \setlength{\LaTeXyShift}{-3pt}
- \setlength{\WordxShift}{10pt}
- \setlength{\WordyShift}{-40pt}
- \fi
-\fi
-\newcommand{\papertitle}{}
-\newcommand{\paperauthors}{}
-\newcommand{\paperindex}{}
-\newcommand{\paperref}{}
-\newcommand{\paperpagenum}{}
-\newcommand{\papercite}{}
+\newcommand{\clearsingleordoublepage}{
+ \iffalse\@twoside \clearpage
+ \else \cleardoublepage \fi}
+\newlength{\LaTeXxShift} \setlength{\LaTeXxShift}{0pt}
+\newlength{\LaTeXyShift} \setlength{\LaTeXyShift}{0pt}
+\newlength{\WordxShift} \setlength{\WordxShift}{0pt}
+\newlength{\WordyShift} \setlength{\WordyShift}{0pt}
+\newcommand{\conf@paper@title}{}
+\newcommand{\conf@paper@authors}{}
+\newcommand{\conf@paper@index}{}
+\newcommand{\conf@paper@ref}{}
+\newcommand{\conf@paper@pagenum}{}
+\newcommand{\conf@paper@cite}{}
\newcommand{\papertitlestyle}{}
\newcommand{\paperauthorstyle}{\texorpdfstring{\newline\itshape}{\break}}
-\newcounter{paperpagenum}
+\newcounter{npages}
\newcommand{\proctoctitleauthor}[2]{%
- \texorpdfstring{{\papertitlestyle#1}{\paperauthorstyle#2}}%
- {{\papertitlestyle#1}}}
-%% \begin{macrocode}
-\newcommand{\procinsertpaper}[9]{
- \setcounter{paperpagenum}{#2}
- #6%
- \ifnum\thepaperpagenum=1
- \ifdefined\conf@procWithDebug\typeout{confproc: 1-page long paper}\fi
- \ifdefined\UseBackRef
- \includepdf[noautoscale,offset= #1,pages=1,%
- linktodoc,linkname=\PAPERPATH #8.pdf,%
- addtotoc={1, section, 1, \proctoctitleauthor{#4}{#5}, #3},%
- pagecommand = {#9\PDFpagestyle}%
- ]{\PAPERPATH #8.pdf}%
- \else
- \includepdf[noautoscale,offset= #1,pages=1,%
- linktodoc,linkname=\PAPERPATH #8.pdf,%
- addtotoc={1, section, 1, \proctoctitleauthor{#4}{#5}, #3},%
- pagecommand = {#9\PDFpagestyle\vspace*{-1cm}\confcite{#7}}%
- ]{\PAPERPATH #8.pdf}%
- \fi
- \else
- \includepdf[noautoscale,offset= #1,pages=1,%
- linktodoc,linkname=\PAPERPATH #8.pdf,%
- addtotoc={1, section, 1, \proctoctitleauthor{#4}{#5}, #3},%
- pagecommand = {#9\PDFpagestyle}%
- ]{\PAPERPATH #8.pdf}%
- \ifdefined\conf@BibMerge%
- \includepdf[noautoscale,offset= #1,pages=\thepaperpagenum,%
- linktodoc,linkname=\PAPERPATH #8.pdf,%
- pagecommand = {\PDFpagestyle\vspace*{-2cm}\confcite{#7}}%
- ]{\PAPERPATH #8.pdf}%
- \PDFpagestyle{}%
- \ifdefined\conf@procWithDebug
- \typeout{confproc: bibliography insertion only}\fi
- \else
- \addtocounter{paperpagenum}{-1}
- \includepdf[noautoscale,offset= #1,pages=2-\thepaperpagenum,%
- linktodoc,linkname=\PAPERPATH #8.pdf,%
- pagecommand = {\PDFpagestyle}%
- ]{\PAPERPATH #8.pdf}%
- \PDFpagestyle{}%
- \addtocounter{paperpagenum}{1}
- \ifdefined\CreateBackRef
- \includepdf[noautoscale,offset= #1,pages=\thepaperpagenum,%
- linktodoc,linkname=\PAPERPATH #8.pdf,%
- pagecommand = {\PDFpagestyle\vspace*{-2cm}\confcite{#7}}%
- ]{\PAPERPATH #8.pdf}%
- \else
- \ifdefined\UseBackRef
- \includepdf[noautoscale,offset= #1,pages=\thepaperpagenum,%
- linktodoc,linkname=\PAPERPATH #8.pdf,%
- pagecommand = {\PDFpagestyle}%
- ]{\PAPERPATH #8.pdf}%
- \fi
- \fi
- \fi
- \ifdefined\conf@procWithDebug
- \typeout{confproc: partial paper insertion (last page=bib items)}\fi
- \fi
- \ifdefined\conf@procWithDebug
- \typeout{---> file: #8.pdf (#2 pages)}
- \typeout{---> title: #4}
- \typeout{---> author(s): #5}
- \typeout{---> index: #6}
- \fi
- \newpage
- \ifdefined\conf@WithClearsinglepagePapers
- \clearpage
- \else
- \ifdefined\conf@WithCleardoublepagePapers
- \cleardoublepage
- \fi
- \fi
-}
+ \texorpdfstring{{\papertitlestyle #1}{\paperauthorstyle #2}}%
+ {{\papertitlestyle #1}}}
\renewcommand\tableofcontents{%
- \tocmattertocstyle
\clearsingleordoublepage
\pdfbookmark[0]{\contentsname}{contents}
- \if@twocolumn
- \@restonecoltrue\onecolumn
- \else
- \@restonecolfalse
- \fi
- \section*{\contentsname
- \@mkboth{%
- \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
- \@starttoc{toc}%
- \if@restonecol\twocolumn\fi
- \clearsingleordoublepage
-}
+ \if@twocolumn \@restonecoltrue\onecolumn
+ \else \@restonecolfalse \fi
+ \section*{\contentsname}%
+ \@starttoc{toc}%
+ \if@restonecol\twocolumn\fi
+ \clearsingleordoublepage}
\newcommand{\procday}[1]{%
- \phantomsection%
- \addcontentsline{toc}{part}{#1}}
+ \phantomsection \addcontentsline{toc}{part}{#1}}
\newcommand{\session}[1]{%
- \phantomsection%
- \addcontentsline{toc}{chapter}{#1}}
+ \phantomsection \addcontentsline{toc}{chapter}{#1}}
\newcommand{\paperswitch}{}
\setlength{\bibhang}{0.5em} %
-\renewenvironment{thebibliography}[1]
- {\ifdefined\conf@TwoColumnBib%
- \twocolumn
- \fi
- \ifdefined\conf@BibMerge%
- \nocite{*}%
- \else%
- \clearsingleordoublepage%
- \fi%
- \section*{\bibname}%
- \addcontentsline{toc}{part}{\bibname}
- \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
- \procbibintro
- \list{\@biblabel{\@arabic\c@enumiv}}%
- {\settowidth\labelwidth{\@biblabel{#1}}%
- \leftmargin\labelwidth
- \advance\leftmargin\labelsep
- \@openbib@code
- \usecounter{enumiv}%
- \let\p@enumiv\@empty
- \renewcommand\theenumiv{\@arabic\c@enumiv}}%
- \sloppy
- \clubpenalty4000
- \@clubpenalty \clubpenalty
- \widowpenalty4000%
- \sfcode`\.\@m}
- {\def\@noitemerr
- {\@latex@warning{Empty `thebibliography' environment}}%
- \endlist
- \setlength{\labelsep}{0em}
- \setlength{\itemindent}{-\bibhang}
- \setlength{\leftmargin}{\bibhang}}
+\if@proc@BibNone
+ \renewenvironment{thebibliography}[1]{%
+ \PackageInfo{confproc}{ignoring #1 biblio file (`bib=none' option)}}
+\else
+ \renewenvironment{thebibliography}[1]{%
+ \ifconfproc@twocolbib \twocolumn \fi
+ \ifdefined\conf@BibMerge \nocite{*}
+ \else \clearsingleordoublepage \fi%
+ \section*{\bibname}%
+ \addcontentsline{toc}{part}{\bibname}
+ \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
+ \procbibintro
+ \list{\@biblabel{\@arabic\c@enumiv}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy
+ \clubpenalty4000
+ \@clubpenalty \clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist
+ \setlength{\labelsep}{0em}
+ \setlength{\itemindent}{-\bibhang}
+ \setlength{\leftmargin}{\bibhang}}
+\fi
\renewcommand\newblock{\hskip 0em plus 0.0em minus .07em}
\newcommand{\procbibintro}{{\it ~~~This bibliography is a compilation
of all bibliographic references from each paper. Page numbers that
@@ -516,9 +685,351 @@
\onecolumn
\section*{~~}%
\addcontentsline{toc}{part}{\indexname}%
- \renewcommand{\proclhead}{}%
+ \renewcommand{\procchead}{}%
\renewcommand{\proccfoot}{}%
\printindex}
+\ifconfproc@showmarginlines
+ \PackageInfo{confproc}{drawing margin lines' command (with a table)}%
+ \pagestyle{fancyplain}
+ \renewcommand{\headrulewidth}{0.0pt}
+ \newcommand{\procmarginlines}{
+ \renewcommand{\footrulewidth}{0.4pt}
+ \noindent
+ \vspace*{7mm} % adjusting vertical initial space
+ \begin{table}[h!] % table for vertical lines
+ \centering
+ \color{blue}
+ \begin{tabular}{|@{}p{3.3in}@{}|@{}p{0.3in}@{}|@{}p{3.3in}@{}|} % spacing between columns & vertical lines
+ \hline % upper horizontal line
+ ~~~~~~~~~~~ & ~ &~~~~~~~~~~~~~\\
+ \vspace*{7.5in} % less than a page height
+ ~~~~~~~~~~~ & ~ &~~~~~~~~~~~~~\\
+ \end{tabular}
+ \end{table}
+ }
+\else
+ \newcommand{\procmarginlines}{}
+ \PackageInfo{confproc}{no margin lines}%
+\fi
+\newcommand{\PAPERPATH}{}
+
+\newcommand{\confemptypapercite}[2]{%
+ \vspace*{0.3\textheight}%
+ \begin{flushleft}
+ \begin{tabular}{lp{0.7\textwidth}}
+ \Large [Title] & \Large \conf@papertitle\\
+ & \vspace*{0.5cm}\\
+ \Large [Author(s)] & \Large \conf@paperauthor\\
+ & \vspace*{0.5cm}\\
+ \Large [File name] & \Large \url{\PAPERPATH #2}\\
+ & \vspace*{0.5cm}\\
+ \if@proc@BibNone
+ \Large [Citation(s)] & \Large [disabled by ``bib=none'' option]\\
+ & \vspace*{2cm}\\
+ \else
+ \Large [Citation(s)] & \Large \confcite{\conf@cite}\\
+ & \vspace*{2cm}\\
+ \fi
+ & \textbf{\Huge Page #1}\\
+ \end{tabular}
+ \end{flushleft}
+}
+\newcounter{conf@npages}
+\newcommand{\confemptypaper}[2]{%
+ \vspace*{0.3\textheight}%
+ \begin{flushleft}
+ \begin{tabular}{lp{0.7\textwidth}}
+ \Large [Title] & \Large \conf@papertitle\\
+ & \vspace*{0.5cm}\\
+ \Large [Author(s)] & \Large \conf@paperauthor\\
+ & \vspace*{0.5cm}\\
+ \Large [File name] & \Large \url{\PAPERPATH #2}\\
+ & \vspace*{0.5cm}\\
+ \if@proc@BibNone
+ \Large [Citation(s)] & \Large [disabled by ``bib=none'' option]\\
+ & \vspace*{2cm}\\
+ \else
+ \Large [Citation(s)] & \Large [see page \theconf@npages{} of this paper]\\
+ & \vspace*{2cm}\\
+ \fi
+ & \textbf{\Huge Page #1}\\
+ \end{tabular}
+ \end{flushleft}
+}
+%%%%% begin key-value option management for \procpaper{} command %%%%%
+\newlength{\conf@xshift}
+\newlength{\conf@yshift}
+\newcounter{conf@switch}
+\newcounter{conf@firstpage}
+\newcounter{conf@lastpage}
+\newcommand{\conf@pagecmd}{}
+\newcommand{\conf@tmpauthorlist}{}
+\newcommand{\conf@tmptitle}{}
+\newcommand{\confstylecheckauthor}{}
+\newcommand{\confstylechecktitle}{}
+\newcounter{locnpages}%
+\def\procpaper{\@ifnextchar[{\@procpaper}{\@procpaper[]}}
+\def\@procpaper[#1]#2{{%
+\ifthenelse{\equal{\confproc@paperselec}{all}\or\equal{\confproc@paperselec}{#2}}
+ {\setlength{\conf@xshift}{0cm}
+ \setlength{\conf@yshift}{0cm}
+ \setcounter{conf@npages}{1}
+ \setcounter{conf@switch}{1}
+ \def\conf@papertitle{Default paper title}
+ \def\conf@paperauthor{Default paper author list}
+ \def\conf@index{}
+ \def\conf@cite{}
+ \def\conf@bookmark{} %\pdfbookmark[2]{Default paper author 1}{p_XXX.author1}}
+ \setkeys{ppaper}{#1}
+ \iffalse\@twoside \addtolength{\conf@xshift}{0cm}
+ \else \addtolength{\conf@xshift}{\proc@binding} \fi
+
+ \if@proc@ReplacePDFs
+ \immediate\write\npagesfile {file #2.pdf has \theconf@npages \space pages}
+ \clearsingleordoublepage
+ \setcounter{conf@firstpage}{\thenpagespreamble+\thepage}
+ \setcounter{conf@lastpage}{\thenpagespreamble+\thepage+%
+ \theconf@npages-1}
+
+ \phantomsection
+ \addcontentsline{toc}{section}{\proctoctitleauthor{\conf@papertitle}%
+ {\conf@paperauthor}}
+ \ifnum\theconf@npages=0
+ \typeout{confproc: Error, you asked for an empty paper}
+ \typeout{confproc: #2.pdf}
+ \fi
+ \ifnum\theconf@npages=1
+ \confemptypapercite{1}{#2.pdf} \conf@bookmark \conf@index{}%
+ \fi
+ \ifnum\theconf@npages=2
+ \confemptypaper{1}{#2.pdf} \conf@bookmark \conf@index{}%
+ \newpage \confemptypapercite{2}{#2.pdf}
+ \fi
+ \ifnum\theconf@npages>2
+ \confemptypaper{1}{#2.pdf} \conf@bookmark \conf@index{}%
+ \setcounter{locnpages}{2}
+ \ifthenelse{\thelocnpages<\theconf@npages}%
+ {\typeout{smaller}}%
+ {\typeout{bigger}}
+ \whiledo{\value{locnpages}<\value{conf@npages}}{%
+ \newpage \confemptypaper{\thelocnpages}{#2.pdf}%
+ \addtocounter{locnpages}{1}}
+ \newpage \confemptypapercite{\theconf@npages}{#2.pdf}
+ \fi
+ \setcounter{conf@lastpage}{\thenpagespreamble+\thepage}
+ \else
+ \setcounter{conf@firstpage}{\thenpagespreamble+\thepage}
+ \conf@index{}%
+ \ifconfproc@showpapernumber
+ \cfoot{\color{\confproc@colorheaders}\vskip \procfootvskip %
+ \vskip \procoptfootvskip \proccfoot\\
+ \color{\confproc@colorheaders}[paper \theconf@switch{}]}{}
+ \fi
+ \ifconfproc@checktitle
+ \renewcommand{\conf@tmptitle}{{\color{blue}%
+ \confstylechecktitle\conf@papertitle}}
+ \else
+ \renewcommand{\conf@tmptitle}{}
+ \fi
+ \ifconfproc@checkauthor
+ \renewcommand{\conf@tmpauthorlist}{{\color{blue}%
+ \confstylecheckauthor\conf@paperauthor}}
+ \else
+ \renewcommand{\conf@tmpauthorlist}{}
+ \fi
+ \renewcommand{\conf@pagecmd}{\conf@tmptitle\\ \conf@tmpauthorlist}
+
+ \if@proc@IncludeFullPDFs % include all pages in order to count!!!
+ \includepdf[noautoscale,offset=\conf@xshift{} \conf@yshift{},pages=1,%
+ linktodoc,linkname=\PAPERPATH #2.pdf,%
+ addtotoc={1, section, 1, %
+ \proctoctitleauthor{\conf@papertitle}{\conf@paperauthor},%
+ \theconf@switch},%
+ pagecommand = {\conf@pagecmd\procmarginlines %
+ \conf@bookmark \PDFpagestyle}%
+ ]{\PAPERPATH #2.pdf}%
+ \includepdf[noautoscale,offset=\conf@xshift{} \conf@yshift{},pages=2-,%
+ linktodoc,linkname=\PAPERPATH #2.pdf,%
+ pagecommand = {\procmarginlines \PDFpagestyle}%
+ ]{\PAPERPATH #2.pdf}%
+ \else
+ \ifnum\theconf@npages=1 % 1-page paper
+ \if@proc@verbose
+ \typeout{confproc: 1-page long paper}
+ \fi
+ \if@proc@BibNone
+ \includepdf[noautoscale,offset=\conf@xshift{} \conf@yshift{},%
+ pages=1,linktodoc,linkname=\PAPERPATH #2.pdf,%
+ addtotoc={1, section, 1, %
+ \proctoctitleauthor{\conf@papertitle}{\conf@paperauthor},%
+ \theconf@switch},%
+ pagecommand = {\conf@pagecmd\procmarginlines %
+ \conf@bookmark \PDFpagestyle}%
+ ]{\PAPERPATH #2.pdf}%
+ \else
+ \includepdf[noautoscale,offset=\conf@xshift{} \conf@yshift{},%
+ pages=1,linktodoc,linkname=\PAPERPATH #2.pdf,%
+ addtotoc={1, section, 1,%
+ \proctoctitleauthor{\conf@papertitle}{\conf@paperauthor},%
+ \theconf@switch},%
+ pagecommand = {\conf@pagecmd\procmarginlines %
+ \conf@bookmark \PDFpagestyle\vspace*{-1cm}\confcite{\conf@cite}}%
+ ]{\PAPERPATH #2.pdf}%
+ \fi
+ \else
+ \ifnum\theconf@npages=2 % 2-pages paper
+ \if@proc@verbose\typeout{confproc: 2-page long paper}\fi
+ \if@proc@BibNone
+ \includepdf[noautoscale,offset=\conf@xshift{} \conf@yshift{},%
+ pages=1,linktodoc,linkname=\PAPERPATH #2.pdf,%
+ addtotoc={1, section, 1, %
+ \proctoctitleauthor{\conf@papertitle}{\conf@paperauthor},%
+ \theconf@switch},%
+ pagecommand = {\conf@pagecmd\procmarginlines \conf@bookmark %
+ \PDFpagestyle}%
+ ]{\PAPERPATH #2.pdf}%
+ \includepdf[noautoscale,offset=\conf@xshift{} \conf@yshift{},%
+ pages=2,linktodoc,linkname=\PAPERPATH #2.pdf,%
+ pagecommand = {\procmarginlines \PDFpagestyle}%
+ ]{\PAPERPATH #2.pdf}%
+ \else
+ \includepdf[noautoscale,offset=\conf@xshift{} \conf@yshift{},%
+ pages=1,linktodoc,linkname=\PAPERPATH #2.pdf,%
+ addtotoc={1, section, 1, %
+ \proctoctitleauthor{\conf@papertitle}{\conf@paperauthor},%
+ \theconf@switch},%
+ pagecommand = {\conf@pagecmd\procmarginlines \conf@bookmark %
+ \PDFpagestyle\vspace*{-1cm}\confcite{\conf@cite}}%
+ ]{\PAPERPATH #2.pdf}%
+ \includepdf[noautoscale,offset=\conf@xshift{} \conf@yshift{},%
+ pages=2,linktodoc,linkname=\PAPERPATH #2.pdf,%
+ pagecommand = {\procmarginlines %
+ \PDFpagestyle\vspace*{-2cm}\confcite{\conf@cite}}%
+ ]{\PAPERPATH #2.pdf}%
+ \fi
+ \else % 3 pages and more
+ \includepdf[noautoscale,offset=\conf@xshift{} \conf@yshift{},%
+ pages=1,%
+ linktodoc,linkname=\PAPERPATH #2.pdf,%
+ addtotoc={1, section, 1, %
+ \proctoctitleauthor{\conf@papertitle}{\conf@paperauthor},%
+ \theconf@switch},%
+ pagecommand = {\conf@pagecmd\procmarginlines %
+ \conf@bookmark \PDFpagestyle}%
+ ]{\PAPERPATH #2.pdf}%
+ \ifdefined\conf@BibMerge%
+ \includepdf[noautoscale,offset=\conf@xshift{} \conf@yshift{},%
+ pages=\theconf@npages,linktodoc,linkname=\PAPERPATH #2.pdf,%
+ pagecommand = {\procmarginlines %
+ \PDFpagestyle\vspace*{-2cm}\confcite{\conf@cite}}%
+ ]{\PAPERPATH #2.pdf}%
+ \PDFpagestyle{}%
+ \if@proc@verbose\typeout{confproc: bibliography insertion only}\fi
+ \else
+ \addtocounter{conf@npages}{-1}
+ \includepdf[noautoscale,offset=\conf@xshift{} \conf@yshift{},%
+ pages=2-\theconf@npages,linktodoc,linkname=\PAPERPATH #2.pdf,%
+ pagecommand = {\procmarginlines \PDFpagestyle}%
+ ]{\PAPERPATH #2.pdf}%
+ \PDFpagestyle{}%
+ \addtocounter{conf@npages}{1}
+ \if@proc@BibNone
+ \includepdf[noautoscale,offset=\conf@xshift{} \conf@yshift{},%
+ pages=\theconf@npages,linktodoc,linkname=\PAPERPATH #2.pdf,%
+ pagecommand = {\procmarginlines \PDFpagestyle}%
+ ]{\PAPERPATH #2.pdf}%
+ \else
+ \includepdf[noautoscale,offset=\conf@xshift{} \conf@yshift{},%
+ pages=\theconf@npages,linktodoc,linkname=\PAPERPATH #2.pdf,%
+ pagecommand = {\procmarginlines %
+ \PDFpagestyle\vspace*{-2cm}\confcite{\conf@cite}}%
+ ]{\PAPERPATH #2.pdf}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \if@proc@verbose
+ \typeout{confproc: partial paper insertion %
+ (last page=bib items)}
+ \fi
+ \fi
+ \setcounter{conf@lastpage}{\thenpagespreamble+\thepage-1}
+ \setcounter{conf@npages}{\theconf@lastpage}
+ \addtocounter{conf@npages}{- \theconf@firstpage}
+ \immediate\write\npagesfile{file #2.pdf has \theconf@npages \space pages}
+ \newpage
+ \ifconfproc@twosidepapers \cleardoublepage
+ \else \clearpage \fi
+ \fi
+ \if@proc@verbose
+ \typeout{______ debug: insert paper ______}
+ \typeout{confproc/file: #2.pdf (\theconf@npages \space pages)}
+ \typeout{confproc/title: \conf@papertitle}
+ \typeout{confproc/authors: \conf@paperauthor}
+ \typeout{confproc/index: \conf@index}
+ \typeout{confproc/shift: (\the\conf@xshift, \the\conf@yshift)}
+ \typeout{confproc/citations: \conf@cite}
+ \typeout{confproc/bookmarks: \conf@bookmark}
+ \typeout{confproc/switch ID: \theconf@switch}
+ \typeout{_______________________}
+ \fi
+ \ifconfproc@pdftk
+%%-- pdftk version: !!! does not work with PDF v > 1.3
+%% \immediate\write\pdftkinfoall{pdftk A=${PDFFILE} cat A\arabic{conf@firstpage}-\arabic{conf@lastpage} output ${SPPATH}/#2.pdf}
+%%-- Ghostscript version: ok with PDF v = 1.4
+ \immediate\write\pdftkinfoall{gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dFirstPage=\arabic{conf@firstpage} -dLastPage=\arabic{conf@lastpage} -sOUTPUTFILE=${SPPATH}/#2.pdf ${PDFFILE}}
+
+%%-- pdftk version: !!! does not work with PDF v > 1.3
+%% \immediate\write\pdftkinfoall{pdftk A=${PDFFILE} cat A\arabic{conf@firstpage}-\arabic{conf@lastpage} output ${SPPATH}/#2.pdf}
+%%-- Ghostscript version: ok with PDF v = 1.4
+ \immediate\openout\pdftkinfofile=\confproc@pdftkfolder/#2.pdftk
+ \immediate\write\pdftkinfofile {InfoKey: Title}
+ \immediate\write\pdftkinfofile {InfoValue: \conf@papertitle}
+ \immediate\write\pdftkinfofile {InfoKey: Author}
+ \immediate\write\pdftkinfofile {InfoValue: \conf@paperauthor}
+ \immediate\write\pdftkinfofile {InfoKey: Subject}
+ \immediate\write\pdftkinfofile {InfoValue: \confproc@pdftksubject}
+ \immediate\write\pdftkinfofile {InfoKey: Producer}
+ \immediate\write\pdftkinfofile {InfoValue: \confproc@pdftkproducer}
+ \immediate\write\pdftkinfofile {InfoKey: Creator}
+ \immediate\write\pdftkinfofile {InfoValue: \confproc@pdftkcreator}
+ \immediate\closeout\pdftkinfofile
+ \ifconfproc@verbose
+ \typeout{________________}
+ \typeout{pdftk A=${PDFFILE} cat A\arabic{conf@firstpage}-\arabic{conf@lastpage} output ${SPPATH}/#2.pdf}
+ \typeout{gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dFirstPage=\arabic{conf@firstpage} -dLastPage=\arabic{conf@lastpage} -sOUTPUTFILE=${SPPATH}/#2.pdf ${PDFFILE}}
+ \typeout{InfoName: #2.info}
+ \typeout{InfoKey: Title}
+ \typeout{InfoValue: \conf@papertitle}
+ \typeout{InfoKey: Author}
+ \typeout{InfoValue: \conf@paperauthor}
+ \typeout{InfoKey: Subject}
+ \typeout{InfoValue: \confproc@pdftksubject}
+ \typeout{InfoKey: Producer}
+ \typeout{InfoValue: \confproc@pdftkproducer}
+ \typeout{InfoKey: Creator}
+ \typeout{InfoValue: \confproc@pdftkcreator}
+ \typeout{InfoEnd}
+ \fi
+ \fi
+ }{}
+}}
+\define@key{ppaper}{xshift}{\setlength{\conf@xshift}{#1}}
+\define@key{ppaper}{yshift}{\setlength{\conf@yshift}{#1}}
+\define@key{ppaper}{npages}{\setcounter{conf@npages}{#1}}
+\define@key{ppaper}{switch}{\setcounter{conf@switch}{#1}}
+\define@key{ppaper}{title}{\def\conf@papertitle{#1}}
+\define@key{ppaper}{author}{\def\conf@paperauthor{#1}}
+\define@key{ppaper}{index}{\def\conf@index{#1}}
+\define@key{ppaper}{cite}{\def\conf@cite{#1}}
+\define@key{ppaper}{bookmark}{\def\conf@bookmark{#1}}
+%%%%% end key-value option management for \procpaper{} command %%%%%
+\newcommand{\procinsertpaper}[9]{%
+ \PackageWarning{confproc}{!!! '\procinsertpaper' cmd is obsolete (v0.5) %
+ and does not preserve PDFs' horizontal and vertical shifts, nor general %
+ bib items. Please use the '\procpaper' command instead.}
+ \procpaper[title={#4},author={#5},npages=#2,index={#6},cite={#7},%
+ bookmark={#9}]{#8}}
\InputIfFileExists{confproc.cfg}
{\typeout{************^^J%
* Local config file confproc.cfg used *^^J%