|
Packit Service |
76cb02 |
%%
|
|
Packit Service |
76cb02 |
%% Default dblatex DocBook style
|
|
Packit Service |
76cb02 |
%%
|
|
Packit Service |
76cb02 |
\NeedsTeXFormat{LaTeX2e}
|
|
Packit Service |
76cb02 |
\ProvidesPackage{docbook}[2007/04/04 DocBook Style]
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% The defined options
|
|
Packit Service |
76cb02 |
\DeclareOption{hyperlink}{ \def\DBKhyperlink{yes} }
|
|
Packit Service |
76cb02 |
\DeclareOption{nohyperlink}{ \def\DBKhyperlink{no} }
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% Default values
|
|
Packit Service |
76cb02 |
\ExecuteOptions{nohyperlink}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% If defined, process the options
|
|
Packit Service |
76cb02 |
\ProcessOptions\relax
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% ##############################################################################
|
|
Packit Service |
76cb02 |
% ### DocBook and local commands
|
|
Packit Service |
76cb02 |
% ##############################################################################
|
|
Packit Service |
76cb02 |
% Default DocBook Parameters
|
|
Packit Service |
76cb02 |
\newcommand{\DBKreference}{}
|
|
Packit Service |
76cb02 |
\newcommand{\DBKtitle}{Main Title}
|
|
Packit Service |
76cb02 |
\let\DBKsubtitle\relax
|
|
Packit Service |
76cb02 |
\newcommand{\DBKdate}{\today}
|
|
Packit Service |
76cb02 |
\newcommand{\DBKsite}{}
|
|
Packit Service |
76cb02 |
\newcommand{\DBKedition}{}
|
|
Packit Service |
76cb02 |
\newcommand{\DBKreleaseinfo}{Working Paper}
|
|
Packit Service |
76cb02 |
\newcommand{\DBKpubdate}{}
|
|
Packit Service |
76cb02 |
\let\DBKlegalblock\relax
|
|
Packit Service |
76cb02 |
\newcommand{\DBKlegaltitle}{}
|
|
Packit Service |
76cb02 |
\let\DBKcopyright\relax
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% Local commands
|
|
Packit Service |
76cb02 |
\newcommand{\DBKtoclof}{true}
|
|
Packit Service |
76cb02 |
\newcommand{\DBKauthor}{}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% Adaptation...
|
|
Packit Service |
76cb02 |
\setcounter{secnumdepth}{4}
|
|
Packit Service |
76cb02 |
\setcounter{tocdepth}{4}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
\setlength\parskip{\medskipamount}
|
|
Packit Service |
76cb02 |
\setlength\parindent{0pt}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% Don't want paragraph indentation in abstract
|
|
Packit Service |
76cb02 |
\@ifundefined{abstract}{
|
|
Packit Service |
76cb02 |
\newenvironment{abstract}{
|
|
Packit Service |
76cb02 |
\setlength\parskip{\medskipamount}%
|
|
Packit Service |
76cb02 |
\setlength\parindent{0pt}%
|
|
Packit Service |
76cb02 |
}{
|
|
Packit Service |
76cb02 |
}
|
|
Packit Service |
76cb02 |
}{
|
|
Packit Service |
76cb02 |
% Redefine abstract in avoid page count reset
|
|
Packit Service |
76cb02 |
\def\nocount#1#2{}
|
|
Packit Service |
76cb02 |
\let\stdsetcounter\setcounter
|
|
Packit Service |
76cb02 |
\let\stdabstract=\abstract
|
|
Packit Service |
76cb02 |
\let\endstdabstract=\endabstract
|
|
Packit Service |
76cb02 |
\renewenvironment{abstract}{%
|
|
Packit Service |
76cb02 |
\let\setcounter\nocount%
|
|
Packit Service |
76cb02 |
\begin{stdabstract}%
|
|
Packit Service |
76cb02 |
\noindent%
|
|
Packit Service |
76cb02 |
\setlength\parskip{\medskipamount}%
|
|
Packit Service |
76cb02 |
\setlength\parindent{0pt}%
|
|
Packit Service |
76cb02 |
}{
|
|
Packit Service |
76cb02 |
\end{stdabstract}
|
|
Packit Service |
76cb02 |
\let\setcounter\stdsetcounter
|
|
Packit Service |
76cb02 |
}
|
|
Packit Service |
76cb02 |
}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% We want paragraph + subparagraph headers like the others
|
|
Packit Service |
76cb02 |
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
|
|
Packit Service |
76cb02 |
{-3.25ex\@plus -1ex \@minus -.2ex}%
|
|
Packit Service |
76cb02 |
{1ex \@plus .2ex}%
|
|
Packit Service |
76cb02 |
{\normalfont\normalsize\bfseries}}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\z@}%
|
|
Packit Service |
76cb02 |
{-3.25ex\@plus -1ex \@minus -.2ex}%
|
|
Packit Service |
76cb02 |
{1ex \@plus .2ex}%
|
|
Packit Service |
76cb02 |
{\normalfont\normalsize\bfseries}}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% To have title rendering changed
|
|
Packit Service |
76cb02 |
\usepackage[sf,bf]{titlesec}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% Display ``DRAFT'' as a water mark:
|
|
Packit Service |
76cb02 |
\usepackage{ifpdf}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
\newif\ifpdfengine
|
|
Packit Service |
76cb02 |
\ifpdf\pdfenginetrue
|
|
Packit Service |
76cb02 |
\else\ifxetex\pdfenginetrue
|
|
Packit Service |
76cb02 |
\fi\fi
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
\ifpdfengine
|
|
Packit Service |
76cb02 |
\usepackage{pdfpages}
|
|
Packit Service |
76cb02 |
\usepackage{color}
|
|
Packit Service |
76cb02 |
\def\showwatermark#1{%
|
|
Packit Service |
76cb02 |
\AddToShipoutPicture{
|
|
Packit Service |
76cb02 |
\AtTextCenter{%
|
|
Packit Service |
76cb02 |
\makebox(0,0)[c]{\resizebox{\textwidth}{!}{%
|
|
Packit Service |
76cb02 |
\rotatebox{45}{\textsf{\textbf{\color[gray]{0.8}#1}}}}}%
|
|
Packit Service |
76cb02 |
}}
|
|
Packit Service |
76cb02 |
}
|
|
Packit Service |
76cb02 |
\else
|
|
Packit Service |
76cb02 |
\def\showwatermark#1{}%
|
|
Packit Service |
76cb02 |
\fi
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% ##############################################################################
|
|
Packit Service |
76cb02 |
% ### Page Parameters if not done by geometry
|
|
Packit Service |
76cb02 |
% ##############################################################################
|
|
Packit Service |
76cb02 |
\@ifpackageloaded{geometry}{}{
|
|
Packit Service |
76cb02 |
\setlength{\paperwidth}{21cm}
|
|
Packit Service |
76cb02 |
\setlength{\paperheight}{29.7cm}
|
|
Packit Service |
76cb02 |
\setlength{\hoffset}{-1in}
|
|
Packit Service |
76cb02 |
\setlength{\voffset}{-1in}
|
|
Packit Service |
76cb02 |
\setlength{\oddsidemargin}{2cm}
|
|
Packit Service |
76cb02 |
\setlength{\marginparsep}{0cm}
|
|
Packit Service |
76cb02 |
\setlength{\marginparwidth}{0cm}
|
|
Packit Service |
76cb02 |
\setlength{\textwidth}{18cm}
|
|
Packit Service |
76cb02 |
%\setlength{\topmargin}{0.5cm}
|
|
Packit Service |
76cb02 |
\setlength{\topmargin}{1.3cm}
|
|
Packit Service |
76cb02 |
%\setlength{\headsep}{2cm}
|
|
Packit Service |
76cb02 |
\setlength{\headsep}{1.1cm}
|
|
Packit Service |
76cb02 |
\setlength{\textheight}{24cm}
|
|
Packit Service |
76cb02 |
\setlength{\footskip}{1.5cm}
|
|
Packit Service |
76cb02 |
}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% ##############################################################################
|
|
Packit Service |
76cb02 |
% ### Used Packages
|
|
Packit Service |
76cb02 |
% ##############################################################################
|
|
Packit Service |
76cb02 |
\makeatletter
|
|
Packit Service |
76cb02 |
% Postscript Graphics
|
|
Packit Service |
76cb02 |
\usepackage{graphicx}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% Miscellaneous
|
|
Packit Service |
76cb02 |
\usepackage{calc}
|
|
Packit Service |
76cb02 |
\usepackage{multirow}
|
|
Packit Service |
76cb02 |
\usepackage{subfigure}
|
|
Packit Service |
76cb02 |
\usepackage{ifthen}
|
|
Packit Service |
76cb02 |
\usepackage{tabularx}
|
|
Packit Service |
76cb02 |
% Before hyperlink to have consistent links to footnotes
|
|
Packit Service |
76cb02 |
\usepackage{footmisc}
|
|
Packit Service |
76cb02 |
% To be able to have sections afters appendices
|
|
Packit Service |
76cb02 |
\usepackage{appendix}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% Workaround to avoid troubles with accents in \appendixname used as hyperref
|
|
Packit Service |
76cb02 |
% label: force the label prefix to 'appendix' whatever the lang is
|
|
Packit Service |
76cb02 |
\let\orgresetsapp=\@resets@pp
|
|
Packit Service |
76cb02 |
\let\orgrestoreapp=\restoreapp
|
|
Packit Service |
76cb02 |
\let\restoreapp\relax
|
|
Packit Service |
76cb02 |
\def\@resets@pp{%
|
|
Packit Service |
76cb02 |
\orgresetsapp
|
|
Packit Service |
76cb02 |
\if@pphyper
|
|
Packit Service |
76cb02 |
\def\Hy@chapapp{appendix}%
|
|
Packit Service |
76cb02 |
\fi
|
|
Packit Service |
76cb02 |
\orgrestoreapp
|
|
Packit Service |
76cb02 |
}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
\usepackage{dbk_fonts}
|
|
Packit Service |
76cb02 |
\usepackage{dbk_hyper}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
\usepackage{fancyhdr}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% To have fancy <programlisting>
|
|
Packit Service |
76cb02 |
\usepackage{fancyvrb}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% ##############################################################################
|
|
Packit Service |
76cb02 |
% ### Some DocBook floats and environments
|
|
Packit Service |
76cb02 |
% ##############################################################################
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
%% Inclusion of float package after hyperref to have its definitions!
|
|
Packit Service |
76cb02 |
\usepackage{float}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
\@ifundefined{chapter}{
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
\floatstyle{ruled}
|
|
Packit Service |
76cb02 |
\newfloat{example}{htb}{loe}[section]
|
|
Packit Service |
76cb02 |
\floatname{example}{\examplename}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
\floatstyle{plain}
|
|
Packit Service |
76cb02 |
\newfloat{dbequation}{htb}{lom}[section]
|
|
Packit Service |
76cb02 |
\floatname{dbequation}{{\scshape \dbequationname }}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% Redefinition of tableofcontent, to have it in separate pages
|
|
Packit Service |
76cb02 |
\let\stdtoc=\tableofcontents
|
|
Packit Service |
76cb02 |
\def\tableofcontents{ \newpage \stdtoc{} \newpage}
|
|
Packit Service |
76cb02 |
}{
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
\floatstyle{ruled}
|
|
Packit Service |
76cb02 |
\newfloat{example}{htb}{loe}[chapter]
|
|
Packit Service |
76cb02 |
\floatname{example}{\examplename}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
\floatstyle{plain}
|
|
Packit Service |
76cb02 |
\newfloat{dbequation}{htb}{lom}[chapter]
|
|
Packit Service |
76cb02 |
\floatname{dbequation}{{\scshape \dbequationname }}
|
|
Packit Service |
76cb02 |
}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% Sidebar is a boxed minipage that can contain verbatim
|
|
Packit Service |
76cb02 |
\newenvironment{sidebar}[1][]{
|
|
Packit Service |
76cb02 |
\hspace{0mm}\newline%
|
|
Packit Service |
76cb02 |
\noindent\begin{Sbox}\begin{minipage}{0.95\linewidth}%
|
|
Packit Service |
76cb02 |
\setlength\parskip{\medskipamount}%
|
|
Packit Service |
76cb02 |
}{
|
|
Packit Service |
76cb02 |
\end{minipage}\end{Sbox}\shadowbox{\TheSbox}%
|
|
Packit Service |
76cb02 |
}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% ##############################################################################
|
|
Packit Service |
76cb02 |
% ### Title and Bookinfo display
|
|
Packit Service |
76cb02 |
% ##############################################################################
|
|
Packit Service |
76cb02 |
\def\title#1{\renewcommand{\DBKtitle}{#1}}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% Redefine author so that it can be used by the domitete
|
|
Packit Service |
76cb02 |
\def\author#1{\renewcommand{\DBKauthor}{#1}}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% Redefine how to print the cover page and book infos
|
|
Packit Service |
76cb02 |
\def\maketitle{
|
|
Packit Service |
76cb02 |
\DBKcover
|
|
Packit Service |
76cb02 |
% \if\DBKcopyright\@empty\else
|
|
Packit Service |
76cb02 |
\ifx\DBKcopyright\relax\else
|
|
Packit Service |
76cb02 |
\DBKcopyright \\
|
|
Packit Service |
76cb02 |
\fi
|
|
Packit Service |
76cb02 |
\ifx\DBKlegalblock\relax\else
|
|
Packit Service |
76cb02 |
\DBKlegalblock
|
|
Packit Service |
76cb02 |
\fi
|
|
Packit Service |
76cb02 |
\newpage
|
|
Packit Service |
76cb02 |
\DBKdomitete
|
|
Packit Service |
76cb02 |
}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% How to render a <legalnotice>
|
|
Packit Service |
76cb02 |
\newenvironment{DBKlegalnotice}{
|
|
Packit Service |
76cb02 |
\if@twocolumn
|
|
Packit Service |
76cb02 |
\noindent\small\textit{\DBKlegaltitle}
|
|
Packit Service |
76cb02 |
\/\bfseries---$\!$
|
|
Packit Service |
76cb02 |
\else
|
|
Packit Service |
76cb02 |
\ifx\DBKlegaltitle\relax\else
|
|
Packit Service |
76cb02 |
\noindent\begin{center}\small\bfseries\DBKlegaltitle\end{center}%
|
|
Packit Service |
76cb02 |
\fi
|
|
Packit Service |
76cb02 |
\begin{quote}\small
|
|
Packit Service |
76cb02 |
\fi
|
|
Packit Service |
76cb02 |
}{
|
|
Packit Service |
76cb02 |
\vspace{0.6em}\par\if@twocolumn\else\end{quote}\fi
|
|
Packit Service |
76cb02 |
}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% ##############################################################################
|
|
Packit Service |
76cb02 |
% ### Index redefinition
|
|
Packit Service |
76cb02 |
% ##############################################################################
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
%
|
|
Packit Service |
76cb02 |
% Index is redefined to have the section numbered.
|
|
Packit Service |
76cb02 |
%
|
|
Packit Service |
76cb02 |
\renewenvironment{theindex}
|
|
Packit Service |
76cb02 |
{
|
|
Packit Service |
76cb02 |
\if@twocolumn
|
|
Packit Service |
76cb02 |
\@restonecolfalse
|
|
Packit Service |
76cb02 |
\else
|
|
Packit Service |
76cb02 |
\@restonecoltrue
|
|
Packit Service |
76cb02 |
\fi
|
|
Packit Service |
76cb02 |
\columnseprule \z@
|
|
Packit Service |
76cb02 |
\columnsep 35\p@
|
|
Packit Service |
76cb02 |
\pagebreak
|
|
Packit Service |
76cb02 |
\@ifundefined{chapter}{
|
|
Packit Service |
76cb02 |
\twocolumn[\section{\indexname}]%
|
|
Packit Service |
76cb02 |
}{
|
|
Packit Service |
76cb02 |
% To not have the number, replace makechapterhead by
|
|
Packit Service |
76cb02 |
% makeschapterhead
|
|
Packit Service |
76cb02 |
% \chapter{\indexname}{%
|
|
Packit Service |
76cb02 |
% \@mkboth{\MakeUppercase\indexname}%
|
|
Packit Service |
76cb02 |
% {\MakeUppercase\indexname}
|
|
Packit Service |
76cb02 |
% }%
|
|
Packit Service |
76cb02 |
\refstepcounter{chapter}
|
|
Packit Service |
76cb02 |
\twocolumn[\@makechapterhead{\indexname}]%
|
|
Packit Service |
76cb02 |
}
|
|
Packit Service |
76cb02 |
\thispagestyle{plain}\parindent\z@
|
|
Packit Service |
76cb02 |
\parskip\z@ \@plus .3\p@\relax
|
|
Packit Service |
76cb02 |
\let\item\@idxitem
|
|
Packit Service |
76cb02 |
}{\if@restonecol\onecolumn\else\clearpage\fi}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
\let\stdindex=\theindex
|
|
Packit Service |
76cb02 |
\let\endstdindex=\endtheindex
|
|
Packit Service |
76cb02 |
\renewenvironment{theindex}{
|
|
Packit Service |
76cb02 |
\begin{stdindex}
|
|
Packit Service |
76cb02 |
\@ifundefined{chapter}{}{
|
|
Packit Service |
76cb02 |
% To not have the number, replace by:
|
|
Packit Service |
76cb02 |
% \addcontentsline{toc}{chapter}{\numberline{}\indexname}
|
|
Packit Service |
76cb02 |
\ifnum \c@secnumdepth >\z@
|
|
Packit Service |
76cb02 |
\ifnum \value{part} >\z@
|
|
Packit Service |
76cb02 |
\addcontentsline{toc}{part}{\numberline{\thechapter}\hspace{-1em}\indexname}
|
|
Packit Service |
76cb02 |
\else
|
|
Packit Service |
76cb02 |
\addcontentsline{toc}{chapter}{\numberline{\thechapter}\indexname}
|
|
Packit Service |
76cb02 |
\fi
|
|
Packit Service |
76cb02 |
\else
|
|
Packit Service |
76cb02 |
\addcontentsline{toc}{chapter}{\indexname}
|
|
Packit Service |
76cb02 |
\fi
|
|
Packit Service |
76cb02 |
}
|
|
Packit Service |
76cb02 |
}{
|
|
Packit Service |
76cb02 |
\end{stdindex}
|
|
Packit Service |
76cb02 |
}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
% ##############################################################################
|
|
Packit Service |
76cb02 |
% ### Commands and environments
|
|
Packit Service |
76cb02 |
% ##############################################################################
|
|
Packit Service |
76cb02 |
\newcommand{\draft}{\special{!userdict begin /bop-hook{gsave 200 30 translate %
|
|
Packit Service |
76cb02 |
65 rotate /Times-Roman findfont 216 scalefont setfont %
|
|
Packit Service |
76cb02 |
0 0 moveto 0.8 setgray (DRAFT) show grestore}def end}}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
\usepackage{refcount}
|
|
Packit Service |
76cb02 |
\usepackage{lastpage}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
%\usepackage{dbk_url}
|
|
Packit Service |
76cb02 |
\usepackage{dbk_locale}
|
|
Packit Service |
76cb02 |
\usepackage{dbk_title}
|
|
Packit Service |
76cb02 |
\usepackage{dbk_headfoot}
|
|
Packit Service |
76cb02 |
\usepackage{dbk_revision}
|
|
Packit Service |
76cb02 |
\usepackage{dbk_admonition}
|
|
Packit Service |
76cb02 |
\usepackage{dbk_changebar}
|
|
Packit Service |
76cb02 |
\usepackage{dbk_biblio}
|
|
Packit Service |
76cb02 |
\usepackage{dbk_table}
|
|
Packit Service |
76cb02 |
\usepackage{dbk_item}
|
|
Packit Service |
76cb02 |
\usepackage{dbk_graphic}
|
|
Packit Service |
76cb02 |
\usepackage{dbk_cover}
|
|
Packit Service |
76cb02 |
\usepackage{dbk_verbatim}
|
|
Packit Service |
76cb02 |
\usepackage{dbk_misc}
|
|
Packit Service |
76cb02 |
\usepackage{dbk_callout}
|
|
Packit Service |
76cb02 |
\usepackage{dbk_annot}
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
\makeatother
|
|
Packit Service |
76cb02 |
|