From 68339702fcf94b21ba37cc0a8e745c07aabb6ef0 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Tue, 21 Sep 2021 17:03:34 +0200 Subject: Create thesis with latex template --- doc/thesis/tex/classicthesis-config.tex | 272 +++++++++++++ doc/thesis/tex/classicthesis.sty | 687 ++++++++++++++++++++++++++++++++ 2 files changed, 959 insertions(+) create mode 100644 doc/thesis/tex/classicthesis-config.tex create mode 100644 doc/thesis/tex/classicthesis.sty (limited to 'doc/thesis/tex') diff --git a/doc/thesis/tex/classicthesis-config.tex b/doc/thesis/tex/classicthesis-config.tex new file mode 100644 index 0000000..87ef817 --- /dev/null +++ b/doc/thesis/tex/classicthesis-config.tex @@ -0,0 +1,272 @@ +% **************************************************************************************************** +% classicthesis-config.tex +% formerly known as loadpackages.sty, classicthesis-ldpkg.sty, and classicthesis-preamble.sty +% Use it at the beginning of your ClassicThesis.tex, or as a LaTeX Preamble +% in your ClassicThesis.{tex,lyx} with \input{classicthesis-config} +% **************************************************************************************************** +% If you like the classicthesis, 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 +% **************************************************************************************************** + + +% **************************************************************************************************** +% 0. Set the encoding of your files. UTF-8 is the only sensible encoding nowadays. If you can't read +% äöüßáéçèê∂åëæƒÏ€ then change the encoding setting in your editor, not the line below. If your editor +% does not support utf8 use another editor! +% **************************************************************************************************** +\PassOptionsToPackage{utf8}{inputenc} + \usepackage{inputenc} + +\PassOptionsToPackage{T1}{fontenc} % T2A for cyrillics + \usepackage{fontenc} + + +% **************************************************************************************************** +% 1. Configure classicthesis for your needs here, e.g., remove "drafting" below +% in order to deactivate the time-stamp on the pages +% (see ClassicThesis.pdf for more information): +% **************************************************************************************************** +\PassOptionsToPackage{ + drafting=true, % print version information on the bottom of the pages + tocaligned=false, % the left column of the toc will be aligned (no indentation) + dottedtoc=false, % page numbers in ToC flushed right + eulerchapternumbers=true, % use AMS Euler for chapter font (otherwise Palatino) + linedheaders=false, % chaper headers will have line above and beneath + floatperchapter=true, % numbering per chapter for all floats (i.e., Figure 1.1) + eulermath=false, % use awesome Euler fonts for mathematical formulae (only with pdfLaTeX) + beramono=true, % toggle a nice monospaced font (w/ bold) + palatino=true, % deactivate standard font for loading another one, see the last section at the end of this file for suggestions + style=classicthesis % classicthesis, arsclassica +}{classicthesis} + + +% **************************************************************************************************** +% 2. Personal data and user ad-hoc commands (insert your own data here) +% **************************************************************************************************** +\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é Miede \& Ivo Pletikosić\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}{Put data here\xspace} +\newcommand{\myLocation}{Saarbrücken\xspace} +\newcommand{\myTime}{June 2018\xspace} +\newcommand{\myVersion}{\classicthesis} + +% ******************************************************************** +% Setup, finetuning, and useful commands +% ******************************************************************** +\providecommand{\mLyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@} +\newcommand{\ie}{i.\,e.} +\newcommand{\Ie}{I.\,e.} +\newcommand{\eg}{e.\,g.} +\newcommand{\Eg}{E.\,g.} +% **************************************************************************************************** + + +% **************************************************************************************************** +% 3. Loading some handy packages +% **************************************************************************************************** +% ******************************************************************** +% Packages with options that might require adjustments +% ******************************************************************** +\PassOptionsToPackage{ngerman,american}{babel} % change this to your language(s), main language last +% Spanish languages need extra options in order to work with this template +%\PassOptionsToPackage{spanish,es-lcroman}{babel} + \usepackage{babel} + +\usepackage{csquotes} +\PassOptionsToPackage{% + %backend=biber,bibencoding=utf8, %instead of bibtex + backend=bibtex8,bibencoding=ascii,% + language=auto,% + style=numeric-comp,% + %style=authoryear-comp, % Author 1999, 2010 + %bibstyle=authoryear,dashed=false, % dashed: substitute rep. author with --- + sorting=nyt, % name, year, title + maxbibnames=10, % default: 3, et al. + %backref=true,% + natbib=true % natbib compatibility mode (\citep and \citet still work) +}{biblatex} + \usepackage{biblatex} + +\PassOptionsToPackage{fleqn}{amsmath} % math environments and more by the AMS + \usepackage{amsmath} + +% ******************************************************************** +% General useful packages +% ******************************************************************** +\usepackage{graphicx} % +\usepackage{scrhack} % fix warnings when using KOMA with listings package +\usepackage{xspace} % to get the spacing after macros right +\PassOptionsToPackage{printonlyused,smaller}{acronym} + \usepackage{acronym} % nice macros for handling all acronyms in the thesis + %\renewcommand{\bflabel}[1]{{#1}\hfill} % fix the list of acronyms --> no longer working + %\renewcommand*{\acsfont}[1]{\textsc{#1}} + %\renewcommand*{\aclabelfont}[1]{\acsfont{#1}} + %\def\bflabel#1{{#1\hfill}} + \def\bflabel#1{{\acsfont{#1}\hfill}} + \def\aclabelfont#1{\acsfont{#1}} +% **************************************************************************************************** +%\usepackage{pgfplots} % External TikZ/PGF support (thanks to Andreas Nautsch) +%\usetikzlibrary{external} +%\tikzexternalize[mode=list and make, prefix=ext-tikz/] +% **************************************************************************************************** + + +% **************************************************************************************************** +% 4. Setup floats: tables, (sub)figures, and captions +% **************************************************************************************************** +\usepackage{tabularx} % better tables + \setlength{\extrarowheight}{3pt} % increase table row height +\newcommand{\tableheadline}[1]{\multicolumn{1}{l}{\spacedlowsmallcaps{#1}}} +\newcommand{\myfloatalign}{\centering} % to be used with each float for alignment +\usepackage{subfig} +% **************************************************************************************************** + + +% **************************************************************************************************** +% 5. Setup code listings +% **************************************************************************************************** +\usepackage{listings} +%\lstset{emph={trueIndex,root},emphstyle=\color{BlueViolet}}%\underbar} % for special keywords +\lstset{language=[LaTeX]Tex,%C++, + morekeywords={PassOptionsToPackage,selectlanguage}, + 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 +} +% **************************************************************************************************** + + + + +% **************************************************************************************************** +% 6. Last calls before the bar closes +% **************************************************************************************************** +% ******************************************************************** +% Her Majesty herself +% ******************************************************************** +\usepackage{classicthesis} + + +% ******************************************************************** +% Fine-tune hyperreferences (hyperref should be called last) +% ******************************************************************** +\hypersetup{% + %draft, % hyperref's draft mode, for printing see below + 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, pdfstartpage=3, pdfstartview=FitV, pdfborder={0 0 0},% + breaklinks=true, pageanchor=true,% + pdfpagemode=UseNone, % + % pdfpagemode=UseOutlines,% + plainpages=false, bookmarksnumbered, bookmarksopen=true, bookmarksopenlevel=1,% + hypertexnames=true, pdfhighlight=/O,%nesting=true,%frenchlinks,% + urlcolor=CTurl, linkcolor=CTlink, citecolor=CTcitation, %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}% +} + + +% ******************************************************************** +% Setup autoreferences (hyperref and babel) +% ******************************************************************** +% There are some issues regarding autorefnames +% http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latexwords +% you have to redefine the macros for the +% language you use, e.g., american, ngerman +% (as chosen when loading babel/AtBeginDocument) +% ******************************************************************** +\makeatletter +\@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 (thanks to Belinda Vogt for changing the definition) + \providecommand{\subfigureautorefname}{\figureautorefname}% + }{\relax} +\makeatother + + +% ******************************************************************** +% Development Stuff +% ******************************************************************** +\listfiles +%\PassOptionsToPackage{l2tabu,orthodox,abort}{nag} +% \usepackage{nag} +%\PassOptionsToPackage{warning, all}{onlyamsmath} +% \usepackage{onlyamsmath} + + +% **************************************************************************************************** +% 7. Further adjustments (experimental) +% **************************************************************************************************** +% ******************************************************************** +% Changing the text area +% ******************************************************************** +%\areaset[current]{312pt}{761pt} % 686 (factor 2.2) + 33 head + 42 head \the\footskip +%\setlength{\marginparwidth}{7em}% +%\setlength{\marginparsep}{2em}% + +% ******************************************************************** +% Using different fonts +% ******************************************************************** +%\usepackage[oldstylenums]{kpfonts} % oldstyle notextcomp +% \usepackage[osf]{libertine} +%\usepackage[light,condensed,math]{iwona} +%\renewcommand{\sfdefault}{iwona} +%\usepackage{lmodern} % <-- no osf support :-( +%\usepackage{cfr-lm} % +%\usepackage[urw-garamond]{mathdesign} <-- no osf support :-( +%\usepackage[default,osfigures]{opensans} % scale=0.95 +%\usepackage[sfdefault]{FiraSans} +% \usepackage[opticals,mathlf]{MinionPro} % onlytext +% ******************************************************************** +%\usepackage[largesc,osf]{newpxtext} +%\linespread{1.05} % a bit more for Palatino +% Used to fix these: +% https://bitbucket.org/amiede/classicthesis/issues/139/italics-in-pallatino-capitals-chapter +% https://bitbucket.org/amiede/classicthesis/issues/45/problema-testatine-su-classicthesis-style +% ******************************************************************** +% **************************************************************************************************** diff --git a/doc/thesis/tex/classicthesis.sty b/doc/thesis/tex/classicthesis.sty new file mode 100644 index 0000000..0105d61 --- /dev/null +++ b/doc/thesis/tex/classicthesis.sty @@ -0,0 +1,687 @@ +% ******************************************************************** +% classicthesis.sty +% +% Copyright (C) 2018 André Miede and Ivo Pletikosić +% +% 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. +% +% ******************************************************************** +% Important: +% +% This style can also be used without the thesis template. +% It works with LaTeX, PDFLaTeX, XeLaTeX and LuaLaTeX. +% +% ******************************************************************** +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{classicthesis}[2018/06/03 v4.6 Typographic style for a classic-looking thesis] +\providecommand{\classicthesis}{classicthesis v4.6} +% Removed due to hint by David Carlisle and Ulrike Fischer +% \PassOptionsToPackage{latest}{latexrelease} % replacement for fixltx2e, +% \RequirePackage{latexrelease} % emulate newer kernel version if older is detected + +\RequirePackage{ifthen} + +% ******************************************************************** +% Options +% ******************************************************************** +\RequirePackage{kvoptions} +\SetupKeyvalOptions{family=ct, prefix=ct@} + +\DeclareBoolOption{drafting} % print version information on all pages + +\DeclareBoolOption{tocaligned} % the left column of the toc will be aligned (no indentation) +\DeclareBoolOption{dottedtoc} % page numbers in ToC flushed right +\DeclareBoolOption{listsseparated} % OBSOLETE; toggles the vertical space between lof/lot entries of different chapters + +\DeclareBoolOption[true]{parts} % OBSOLETE - automatic check; use part division + +\DeclareBoolOption{nochapters} % OBSOLETE - automatic check; disable all chapter-specific commands +\DeclareBoolOption{eulerchapternumbers} % use AMS Euler for chapter font (otherwise Palatino) +\DeclareBoolOption{linedheaders} % chaper headers will have line above and beneath +\DeclareBoolOption{floatperchapter} % numbering per chapter for all floats (i.e., Figure 1.1) +\DeclareBoolOption{manychapters} % additional space in ToC after chapter number (if two digits are needed) + +\DeclareBoolOption{listings} % OBSOLETE - automatic check; load listings package and setup LoL +\DeclareBoolOption{subfig} % OBSOLETE - automatic check; setup for preloaded @subfig package + +\DeclareBoolOption{eulermath} % use awesome Euler fonts for mathematical formulae; only with pdflatex +\DeclareBoolOption[true]{beramono} % toggle a nice monospaced font (w/ bold) + pre-installed +\DeclareBoolOption{minionpro} % OBSOLETE - removed; setup for minion pro font; use minion pro small caps as well +\DeclareBoolOption[true]{palatino} % default is Palatino/Paladio/TeX Gyre Pagella font, use this switch to skip selection +\DeclareStringOption[classicthesis]{style} % classicthesis or arsclassica +\DeclareBoolOption{minionprospacing} % OBSOLETE; use minion pro's textssc for letter spacing +\DeclareBoolOption{pdfspacing} % OBSOLETE; use pdftex for letterspacing (via microtype) + +\DeclareBoolOption{a4paper} +\DeclareBoolOption{a5paper} +\DeclareBoolOption{b5paper} +\DeclareBoolOption{letterpaper} +\DeclareStringOption[a4]{paper} % paper size defaults to A4 +\ProcessKeyvalOptions{ct} + + +%%% seems that KOMA-Script gives preference to old-style paper options, thus first +\ifthenelse{\boolean{ct@letterpaper}}{\renewcommand*{\ct@paper}{letter}}{} +\ifthenelse{\boolean{ct@a5paper}}{\renewcommand*{\ct@paper}{a5}}{} +\ifthenelse{\boolean{ct@b5paper}}{\renewcommand*{\ct@paper}{b5}}{} +\ifthenelse{\boolean{ct@a4paper}}{\renewcommand*{\ct@paper}{a4}}{} + +\ifthenelse{\equal{\ct@paper}{letter}\OR\equal{\ct@paper}{a5}\OR\equal{\ct@paper}{b5}\OR\equal{\ct@paper}{a4}}{\relax}% + {\PackageWarningNoLine{classicthesis}{Text area setup only provided for paper sizes: letter, a5, b5, a4. You are using paper=\ct@paper}} + + +% subfig-related stuff +\@ifpackageloaded{subfig}% + {\setboolean{ct@subfig}{true}% + }{\relax} + +\ifthenelse{\boolean{ct@subfig}}% + {\PassOptionsToPackage{subfigure}{tocloft}% + }{\relax}% + +% listings-related stuff +\@ifpackageloaded{listings}% + {\setboolean{ct@listings}{true}% + }{\relax} + +\ifthenelse{\boolean{ct@listings}}% + {\RequirePackage{listings}% + }{\relax} + + +% fine-tuning if we do not use chapters +\ifthenelse{\isundefined{\chapter}\OR\boolean{ct@nochapters}} + { + \PackageWarningNoLine{classicthesis}{Chapter sectioning command not present in this document class. % + Deactivating options floatperchapter, linedheaders, manychapters, listsseparated, eulerchapternumbers}% + \setboolean{ct@linedheaders}{false} + \setboolean{ct@listsseparated}{false} + \setboolean{ct@eulerchapternumbers}{false} + \setboolean{ct@parts}{false} + \setboolean{ct@manychapters}{false} + \setboolean{ct@floatperchapter}{false} + \setboolean{ct@nochapters}{true} + }{\relax} + +% no parts in document class +\ifthenelse{\NOT\isundefined{\part}\AND\boolean{ct@parts}} + {\setboolean{ct@parts}{true}}{\setboolean{ct@parts}{false}} + +% use arsclassica style +\provideboolean{ct@arsclassica} +\ifthenelse{\equal{\ct@style}{arsclassica}}% + {%\setboolean{ct@eulerchapternumbers}{true}% for arsclassica only eulerchapternumbers + \setboolean{ct@arsclassica}{true}}{\setboolean{ct@arsclassica}{false}} + +% ******************************************************************** +% PDF and XeLaTeX Stuff +% ******************************************************************** +\RequirePackage{ifpdf} +\RequirePackage{ifxetex} +\RequirePackage{ifluatex} + +% ******************************************************************** +% Colors +% ******************************************************************** +\PassOptionsToPackage{dvipsnames}{xcolor} + \RequirePackage{xcolor} % [dvipsnames] +\definecolor{CTsemi}{gray}{0.55} % chapter numbers will be semi transparent .5 .55 .6 .0 +\definecolor{CTcitation}{rgb}{0,0.5,0} % WebGreen +\definecolor{CTurl}{named}{Maroon} % Maroon +\definecolor{CTtitle}{named}{Maroon} % Maroon {cmyk}{0, 0.87, 0.68, 0.32} +\definecolor{CTlink}{named}{RoyalBlue} % RoyalBlue {cmyk}{1, 0.50, 0, 0} +\definecolor{halfgray}{gray}{0.55} % chapter numbers will be semi transparent .5 .55 .6 .0 +\definecolor{webgreen}{rgb}{0,0.5,0} +\definecolor{webbrown}{rgb}{0.6,0,0} + +% ******************************************************************** +% Font Stuff +% ******************************************************************** +\ifthenelse{\boolean{xetex}\OR\boolean{luatex}} + { % use fontspec and OpenType fonts with utf8 engines + \RequirePackage{fontspec} + \ifthenelse{\boolean{ct@palatino}}% default + { + \setmainfont[Ligatures=TeX,Numbers=OldStyle]{TeX Gyre Pagella} % Palatino clone + \linespread{1.05} % a bit more for Palatino + \RequirePackage{unicode-math} + \setmathfont{TeX Gyre Pagella Math} + }{\relax} % use class' default font + \ifthenelse{\boolean{ct@beramono}}% + {\setmonofont[Scale=0.85]{DejaVu Sans Mono}} % like Bera; Scale=MatchLowercase + {\setmonofont[Scale=1]{Latin Modern Mono}} + % font for the chapter numbers will be defined in the old way below + % because there is no OpenType Euler font; this is how it should be done: + %\newfontface\chapterNumber[Scale=7,Color=000000]{TeX Gyre Pagella Bold} + } + { % use Type 1 fonts with pdflatex + \ifthenelse{\boolean{ct@palatino}}% default + { + % default: Palatino + \PassOptionsToPackage{osf,sc}{mathpazo}% + \RequirePackage{mathpazo} % Palatino with real small caps and old style figures + \linespread{1.05} % a bit more for Palatino + }{\relax} + + \ifthenelse{\boolean{ct@beramono}}% + {\PassOptionsToPackage{scaled=0.85}{beramono}% + \RequirePackage{beramono}% + }{% + \relax% + % put your own suitable typewriter font here + %\renewcommand{\ttdefault}{\rmdefault} + } + + \ifthenelse{\boolean{ct@eulermath}}% + {\PassOptionsToPackage{euler-digits}{eulervm}% + \RequirePackage{eulervm}} % Euler math fonts + {\relax} + } + + \ifthenelse{\boolean{ct@eulerchapternumbers}}% font for the chapter numbers + {\DeclareFixedFont{\chapterNumber}{U}{eur}{b}{n}{70}}% + {\DeclareFixedFont{\chapterNumber}{T1}{pplj}{m}{n}{70}}% + %{\newfont{\chapterNumber}{eurb10 scaled 7000}}% + %{\newfont{\chapterNumber}{pplr9d scaled 7000}} + % Euler eurb10 / Palatino OSF pplr9d / Palatino SC pplrc9d + % Latin Modern cork-lmr10 / Minion MinionPro-Regular-osf-t1 + % (MinionPro-SemiboldCapt-osf-t1 MinionPro-SemiboldDisp-osf-t1) + + + + +\RequirePackage{microtype} % character protruding and other micro-typography stuff +% [expansion=false] + + +% ******************************************************************** +% Textblock size +%******************************************************* +\PassOptionsToPackage{headinclude,footinclude}{typearea} % for classes other than KOMA +\RequirePackage{typearea} + +\ifthenelse{\equal{\ct@paper}{letter}}% + {% Letter 216mm x 279mm + \PackageInfo{classicthesis}{letter paper, Palatino or other} + \areaset[current]{356pt}{700pt}% guessing from A4 values + \setlength{\marginparwidth}{7em}% + \setlength{\marginparsep}{2em}% + }{\relax} +\ifthenelse{\equal{\ct@paper}{b5}}% + {% B5 176mm x 250mm + % Thanks to Jos\'e M. Alcaide + \PackageInfo{classicthesis}{B5 paper, Palatino or other}% + \areaset[current]{311pt}{645pt}% + \setlength{\marginparwidth}{6em}% + \setlength{\marginparsep}{1.5em}% + }{\relax} +\ifthenelse{\equal{\ct@paper}{a5}}% + {% A5 148mm x 210mm + \PackageInfo{classicthesis}{A5 paper, Palatino or other}% + \areaset[current]{288pt}{555pt}% + \setlength{\marginparwidth}{4em}% + \setlength{\marginparsep}{1.25em}% + }{\relax} +\ifthenelse{\equal{\ct@paper}{a4}}% + {% A4 210mm x 297mm + \PackageInfo{classicthesis}{A4 paper, Palatino or other} + \areaset[current]{336pt}{750pt} % ~ 336 * factor 2 + 33 head + 42 \the\footskip + % \areaset{336pt}{761pt} % 686 (factor 2.2) + 33 head + 42 head \the\footskip 10pt + \setlength{\marginparwidth}{7em}% + \setlength{\marginparsep}{2em}% + }{\relax} + +% Here are some suggestions for the text widths and heights: +% Palatino 10pt: 288--312pt | 609--657pt +% Palatino 11pt: 312--336pt | 657--705pt +% Palatino 12pt: 360--384pt | 768pt +% Minion 10pt: 264--288pt | 561--609pt +% Minion 11pt: 288--312pt | 609--657pt +% Minion 12pt: 336pt | 672pt + + +% ******************************************************************** +% Own Stuff +% ******************************************************************** +% Disable single lines at the start of a paragraph (Schusterjungen) +\clubpenalty = 10000 +% Disable single lines at the end of a paragraph (Hurenkinder) +\widowpenalty = 10000 +\displaywidowpenalty = 10000 % formulas + +% Graffiti as in GKP's book "Concrete Mathematics" +% thanks to Lorenzo Pantieri and Enrico Gregorio +\def\graffito@setup{% +% \slshape\footnotesize% this was due to \slhape in above book + \itshape\footnotesize\leavevmode\color{Black}% + \parindent=0pt \lineskip=0pt \lineskiplimit=0pt % + \tolerance=2000 \hyphenpenalty=300 \exhyphenpenalty=300% + \doublehyphendemerits=100000% + \finalhyphendemerits=\doublehyphendemerits} +%\DeclareRobustCommand{\graffito}[1]{\marginpar% +% [\graffito@setup\raggedleft\hspace{0pt}{#1}]% +% {\graffito@setup\raggedright\hspace{0pt}{#1}}} + +\RequirePackage{mparhack} % get marginpar right + +\let\oldmarginpar\marginpar +\renewcommand{\marginpar}[2][]{% always add optional parameter, make it empty by default + \if\relax\detokenize{#1}\relax% optional parameter empty, in all normal document calls + \oldmarginpar[\graffito@setup\raggedleft\hspace{0pt}{#2}]{\graffito@setup\raggedright\hspace{0pt}#2}% + \else%two parameters, let them use their styling + \oldmarginpar[{#1}]{#2}% + \fi% +} + + +% Enumeration environment with small caps +\newenvironment{aenumerate} + {\def\theenumi{\textsc{\alph{enumi}}}% + \enumerate} + {\endenumerate} + +% ******************************************************************** +% Fancy Stuff +% ******************************************************************** +\RequirePackage{booktabs} % for better rules in tables +\RequirePackage{textcase} % for \MakeTextUppercase + +% Provide a hook for font customization, e.g., for arsclassica +\newcommand{\ct@altfont}{}% \color{red}\sffamily +\newcommand{\ct@caps}{\ct@altfont\scshape} % typesetting smallcaps + +%%% define spacedallcaps and spacedlowsmallcaps +%%% engine-dependent letterspacing: microtype for pdflatex, fontspec for xelatex and luatex + \ifthenelse{\boolean{pdf}\OR\boolean{luatex}}{ % pdf will soon test true for both pdflatex and luatex; \AND\NOT\boolean{luatex} + \PackageInfo{classicthesis}{Using microtype for character spacing.% + Make sure your pdflatex is version 1.40 or higher.}% + % \microtypesetup{expansion=false} + \microtypesetup{protrusion=true,expansion=true} + \DeclareRobustCommand{\spacedallcaps}[1]{\textls[160]{\ct@caps\MakeTextUppercase{#1}}} + \DeclareRobustCommand{\spacedlowsmallcaps}[1]{\textls[80]{\ct@caps\MakeTextLowercase{#1}}} + }{\relax} + + \ifthenelse{\boolean{xetex}}{ % use fontspec features; \OR\boolean{luatex} does not work well + \PackageInfo{classicthesis}{Using fontspec for character spacing.}% + \microtypesetup{expansion=false} + \DeclareRobustCommand{\spacedallcaps}[1]{{\addfontfeature{LetterSpace=18.0}\ct@caps\MakeTextUppercase{#1}}}% WordSpace=1.8 + \DeclareRobustCommand{\spacedlowsmallcaps}[1]{{\addfontfeatures{LetterSpace=14.0}\ct@caps\MakeTextLowercase{#1}}}% WordSpace=1.8 + }{\relax} + +% ******************************************************************** +% headlines +% ******************************************************************** +%\PassOptionsToPackage{automark}{scrpage2} +\PassOptionsToPackage{automark}{scrlayer-scrpage} + %\RequirePackage{scrpage2} % provides headers and footers (KOMA Script) + \RequirePackage{scrlayer-scrpage} % provides headers and footers (KOMA Script) + \clearpairofpagestyles + %\setheadsepline{0pt} + \let\MakeMarkcase\spacedlowsmallcaps + \ifthenelse{\boolean{ct@nochapters}}% + {\relax}% + {\renewcommand{\chaptermark}[1]{\markboth{\spacedlowsmallcaps{#1}}{\spacedlowsmallcaps{#1}}}} + \renewcommand{\sectionmark}[1]{\markright{\textsc{\thesection}\enspace\spacedlowsmallcaps{#1}}} + \lehead{\mbox{\llap{\small\pagemark\kern2em}\headmark\hfil}} + \rohead{\mbox{\hfil{\headmark}\rlap{\small\kern2em\pagemark}}} + \ofoot[\small\pagemark]{}% only for plain.scrheadings page style (first page of a chapter) + \renewcommand{\headfont}{\small} +% \DeclareRobustCommand{\fixBothHeadlines}[2]{} % <--- ToDo + % hack to get the content headlines right (thanks, Lorenzo!) + \def\toc@heading{% + \ifthenelse{\boolean{ct@nochapters}}% + {\section*{\contentsname}}%nochapters + {\chapter*{\contentsname}}%chapters + \@mkboth{\spacedlowsmallcaps{\contentsname}}{\spacedlowsmallcaps{\contentsname}}} %%%IVO: what does this do? + + +% ******************************************************************** +% layout of the chapter-, section-, subsection-, subsubsection-, +% paragraph and description-headings +% ******************************************************************** +\RequirePackage[newparttoc]{titlesec} % newparttoc to write \part to .toc with \numberline +\ifthenelse{\boolean{ct@nochapters}}{\relax}{\titleclass{\chapter}{top}} % thanks to Javier Bezos of titlesec +\def\ttl@addcontentsline#1#2{% this is from titlesec.sty + \addcontentsline{toc}{#1}{\ifttl@toclabel\ttl@a\fi{#2}}% write titles as a group inside {} + \nobreak} +% parts +\ifthenelse{\boolean{ct@parts}}% +{% + \newcommand{\ctparttext}[1]{\renewcommand{\ctparttext@keep}{#1}} + \def\ctparttext@keep{} % Thanks to Ivo + \def\ctparttext@print{\ctparttext@keep \gdef\ctparttext@keep{}} + \titleformat{\part}[display] + {\normalfont\ct@altfont\centering\large}% + {\thispagestyle{empty}\partname~\MakeTextUppercase{\thepart}}{1em}% + {\color{CTtitle}\spacedallcaps}[\bigskip\normalfont\normalsize\color{Black}\begin{quote}\ctparttext@print\end{quote}] +}{\relax} +% chapters +\ifthenelse{\boolean{ct@linedheaders}}% +{% lines above and below, number right + \titleformat{\chapter}[display]% + {\relax}{\raggedleft{\color{CTsemi}\chapterNumber\thechapter} \\ }{0pt}% + {\titlerule\vspace*{.9\baselineskip}\raggedright\spacedallcaps}[\normalsize\vspace*{.8\baselineskip}\titlerule]% +}{% something like Bringhurst + \titleformat{\chapter}[display]% + {\relax}{\mbox{}\oldmarginpar{\vspace*{-3\baselineskip}\color{CTsemi}\chapterNumber\thechapter}}{0pt}% + {\raggedright\spacedallcaps}[\normalsize\vspace*{.8\baselineskip}\titlerule]% +} +% sections \FloatBarrier +\titleformat{\section} + {\relax}{\textsc{\MakeTextLowercase{\thesection}}}{1em}{\spacedlowsmallcaps} +% subsections +\titleformat{\subsection} + {\relax}{\textsc{\MakeTextLowercase{\thesubsection}}}{1em}{\normalsize\itshape} +% subsubsections +\titleformat{\subsubsection} + {\relax}{\textsc{\MakeTextLowercase{\thesubsubsection}}}{1em}{\normalsize\itshape} +% paragraphs +\titleformat{\paragraph}[runin] + {\normalfont\normalsize}{\theparagraph}{0pt}{\spacedlowsmallcaps} +% descriptionlabels + \renewcommand{\descriptionlabel}[1]{\hspace*{\labelsep}\spacedlowsmallcaps{#1}} % spacedlowsmallcaps textit textsc +% spacing +\ifthenelse{\boolean{ct@nochapters}}% + {\relax}% + {\titlespacing*{\chapter}{0pt}{1\baselineskip}{1.2\baselineskip}} +\titlespacing*{\section}{0pt}{1.25\baselineskip}{1\baselineskip} +\titlespacing*{\subsection}{0pt}{1.25\baselineskip}{1\baselineskip} +\titlespacing*{\paragraph}{0pt}{1\baselineskip}{1\baselineskip} + +% ******************************************************************** +% layout of the TOC, LOF and LOT (LOL-workaround see next section) +% ******************************************************************** +\PassOptionsToPackage{titles}{tocloft} +\RequirePackage{tocloft} +% avoid page numbers being right-aligned in fixed-size box +\newlength{\newnumberwidth} +\settowidth{\newnumberwidth}{999} % yields overfull hbox warnings for pages > 999 +\cftsetpnumwidth{\newnumberwidth} + +% have the bib neatly positioned after the rest +\newlength{\beforebibskip} +\setlength{\beforebibskip}{0em} + +% space for more than nine chapters +\newlength{\newchnumberwidth} +\settowidth{\newchnumberwidth}{.} % <--- tweak here if more space required +\ifthenelse{\boolean{ct@manychapters}}% <--- many chapters option +{% + \addtolength{\cftchapnumwidth}{\newchnumberwidth}% + \addtolength{\cftsecnumwidth}{\newchnumberwidth} + \addtolength{\cftsecindent}{\newchnumberwidth} + \addtolength{\cftsubsecnumwidth}{\newchnumberwidth} + \addtolength{\cftsubsecindent}{2\newchnumberwidth} + \addtolength{\cftsubsubsecnumwidth}{\newchnumberwidth} +}{\relax}% + +% pagenumbers right after the titles +% parts +\ifthenelse{\boolean{ct@parts}}% +{% + \renewcommand{\thepart}{\roman{part}}% + \renewcommand{\cftpartpresnum}{\scshape}% \MakeTextLowercase + \renewcommand{\cftpartaftersnum}{}% + \renewcommand{\cftpartaftersnumb}{\spacedlowsmallcaps}% + \setlength{\cftpartnumwidth}{\cftchapnumwidth} + \renewcommand{\cftpartfont}{\color{CTtitle}\normalfont}% + \cftpagenumbersoff{part} + \renewcommand{\cftpartpagefont}{\normalfont}% + \ifthenelse{\boolean{ct@dottedtoc}}{\relax}% + {% + \renewcommand{\cftpartleader}{\hspace{1.5em}}% + \renewcommand{\cftpartafterpnum}{\cftparfillskip}% + }% + \setlength{\cftbeforepartskip}{1em}% + \setlength{\cftbeforechapskip}{.1em}% + \setlength{\beforebibskip}{1.5\cftbeforepartskip}% +}{\relax} +% chapters +\ifthenelse{\boolean{ct@nochapters}}% + {\relax}% + {% + \renewcommand{\cftchappresnum}{\spacedlowsmallcaps}% + \renewcommand{\cftchapaftersnumb}{\spacedlowsmallcaps}% + \renewcommand{\cftchapfont}{\normalfont}% + \renewcommand{\cftchappagefont}{\normalfont}% + \ifthenelse{\boolean{ct@dottedtoc}}{\relax}% + {% + \renewcommand{\cftchapleader}{\hspace{1.5em}}% + \renewcommand{\cftchapafterpnum}{\cftparfillskip}% + } + %\setlength{\cftbeforechapskip}{.1em}% + } +% sections +\ifthenelse{\boolean{ct@nochapters}}% + {% + \setlength{\cftbeforesecskip}{.1em}% + \setlength{\beforebibskip}{1em}% + }% + {\relax} +\renewcommand{\cftsecpresnum}{\scshape\MakeTextLowercase}% +\renewcommand{\cftsecfont}{\normalfont}% +\renewcommand{\cftsecpagefont}{\normalfont}% +\ifthenelse{\boolean{ct@dottedtoc}}{\relax}% + {% + \renewcommand{\cftsecleader}{\hspace{1.5em}}% + \renewcommand{\cftsecafterpnum}{\cftparfillskip}% + } + \ifthenelse{\boolean{ct@tocaligned}}{\renewcommand{\cftsecindent}{0em}}{\relax} +% subsections +\renewcommand{\cftsubsecpresnum}{\scshape\MakeTextLowercase}% +\renewcommand{\cftsubsecfont}{\normalfont}% +\ifthenelse{\boolean{ct@dottedtoc}}{\relax}% +{% + \renewcommand{\cftsubsecleader}{\hspace{1.5em}}% + \renewcommand{\cftsubsecafterpnum}{\cftparfillskip}% +} +\ifthenelse{\boolean{ct@tocaligned}}{\renewcommand{\cftsubsecindent}{0em}}{\relax} +% subsubsections +\renewcommand{\cftsubsubsecpresnum}{\scshape\MakeTextLowercase}% +\renewcommand{\cftsubsubsecfont}{\normalfont}% +\ifthenelse{\boolean{ct@dottedtoc}}{\relax}% +{% + \renewcommand{\cftsubsubsecleader}{\hspace{1.5em}}% + \renewcommand{\cftsubsubsecafterpnum}{\cftparfillskip}% +} +\ifthenelse{\boolean{ct@tocaligned}}{\renewcommand{\cftsubsubsecindent}{0em}}{\relax} +% figures +\renewcommand{\cftfigpresnum}{\scshape\MakeTextLowercase}% +\renewcommand{\cftfigfont}{\normalfont}% +\ifthenelse{\boolean{ct@dottedtoc}}{\relax}% +{% + \renewcommand{\cftfigleader}{\hspace{1.5em}}% + \renewcommand{\cftfigafterpnum}{\cftparfillskip}% +} +\renewcommand{\cftfigpresnum}{\figurename~}%Fig.~} +\newlength{\figurelabelwidth} +\settowidth{\figurelabelwidth}{\cftfigpresnum~999} +\addtolength{\figurelabelwidth}{2.5em} +\cftsetindents{figure}{0em}{\figurelabelwidth} +% tables +\renewcommand{\cfttabpresnum}{\scshape\MakeTextLowercase}% +\renewcommand{\cfttabfont}{\normalfont}% +\ifthenelse{\boolean{ct@dottedtoc}}{\relax}% +{% + \renewcommand{\cfttableader}{\hspace{1.5em}}% + \renewcommand{\cfttabafterpnum}{\cftparfillskip}% +} +\renewcommand{\cfttabpresnum}{\tablename~}%Tab.~} +\newlength{\tablelabelwidth} +\settowidth{\tablelabelwidth}{\cfttabpresnum~999} +\addtolength{\tablelabelwidth}{2.5em} +%\cftsetindents{table}{0em}{\tablelabelwidth} +\cftsetindents{table}{0em}{\figurelabelwidth} +% listings +\ifthenelse{\boolean{ct@listings}}% +{% + \newlistof{listings}{lol}{\lstlistlistingname}% + \renewcommand{\cftlistingspresnum}{\scshape\MakeTextLowercase}% + \renewcommand{\cftlistingsfont}{\normalfont}% + \renewcommand{\cftlistingspresnum}{\lstlistingname~}% + \renewcommand{\cftlistingspagefont}{\normalfont}% + \ifthenelse{\boolean{ct@dottedtoc}}{\relax}% + {% + \renewcommand{\cftlistingsleader}{\hspace{1.5em}}% + \renewcommand{\cftlistingsafterpnum}{\cftparfillskip}% + } + \newlength{\listingslabelwidth}% + \settowidth{\listingslabelwidth}{\cftlistingspresnum~999}% + \addtolength{\listingslabelwidth}{2.5em}% + %\cftsetindents{listings}{0em}{\listingslabelwidth}% + \cftsetindents{listings}{0em}{\figurelabelwidth}% + \let\l@lstlisting\l@listings% + \let\lstlistoflistings\listoflistings% +}{\relax}% + +% dirty work-around to get the spacing after the toc/lot/lof-titles right +\ifthenelse{\boolean{ct@parts}}% +{% + \AtBeginDocument{\addtocontents{toc}{\protect\vspace{-\cftbeforepartskip}}} +}{% + \ifthenelse{\boolean{ct@nochapters}}% + {\relax}% + {\AtBeginDocument{\addtocontents{toc}{\protect\vspace{-\cftbeforechapskip}}}} +} + +\newcommand{\tocEntry}[1]{\protect\numberline {}{#1}}% + +%% remove the vertical space between lof/lot entries of different chapters +\ifthenelse{\boolean{ct@listsseparated}}{% + \PackageWarningNoLine{classicthesis}{Option "listsseparated" deprecated as of version 2.9.}% +}{\relax} +% \ifthenelse{\boolean{ct@listsseparated}}{% +% \AtBeginDocument{% +% \addtocontents{lof}{\protect\vspace{-\cftbeforechapskip}}% +% \addtocontents{lot}{\protect\vspace{-\cftbeforechapskip}}% +% \ifthenelse{\boolean{ct@listings}}% +% {% +% \addtocontents{lol}{\protect\vspace{-\cftbeforechapskip}}% +% }{\relax}% +% }% +% }{% + +\DeclareRobustCommand*{\deactivateaddvspace}{\let\addvspace\@gobble}% +\AtBeginDocument{% + \addtocontents{lof}{\deactivateaddvspace}% + \addtocontents{lot}{\deactivateaddvspace}% + \ifthenelse{\boolean{ct@listings}}% + {% + \addtocontents{lol}{\deactivateaddvspace}% + }{\relax}% +}% +% } + +% ******************************************************************** +% Footnotes setup +% ******************************************************************** +\ifdefined\deffootnote + % KOMA-command, footnotemark not superscripted at the bottom + \deffootnote{0em}{0em}{\thefootnotemark\hspace*{.5em}}% + \message{Using KOMA-command "deffootnote" for footnote setup}% +\else + \PassOptionsToPackage{marginal}{footmisc}% marginal flushmargin + \RequirePackage{footmisc}% + % \setlength{\footnotemargin}{-.5em}% + \PackageWarningNoLine{classicthesis}{Using package "footmisc" with option % + "marginal" for footnote setup (not 100\% the same as with KOMA)}% +\fi + +% ******************************************************************** +% Drafting Stuff +% ******************************************************************** +\RequirePackage{scrtime} % time access +\newcommand{\finalVersionString}{\relax} +\providecommand{\myVersion}{$\!\!$} % w/o classicthesis-config.tex +\ifthenelse{\boolean{ct@drafting}}{% +% \RequirePackage{draftwatermark}% +% \SetWatermarkLightness{0.9} +% \SetWatermarkScale{.5} +% \SetWatermarkText{\today\ at \thistime} + \PassOptionsToPackage{draft}{prelim2e} + \RequirePackage{prelim2e} + \renewcommand{\PrelimWords}{\relax} + \renewcommand{\PrelimText}{\footnotesize[\,\today\ at \thistime\ -- \myVersion\,]} +}{\renewcommand{\finalVersionString}{\emph{Final Version} as of \today\ (\myVersion).}} + +% ******************************************************************** +% Captions +% ******************************************************************** +% \PassOptionsToPackage{font=small}{caption} % ,format=hang ,labelformat=smallcaps +\RequirePackage{caption} +\captionsetup{font=small} +% Thanks to cgnieder and Claus Lahiri +% http://tex.stackexchange.com/questions/69349/spacedlowsmallcaps-in-caption-label +% [REMOVED DUE TO OTHER PROBLEMS, SEE ISSUE #82] +%\DeclareCaptionLabelFormat{smallcaps}{\bothIfFirst{#1}{~}\MakeTextLowercase{\textsc{#2}}} + +% ******************************************************************** +% Caption numbering now w/o chapter number +% ******************************************************************** +\ifthenelse{\boolean{ct@floatperchapter}}{% + \ifthenelse{\boolean{ct@listings}}{% + \lstset{numberbychapter=true}}{\relax}% numberbychapter works in listings>=1.4 +}{% + \ifthenelse{\boolean{ct@listings}}{% + \lstset{numberbychapter=false}}{\relax}% + \RequirePackage{remreset}% + \ifthenelse{\boolean{ct@nochapters}}% + {\relax}{% + \@removefromreset{table}{chapter} % requires remreset package + }% + \renewcommand{\thetable}{\arabic{table}}% + \ifthenelse{\boolean{ct@nochapters}}% + {\relax}{% + \@removefromreset{figure}{chapter} % requires remreset package + }% + \renewcommand{\thefigure}{\arabic{figure}}% + \ifthenelse{\boolean{ct@nochapters}}% + {\relax}{% + \@removefromreset{equation}{chapter} % requires remreset package + }% + \renewcommand{\theequation}{\arabic{equation}}% +} + +% ******************************************************************** +% arsclassica integration (experimental, dirty hack currently) +% ******************************************************************** +\ifct@arsclassica +\RequirePackage{classicthesis-arsclassica} +\fi + + +% ******************************************************************** +% hyperreferences, pdf outline +% ******************************************************************** +\PassOptionsToPackage{hyperfootnotes=false}{hyperref} +\RequirePackage{hyperref} + \pdfstringdefDisableCommands{\let\thepart=\relax} % no part numbers (i, ii, iii) in PDF outline IVO + %\pdfstringdefDisableCommands{\renewcommand{\thepart}{\Roman{part}}} %%%IVO bring back Part numbers in PDF outline + \hypersetup{colorlinks=true,linktocpage=true,breaklinks=true,urlcolor=CTurl,linkcolor=CTlink,citecolor=CTcitation} + + +% ******************************************************************** +% Backward-compatibility +% ******************************************************************** +\let\myChapter\chapter +\let\myPart\part +\let\graffito\marginpar -- cgit v1.2.1