% ********************************************************************
% classicthesis-preamble.sty 
% formerly known as loadpackages.sty and classicthesis-ldpkg.sty
%  
% Copyright (C) 2011 Andr\'e Miede http://www.miede.de
%
% If you like the style then I would appreciate a postcard. My address 
% can be found in the file ClassicThesis.pdf. A collection of the 
% postcards I received so far is available online at 
% http://postcards.miede.de
%
% License:
% This program is free software; you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation; either version 2 of the License, or
% (at your option) any later version.
%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this program; see the file COPYING.  If not, write to
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
% Boston, MA 02111-1307, USA.
%
% ********************************************************************  

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% This file contains the only definitions and calls you might want to change.
%%%%% Use it at the beginning of your ClassicThesis.tex, or as a LaTeX Preamble in your ClassicThesis.lyx with
%%%%% \usepackage{classicthesis-preamble}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{classicthesis-preamble}[2011/06/05 v3.0 Your Preamble and Package Loader for Classic Thesis Style]
 
\@ifpackageloaded{classicthesis}%
    {\PackageWarningNoLine{classicthesis-preamble}{Package "classicthesis" should be loaded AFTER "classicthesis-preamble".}}%
    {\relax}%    

% ********************************************************************
% Re-usable information
% ********************************************************************
\newcommand{\myTitle}{A Classic Thesis Style\xspace}
\newcommand{\mySubtitle}{An Homage to The Elements of Typographic Style\xspace}
\newcommand{\myDegree}{Doktor-Ingenieur (Dr.-Ing.)\xspace}
\newcommand{\myName}{Andr\'e Miede\xspace}
\newcommand{\myProf}{Put name here\xspace}
\newcommand{\myOtherProf}{Put name here\xspace}
\newcommand{\mySupervisor}{Put name here\xspace}
\newcommand{\myFaculty}{Put data here\xspace}
\newcommand{\myDepartment}{Put data here\xspace}
\newcommand{\myUni}{\protect{Put data here}\xspace}
\newcommand{\myLocation}{Darmstadt\xspace}
\newcommand{\myTime}{June 2011\xspace}
\newcommand{\myVersion}{Version 3.0\xspace}


% ********************************************************************
% Configure classicthesis for your needs here...
% ******************************************************************** 
\PassOptionsToPackage{eulerchapternumbers,drafting,listings,%linedheaders,%pdfspacing,%listings,
											subfig,beramono,eulermath,parts}{classicthesis}
%*******************************************************
% Options for classicthesis.sty:
% tocaligned eulerchapternumbers drafting linedheaders listings
% subfig nochapters beramono eulermath parts minionpro pdfspacing 
% dottedtoc minionprospacing manychapters floatperchapter
%*******************************************************											

% ********************************************************************
% LyX option override
% ********************************************************************
%\PassOptionsToPackage{backref}{classicthesis-preamble}  

% ********************************************************************
% Options
% ******************************************************************** 
\RequirePackage{ifthen}
    \newboolean{cld@backref} % enable backrefs in the bibliography
\setboolean{cld@backref}{false}
\DeclareOption{backref}{\setboolean{cld@backref}{true}}
\ProcessOptions\relax


% ********************************************************************
% Development Stuff
% ********************************************************************
\listfiles
%\PassOptionsToPackage{l2tabu, orthodox, abort}{nag}
%	\RequirePackage{nag}
%\PassOptionsToPackage{warning, all}{onlyamsmath}
%	\RequirePackage{onlyamsmath}


%*******************************************************
% Packages with options that might require adjustments
%*******************************************************
\PassOptionsToPackage{latin9}{inputenc}		% latin9 (ISO-8859-9) = latin1+"Euro sign"
 \RequirePackage{inputenc}				% NB: LyX likes to set inputenc too, let's avoid clashes

%\PassOptionsToPackage{ngerman,american}{babel}	% change this to you language(s)
 \RequirePackage{babel}					% NB: LyX likes to set babel too, let's avoid clashes

\PassOptionsToPackage{square,numbers}{natbib}
 \RequirePackage{natbib}				% NB: LyX likes to set natbib too, let's avoid clashes

\PassOptionsToPackage{fleqn}{amsmath}		% math environments and more by the AMS 
 \RequirePackage{amsmath}


% ********************************************************************
% figures are placed only within section they were declared in
% provides command \FloatBarrier
% ********************************************************************          
%\PassOptionsToPackage{section,above,below}{placeins} 
% \RequirePackage{placeins}

 
% ******************************************************************** 
% Packages
% ******************************************************************** 
\PassOptionsToPackage{T1}{fontenc}
	\RequirePackage{fontenc}                
\RequirePackage{textcomp}
%\RequirePackage[dvipsnames]{xcolor} 
\RequirePackage{xspace} % to get the spacing after macros right
\RequirePackage{tabularx} % better tables
\RequirePackage{mparhack} % get marginpar right
\RequirePackage{fixltx2e} % fixes some LaTeX stuff
%\RequirePackage{ellipsis} % ... ;-)                  
\RequirePackage{relsize} % scale font up or down  
\PassOptionsToPackage{printonlyused,smaller}{acronym}
	\RequirePackage{acronym} % nice macros for handling all acronyms in the thesis
%\renewcommand*{\acsfont}[1]{\textssc{#1}}
\renewcommand{\bflabel}[1]{{#1}\hfill} % fix the list of acronyms

% ********************************************************************
% Setup and Finetuning
%*******************************************************
\newlength{\abcd} % for ab..z string length calculation
\newcommand{\myfloatalign}{\centering} % how all the floats will be aligned
\setlength{\extrarowheight}{3pt} % increase table row height

% ********************************************************************
% Commands
% ********************************************************************                
\newcounter{dummy} % necessary for correct hyperlinks (to index, bib, etc.)
\newcommand{\longpage}{\enlargethispage{3\baselineskip}}
\newcommand{\medpage}{\enlargethispage{2\baselineskip}}
\newcommand{\shortpage}{\enlargethispage{\baselineskip}}
\newcommand{\concskip}{\medskip}
\newcommand{\myPrimRef}[1]{\textit{#1}} % how primary index entries will be marked 
% ******************************************************************** 
\newcommand{\ie}{i.\,e.}
\newcommand{\Ie}{I.\,e.}
\newcommand{\eg}{e.\,g.}
\newcommand{\Eg}{E.\,g.}
\newcommand{\etAl}{et al.\xspace}
\newcommand{\twod}{2\textsc{d}\xspace}
\newcommand{\threed}{3\textsc{d}\xspace}
% ******************************************************************** 
\newcommand{\system}[1]{\emph{#1}}
\newcommand{\person}[1]{#1}
\newcommand{\term}[1]{\emph{#1}}
\newcommand{\cauthor}[1]{\relax}
\@ifpackageloaded{natbib}%
    {\renewcommand{\cauthor}[1]{\person{\citeauthor{#1}}}%
    }{\PackageWarningNoLine{classicthesis-preamble}{Package "natbib" not loaded, %
        command "cauthor" will not work.}}
\newcommand{\tableheadline}[1]{\multicolumn{1}{c}{\spacedlowsmallcaps{#1}}}
% ******************************************************************** 
\newcommand{\RA}{\ensuremath{\Rightarrow}}
\newcommand{\ra}{\ensuremath{\rightarrow}}
\newcommand{\lra}{\ensuremath{\leftrightarrow}}
\newcommand{\On}{\ensuremath{O(n)}\xspace}
\newcommand{\Ologn}{\ensuremath{O(\log n)}\xspace}
\newcommand{\Oone}{\ensuremath{O(1)}\xspace}

% ********************************************************************
% take care of the caption fonts and sizes (tables and figures)
\RequirePackage{caption}
\captionsetup{format=hang,font=small}
% or, like in arsclassica.sty by Lorenzo Pantieri:
%\captionsetup{format=hang,font=small,labelfont={bf}}
%\captionsetup[table]{skip=\medskipamount}

%*******************************************************
% hack to use citations in float environments 
% will be fixed with caption package version 3.2
%*******************************************************
%\RequirePackage{makerobust} 
%\makeatletter 
%\MakeRobustCommand\caption@xref 
%\makeatother 

% ********************************************************************
% fine typesetting of code listings
\RequirePackage{listings} 
    		
% ********************************************************************
% enable subfigures in figures
\RequirePackage{subfig}     

% ********************************************************************
% Using PDFLaTeX:
% ********************************************************************
\PassOptionsToPackage{pdftex,hyperfootnotes=false,pdfpagelabels}{hyperref}
	\RequirePackage{hyperref}  % backref linktocpage pagebackref
\pdfcompresslevel=9
\pdfadjustspacing=1 
\PassOptionsToPackage{pdftex}{graphicx}
	\RequirePackage{graphicx} % PDFTeX driver for graphicx
%\DeclareGraphicsRule{*}{mps}{*}{} % enables use of MetaPost graphics with pdflatex 

%*******************************************************
% There are some issues regarding autorefnames
% http://www.ureader.de/msg/136221647.aspx
% http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latexwords
% you have to redefine the makros for the 
% language you use, e.g., american, ngerman
% (as chosen when loading babel/AtBeginDocument)
\@ifpackageloaded{babel}%
    {%
       \addto\extrasamerican{%
					\renewcommand*{\figureautorefname}{Figure}%
					\renewcommand*{\tableautorefname}{Table}%
					\renewcommand*{\partautorefname}{Part}%
					\renewcommand*{\chapterautorefname}{Chapter}%
					\renewcommand*{\sectionautorefname}{Section}%
					\renewcommand*{\subsectionautorefname}{Section}%
					\renewcommand*{\subsubsectionautorefname}{Section}% 	
				}%
       \addto\extrasngerman{% 
					\renewcommand*{\paragraphautorefname}{Absatz}%
					\renewcommand*{\subparagraphautorefname}{Unterabsatz}%
					\renewcommand*{\footnoteautorefname}{Fu\"snote}%
					\renewcommand*{\FancyVerbLineautorefname}{Zeile}%
					\renewcommand*{\theoremautorefname}{Theorem}%
					\renewcommand*{\appendixautorefname}{Anhang}%
					\renewcommand*{\equationautorefname}{Gleichung}%        
					\renewcommand*{\itemautorefname}{Punkt}%
				}%	
			% Fix to getting autorefs for subfigures right
			\newcommand{\subfigureautorefname}{\figureautorefname}% 			
    }{\relax}



% ********************************************************************
% get the links to the figures and tables right
%\RequirePackage[all]{hypcap} % to be loaded after hyperref package

% ********************************************************************
% setup the style of the backrefs from the bibliography
\newcommand{\backrefnotcitedstring}{\relax}%(Not cited.)
\newcommand{\backrefcitedsinglestring}[1]{(Cited on page~#1.)}
\newcommand{\backrefcitedmultistring}[1]{(Cited on pages~#1.)}

\ifthenelse{\boolean{cld@backref}}%
{%
		\PassOptionsToPackage{hyperpageref}{backref}
		\RequirePackage{backref} % to be loaded after hyperref package 
		   \renewcommand{\backreftwosep}{ and~} % seperate 2 pages
		   \renewcommand{\backreflastsep}{, and~} % seperate last of longer list
		   \renewcommand*{\backref}[1]{}  % Disable standard
		   \renewcommand*{\backrefalt}[4]{% Detailed backref
		      \ifcase #1 %
		         \backrefnotcitedstring%
		      \or%
		         \backrefcitedsinglestring{#2}%
		      \else%
		         \backrefcitedmultistring{#2}%
		      \fi}%
}{\relax}
   
%   \hspace*{\fill}{\scriptsize\itshape\mbox{%
%   \ifnum#1=1 %
%     (Cited on page~%
%   \else
%     (Cited on pages~%
%   \fi
%   #2)}
%}    

% ********************************************************************
% Language/strings for backrefs (change here, thanks, Lorenzo)
%*******************************************************
%\renewcommand{\backrefnotcitedstring}{\relax}%(Not cited.)
%\renewcommand{\backrefcitedsinglestring}[1]{(Citato a pagina~#1.)}
%\renewcommand{\backrefcitedmultistring}[1]{(Citato alle pagine~#1.)}
%\renewcommand{\backreftwosep}{ e~}
%\renewcommand{\backreflastsep}{ e~}

% ********************************************************************
% Listings setup
% ********************************************************************
%\lstset{emph={trueIndex,root},emphstyle=\color{BlueViolet}}%\underbar} % for special keywords
% ********************************************************************
\lstset{language=[LaTeX]Tex,%C++,
    keywordstyle=\color{RoyalBlue},%\bfseries,
    basicstyle=\small\ttfamily,
    %identifierstyle=\color{NavyBlue},
    commentstyle=\color{Green}\ttfamily,
    stringstyle=\rmfamily,
    numbers=none,%left,%
    numberstyle=\scriptsize,%\tiny
    stepnumber=5,
    numbersep=8pt,
    showstringspaces=false,
    breaklines=true,
    frameround=ftff,
    frame=single,
    belowcaptionskip=.75\baselineskip
    %frame=L
} 

% ********************************************************************
% Hyperreferences
%*******************************************************
\hypersetup{%
		%draft,	% = no hyperlinking at all (useful in b/w printouts)
    colorlinks=true, linktocpage=true, pdfstartpage=3, pdfstartview=FitV,%
    % uncomment the following line if you want to have black links (e.g., for printing)
    %colorlinks=false, linktocpage=false, pdfborder={0 0 0}, pdfstartpage=3, pdfstartview=FitV,% 
    breaklinks=true, pdfpagemode=UseNone, pageanchor=true, pdfpagemode=UseOutlines,%
    plainpages=false, bookmarksnumbered, bookmarksopen=true, bookmarksopenlevel=1,%
    hypertexnames=true, pdfhighlight=/O,%hyperfootnotes=true,%nesting=true,%frenchlinks,%
    urlcolor=webbrown, linkcolor=RoyalBlue, citecolor=webgreen, %pagecolor=RoyalBlue,%
    %urlcolor=Black, linkcolor=Black, citecolor=Black, %pagecolor=Black,%
    pdftitle={\myTitle},%
    pdfauthor={\textcopyright\ \myName, \myUni, \myFaculty},%
    pdfsubject={},%
    pdfkeywords={},%
    pdfcreator={pdfLaTeX},%
    pdfproducer={LaTeX with hyperref and classicthesis}%
}   

% ********************************************************************
% Last, but not least...
%*******************************************************
\RequirePackage{classicthesis} 


