diff options
author | Karl Berry <karl@freefriends.org> | 2017-10-22 19:51:42 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-10-22 19:51:42 +0000 |
commit | d326671c4777b4897d5ecc23008d3d53f6101fc2 (patch) | |
tree | 62679eb03b1838237e21de9b758d78e3ff3aecb1 /Master/texmf-dist/tex | |
parent | b2fad8915b87bb45e4d3ffafd0f8119da45a921e (diff) |
classicthesis (22oct17)
git-svn-id: svn://tug.org/texlive/trunk@45578 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/classicthesis/classicthesis.sty | 991 |
1 files changed, 474 insertions, 517 deletions
diff --git a/Master/texmf-dist/tex/latex/classicthesis/classicthesis.sty b/Master/texmf-dist/tex/latex/classicthesis/classicthesis.sty index a82277c21b7..fa2793fce20 100644 --- a/Master/texmf-dist/tex/latex/classicthesis/classicthesis.sty +++ b/Master/texmf-dist/tex/latex/classicthesis/classicthesis.sty @@ -1,11 +1,11 @@ % ******************************************************************** % classicthesis.sty % -% Copyright (C) 2015 André Miede http://www.miede.de +% Copyright (C) 2017 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 +% 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: @@ -24,164 +24,127 @@ % 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 both LaTeX and PDFLaTeX now. XeLaTeX should also work. -% -% * You must not use "u etc. in strings/commands that will be spaced out -% (use \"u or real umlauts instead) -% * There is a problem with the case of math text in part-, -% chapter-, and section titles (either the case or the spacing breaks). -% => this can be fixed by using pdftex 1.40 or later and enabling the -% option pdfspacing of this package +% It works with LaTeX, PDFLaTeX, XeLaTeX and LuaLaTeX. % -% ******************************************************************** +% ******************************************************************** \NeedsTeXFormat{LaTeX2e}%[2015/01/01] % fixed via latexrelease package, see below -\ProvidesPackage{classicthesis}[2015/09/06 v4.2 Typographic style for a classic-looking thesis] -%\PassOptionsToPackage{latest}{latexrelease} % replacement for fixltx2e, emulate newer kernel version if older is detected - %\RequirePackage{latexrelease} % will be put back in once it is available in more distributions +\ProvidesPackage{classicthesis}[2017/10/13 v4.4 Typographic style for a classic-looking thesis] +\PassOptionsToPackage{latest}{latexrelease} % replacement for fixltx2e, + \RequirePackage{latexrelease} % emulate newer kernel version if older is detected + \RequirePackage{ifthen} - \newboolean{@tocaligned} % the left column of the toc will be aligned (no indention) - \newboolean{@eulerchapternumbers} % use AMS Euler for chapter font (otherwise Palatino) - \newboolean{@drafting} % print version information on pages - \newboolean{@linedheaders} % chaper headers will have line above and beneath - \newboolean{@listsseparated} % toggles the vertical space between lof/lot entries of different chapters - \newboolean{@nochapters} % disable all chapter-specific commands - \newboolean{@beramono} % toggle nice monospaced font (w/ bold) + pre-installed - \newboolean{@eulermath} % use awesome Euler fonts for math - \newboolean{@parts} % use part division for the text - \newboolean{@minionpro} % setup for minion pro font - \newboolean{@minionprospacing} % use minion pro's textssc for letter spacing - \newboolean{@pdfspacing} % use pdftex for letterspacing (via microtype) - \newboolean{@subfig} % setup for preloaded @subfig package - \newboolean{@a5paper} % use those tiny DIN A5 pages - \newboolean{@dottedtoc} % page numbers in ToC flushed right - \newboolean{@listings} % load listings package (if not already) and setup LoL - \newboolean{@manychapters} % additional space in ToC after chapter number (if two digits are needed) - \newboolean{@floatperchapter} % numbering per chapter for all floats (i.e., Figure 1.1) - + % ******************************************************************** % Options -% ******************************************************************** -\DeclareOption{tocaligned}{\setboolean{@tocaligned}{true}} -\DeclareOption{eulerchapternumbers}{\setboolean{@eulerchapternumbers}{true}} -\DeclareOption{drafting}{\setboolean{@drafting}{true}} -\DeclareOption{linedheaders}{\setboolean{@linedheaders}{true}} -\DeclareOption{listsseparated}{\setboolean{@listsseparated}{true}} -\DeclareOption{subfigure}{% - \PackageWarningNoLine{classicthesis}{Package "subfigure" and option "subfigure" are deprecated, used "subfig" instead.} - \setboolean{@subfig}{true}% - } -\DeclareOption{subfig}{\setboolean{@subfig}{true}} -\DeclareOption{nochapters}{\setboolean{@nochapters}{true}} -\DeclareOption{beramono}{\setboolean{@beramono}{true}} -\DeclareOption{eulermath}{\setboolean{@eulermath}{true}} -\DeclareOption{parts}{\setboolean{@parts}{true}} -\DeclareOption{a5paper}{\setboolean{@a5paper}{true}} -\DeclareOption{minionpro}{\setboolean{@minionpro}{true}} -\DeclareOption{minionprospacing}{\setboolean{@minionprospacing}{true}} -\DeclareOption{pdfspacing}{\setboolean{@pdfspacing}{true}} -\DeclareOption{dottedtoc}{\setboolean{@dottedtoc}{true}} -\DeclareOption{listings}{\setboolean{@listings}{true}} -\DeclareOption{manychapters}{\setboolean{@manychapters}{true}} -\DeclareOption{floatperchapter}{\setboolean{@floatperchapter}{true}} -\ProcessOptions\relax +% ******************************************************************** +\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{parts} % 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} % load listings package and setup LoL +\DeclareBoolOption{subfig} % setup for preloaded @subfig package + +\DeclareBoolOption{eulermath} % use awesome Euler fonts for mathematical formulae; only with pdflatex +\DeclareBoolOption{beramono} % toggle a nice monospaced font (w/ bold) + pre-installed +\DeclareBoolOption{minionpro} % setup for minion pro font; use minion pro small caps as well; only with pdflatex + +\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{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@a4paper}}{\renewcommand*{\ct@paper}{a4}}{} +%%% then +\ifthenelse{\equal{\ct@paper}{a4}}% + {\setboolean{ct@a4paper}{true} \setboolean{ct@a5paper}{false} \setboolean{ct@letterpaper}{false}}% + {} +\ifthenelse{\equal{\ct@paper}{a5}}% + {\setboolean{ct@a4paper}{false} \setboolean{ct@a5paper}{true} \setboolean{ct@letterpaper}{false}}% + {} +\ifthenelse{\equal{\ct@paper}{letter}}% + {\setboolean{ct@a4paper}{false} \setboolean{ct@a5paper}{false} \setboolean{ct@letterpaper}{true}}% + {} + + + % subfig-related stuff \@ifpackageloaded{subfig}% - {\setboolean{@subfig}{true}% - }{\relax} -\@ifpackageloaded{subfigure}% - {\setboolean{@subfig}{true}% - \PackageWarningNoLine{classicthesis}{Package "subfigure" and option "subfigure" are deprecated, % - use "subfig" instead.} + {\setboolean{ct@subfig}{true}% }{\relax} -\ifthenelse{\boolean{@subfig}}% + +\ifthenelse{\boolean{ct@subfig}}% {\PassOptionsToPackage{subfigure}{tocloft}% }{\relax}% % listings-related stuff -\ifthenelse{\boolean{@listings}}% +\ifthenelse{\boolean{ct@listings}}% {\@ifpackageloaded{listings}% {\relax}{\RequirePackage{listings}}% }{\relax}% -% fine-tuning if we use minionprospacing -\ifthenelse{\boolean{@minionprospacing}}% - {% - \PackageInfo{classicthesis}{Using option "minionprospacing". % - This activates "minionpro" in general and turns off % - the option "pdfspacing".}% - % is the user trying to use pdfspacing at the same time? - \ifthenelse{\boolean{@pdfspacing}}% - {% both minionprospacing and pdfspacing are active - \PackageWarningNoLine{classicthesis}{You cannot use "pdfspacing" at the same time % - as "minionprospacing"!}% - }{\relax}% - \setboolean{@minionpro}{true}% - \setboolean{@pdfspacing}{false}% - }{\relax} % fine-tuning if we do not use chapters -\ifthenelse{\boolean{@nochapters}}% - {% - % is the user trying to use parts at the same time? - \ifthenelse{\boolean{@parts}}% - {% both parts and nochapters are active - \PackageWarningNoLine{classicthesis}{You cannot use "parts" at the same time % - as "nochapters"!}% - }{\relax}% - % is the user trying to use manychapters at the same time? - \ifthenelse{\boolean{@manychapters}}% - {% both manychapters and nochapters are active - \PackageWarningNoLine{classicthesis}{You cannot use "manychapters" at the same time % - as "nochapters"!}% - }{\relax}% - % is the user trying to use floatperchapter at the same time? - \ifthenelse{\boolean{@floatperchapter}}% - {% both manychapters and nochapters are active - \PackageWarningNoLine{classicthesis}{You cannot use "floatperchapter" at the same time % - as "nochapters"!}% - }{\relax}% - % turn off some things if we do not use chapters - \PackageInfo{classicthesis}{Using option "nochapters" (probably for an article). % - This turns off the options "linedheaders", "manychapters", "floatperchapter",% - "listsseparated", "eulerchapternumbers", and "parts". Please be aware of that.} - \setboolean{@linedheaders}{false}% - \setboolean{@listsseparated}{false}% - \setboolean{@eulerchapternumbers}{false}% - \setboolean{@parts}{false}% - \setboolean{@manychapters}{false}% - \setboolean{@floatperchapter}{false}% - }{\relax}% -% ******************************************************************** +\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 and parts}% + \setboolean{ct@linedheaders}{false}% + \setboolean{ct@listsseparated}{false}% + \setboolean{ct@eulerchapternumbers}{false}% + \setboolean{ct@parts}{false}% %%%IVO: note that parts exist even when chapters are not defined! + \setboolean{ct@manychapters}{false}% + \setboolean{ct@floatperchapter}{false}% + \setboolean{ct@nochapters}{true} + }{\relax} + +% ******************************************************************** % PDF and XeLaTeX Stuff % ******************************************************************** \RequirePackage{ifpdf} -\ifpdf\RequirePackage{hyperref}\fi % for texorpdfstring command below - -% Necessary to rewrite hacks for chapters and parts and toc \RequirePackage{ifxetex} -\ifxetex\RequirePackage{hyperref}\fi % for texorpdfstring command below - -% pdfspacing does not work with XeLaTeX -\ifxetex% - \ifthenelse{\boolean{@pdfspacing}}% - {% pdfspacing is used with XeLaTeX - \PackageWarningNoLine{classicthesis}{You cannot use the option % - "pdfspacing" with XeLaTeX!}% - }{\relax}% - \setboolean{@pdfspacing}{false}% -\fi +\RequirePackage{ifluatex} +\ifthenelse{\boolean{pdf}\OR\boolean{luatex}\OR\boolean{xetex}}% + { + \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 + }{} + -% ******************************************************************** +% ******************************************************************** % Colors % ******************************************************************** \PassOptionsToPackage{dvipsnames}{xcolor} - \RequirePackage{xcolor} % [dvipsnames] + \RequirePackage{xcolor} % [dvipsnames] \definecolor{halfgray}{gray}{0.55} % chapter numbers will be semi transparent .5 .55 .6 .0 \definecolor{webgreen}{rgb}{0,.5,0} \definecolor{webbrown}{rgb}{.6,0,0} @@ -191,60 +154,99 @@ % ******************************************************************** % Font Stuff -% ******************************************************************** -% specialists: MinionPro -\ifthenelse{\boolean{@minionpro}}% - {% - % in order have Euler math fonts work with Minion, special option is needed - \ifthenelse{\boolean{@eulermath}}% - {% - \PassOptionsToPackage{opticals,mathlf,onlytext}{MinionPro}% - \RequirePackage{MinionPro} % opticals, fullfamily, osf - }{% - \PassOptionsToPackage{opticals,mathlf}{MinionPro}% - \RequirePackage{MinionPro} % opticals, fullfamily, osf - }% - }{% - % 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 - } +% ******************************************************************** +\ifthenelse{\boolean{xetex}\OR\boolean{luatex}} + { % use fontspec and OpenType fonts with utf8 engines + \RequirePackage{fontspec} + \setmainfont[Ligatures=TeX,Numbers=OldStyle]{TeX Gyre Pagella} % Palatino clone + \linespread{1.05} % a bit more for Palatino + \ifthenelse{\boolean{ct@beramono}}% + {\setmonofont[Scale=0.85]{DejaVu Sans Mono}} % like Bera; Scale=MatchLowercase + {\setmonofont[Scale=1]{Latin Modern Mono}} + \RequirePackage{unicode-math} + \setmathfont{TeX Gyre Pagella Math} + % 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@minionpro}}% specialists: MinionPro + {% + % in order have Euler math fonts work with Minion, special option is needed + \ifthenelse{\boolean{ct@eulermath}}% + {% + \PassOptionsToPackage{opticals,mathlf,onlytext}{MinionPro}% + \RequirePackage{MinionPro} % opticals, fullfamily, osf + }{% + \PassOptionsToPackage{opticals,mathlf}{MinionPro}% + \RequirePackage{MinionPro} % opticals, fullfamily, osf + } + }{ + % 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 + } + + \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) + -\ifthenelse{\boolean{@beramono}}% - {\PassOptionsToPackage{scaled=0.85}{beramono}% - \RequirePackage{beramono}}% - {% - \relax% - % put your own suitable typewriter font here - %\renewcommand{\ttdefault}{\rmdefault} - } -\ifthenelse{\boolean{@eulermath}}% - {\PassOptionsToPackage{euler-digits}{eulervm}% - \RequirePackage{eulervm}} % Euler math fonts - {\relax} -\ifthenelse{\boolean{@eulerchapternumbers}}% font for the chapter numbers - {\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 %******************************************************* \@ifpackageloaded{typearea}% {\relax}{% + \PassOptionsToPackage{headinclude,footinclude}{typearea} \RequirePackage{typearea}% } -\ifthenelse{\boolean{@a5paper}}% + +\ifthenelse{\boolean{ct@letterpaper}}% + {% A4 + \ifthenelse{\boolean{ct@minionpro}}% + {% Minion gets some extra sizes + \PackageInfo{classicthesis}{letter paper, MinionPro}% + \areaset[current]{332pt}{634pt}% guessing from A4 values + \setlength{\marginparwidth}{7.5em}% + \setlength{\marginparsep}{2em}% + }{% Palatino or other + \PackageInfo{classicthesis}{letter paper, Palatino or other} + \areaset[current]{356pt}{700pt} % guessing from A4 values + \setlength{\marginparwidth}{7em}% + \setlength{\marginparsep}{2em}% + }% + }{\relax} +\ifthenelse{\boolean{ct@a5paper}}% {% A5 - \ifthenelse{\boolean{@minionpro}}% - {% Minion gets some extra sizes + \ifthenelse{\boolean{ct@minionpro}}% + {% Minion gets some extra sizes \PackageInfo{classicthesis}{A5 paper, MinionPro}% \areaset[current]{278pt}{556pt}% \setlength{\marginparwidth}{5em}% @@ -255,21 +257,24 @@ \setlength{\marginparwidth}{4em}% \setlength{\marginparsep}{1.25em}% }% - }{% A4 - \ifthenelse{\boolean{@minionpro}}% - {% Minion gets some extra sizes + }{\relax} +\ifthenelse{\boolean{ct@a4paper}}% + {% A4 + \ifthenelse{\boolean{ct@minionpro}}% + {% Minion gets some extra sizes \PackageInfo{classicthesis}{A4 paper, MinionPro}% \areaset[current]{312pt}{684pt}% 609 + 33 + 42 head \the\footskip \setlength{\marginparwidth}{7.5em}% \setlength{\marginparsep}{2em}% }{% Palatino or other \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 + \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 @@ -290,7 +295,7 @@ % Disable single lines at the start of a paragraph (Schusterjungen) \clubpenalty = 10000 % Disable single lines at the end of a paragraph (Hurenkinder) -\widowpenalty = 10000 +\widowpenalty = 10000 \displaywidowpenalty = 10000 % formulas % Graffiti as in GKP's book "Concrete Mathematics" @@ -305,11 +310,17 @@ %\DeclareRobustCommand{\graffito}[1]{\marginpar% % [\graffito@setup\raggedleft\hspace{0pt}{#1}]% % {\graffito@setup\raggedright\hspace{0pt}{#1}}} + \let\oldmarginpar\marginpar -\renewcommand{\marginpar}[1]{\oldmarginpar% - [\graffito@setup\raggedleft\hspace{0pt}{#1}]% - {\graffito@setup\raggedright\hspace{0pt}{#1}}} - +\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}}}% @@ -318,376 +329,328 @@ % ******************************************************************** % Fancy Stuff -% ******************************************************************** +% ******************************************************************** \RequirePackage{booktabs} % for better rules in tables \RequirePackage{textcase} % for \MakeTextUppercase -\ifthenelse{\boolean{@minionprospacing}}% - {% - \PackageInfo{classicthesis}{Using MinionPro's textssc for character spacing.}% - \DeclareRobustCommand{\spacedallcaps}[1]{\textssc{\MakeTextUppercase{#1}}}% - \DeclareRobustCommand{\spacedlowsmallcaps}[1]{\textssc{\MakeTextLowercase{#1}}}% - }{% - \ifthenelse{\boolean{@pdfspacing}}% - {% +%%% engine-dependent letterspacing: microtype for pdflatex, fontspec for xelatex and luatex +\ifthenelse{\boolean{ct@minionpro}}{% MinionPro small caps + \PackageInfo{classicthesis}{Using MinionPro's textssc for character spacing.} + \DeclareRobustCommand{\spacedallcaps}[1]{\textssc{\MakeTextUppercase{#1}}} + \DeclareRobustCommand{\spacedlowsmallcaps}[1]{\textssc{\MakeTextLowercase{#1}}} + }{ + % engine-based spacedallcaps and spacedlowsmallcaps + \ifthenelse{\boolean{pdf}\OR\boolean{luatex}}{ % pdf will soon test true for both pdflatex and luatex; \AND\NOT\boolean{luatex} \PackageInfo{classicthesis}{Using pdftex/microtype for character spacing.% Make sure your pdftex is version 1.40 or higher.}% - \microtypesetup{expansion=false}% - \DeclareRobustCommand{\spacedallcaps}[1]{\textls[160]{\MakeTextUppercase{#1}}}% - \DeclareRobustCommand{\spacedlowsmallcaps}[1]{\textls[80]{\scshape\MakeTextLowercase{#1}}}% - }{% - \RequirePackage{soul} % for letterspacing + \microtypesetup{expansion=false} + \DeclareRobustCommand{\spacedallcaps}[1]{\textls[160]{\MakeTextUppercase{#1}}} + \DeclareRobustCommand{\spacedlowsmallcaps}[1]{\textls[80]{\scshape\MakeTextLowercase{#1}}} + }{\relax} + + \ifthenelse{\boolean{xetex}}{ % use fontspec features; \OR\boolean{luatex} does not work well + \DeclareRobustCommand{\spacedallcaps}[1]{{\addfontfeature{LetterSpace=18.0}\MakeTextUppercase{#1}}}% WordSpace=1.8 + \DeclareRobustCommand{\spacedlowsmallcaps}[1]{{\addfontfeatures{LetterSpace=14.0}\scshape\MakeTextLowercase{#1}}}% WordSpace=1.8 + }{\relax} + + \ifthenelse{\boolean{pdf}\OR\boolean{xetex}\OR\boolean{luatex}}% ever used? only dvi engines remain + {\relax}{% + \RequirePackage{soulutf8} % for letterspacing \sodef\allcapsspacing{\upshape}{0.15em}{0.65em}{0.6em}% - \sodef\lowsmallcapsspacing{\scshape}{0.075em}{0.5em}{0.6em}% - \DeclareRobustCommand{\spacedallcaps}[1]{\MakeTextUppercase{\allcapsspacing{#1}}}% - \DeclareRobustCommand{\spacedlowsmallcaps}[1]{\MakeTextLowercase{\textsc{\lowsmallcapsspacing{#1}}}}%\protect - }% - } + \sodef\lowsmallcapsspacing{\scshape}{0.075em}{0.5em}{0.6em}% + \DeclareRobustCommand{\spacedallcaps}[1]{\MakeTextUppercase{\allcapsspacing{#1}}}% + \DeclareRobustCommand{\spacedlowsmallcaps}[1]{\MakeTextLowercase{\lowsmallcapsspacing{#1}}}%\protect + }% + } -% ******************************************************************** +% ******************************************************************** % 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) - \clearscrheadings + \clearpairofpagestyles %\setheadsepline{0pt} - \ifthenelse{\boolean{@nochapters}}% + \let\MakeMarkcase\spacedlowsmallcaps + \ifthenelse{\boolean{ct@nochapters}}% {\relax}% {\renewcommand{\chaptermark}[1]{\markboth{\spacedlowsmallcaps{#1}}{\spacedlowsmallcaps{#1}}}} - \renewcommand{\sectionmark}[1]{\markright{\thesection\enspace\spacedlowsmallcaps{#1}}} - \lehead{\mbox{\llap{\small\thepage\kern2em}\headmark\hfil}} - \rohead{\mbox{\hfil{\headmark}\rlap{\small\kern2em\thepage}}} - \renewcommand{\headfont}{\small} + \renewcommand{\sectionmark}[1]{\markright{\thesection\enspace\spacedlowsmallcaps{#1}}} + \lehead{\mbox{\llap{\small\pagemark\kern2em}\headmark\hfil}} + \rohead{\mbox{\hfil{\headmark}\rlap{\small\kern2em\pagemark}}} + \renewcommand{\headfont}{\small} % \DeclareRobustCommand{\fixBothHeadlines}[2]{} % <--- ToDo % hack to get the content headlines right (thanks, Lorenzo!) \def\toc@heading{% - \ifthenelse{\boolean{@nochapters}}% + \ifthenelse{\boolean{ct@nochapters}}% {\section*{\contentsname}}%nochapters {\chapter*{\contentsname}}%chapters - \@mkboth{\spacedlowsmallcaps{\contentsname}}{\spacedlowsmallcaps{\contentsname}}} - - + \@mkboth{\spacedlowsmallcaps{\contentsname}}{\spacedlowsmallcaps{\contentsname}}} %%%IVO what does this do? + + % ******************************************************************** % layout of the chapter-, section-, subsection-, subsubsection-, % paragraph and description-headings -% ******************************************************************** -\RequirePackage{titlesec} - % parts - \ifthenelse{\boolean{@parts}}% - {% -% \newcommand{\ctparttext}{\relax} - \newcommand{\ct@parttext}{\relax} % Thanks to Ivo - \newcommand{\ctparttext}[1]{\renewcommand{\ct@parttext}{#1 \relax}} +% ******************************************************************** +\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\centering\large}% - {\thispagestyle{empty}\partname~\MakeTextUppercase{\thepart}}{1em}% - {\color{Maroon}\spacedallcaps}[\bigskip\normalfont\normalsize\color{Black}\begin{quote}\ct@parttext\end{quote}] - }{\relax} - % chapters - \ifthenelse{\boolean{@linedheaders}}% - {% lines above and below, number right - \titleformat{\chapter}[display]% - {\relax}{\raggedleft{\color{halfgray}\chapterNumber\thechapter} \\ }{0pt}% - {\titlerule\vspace*{.9\baselineskip}\raggedright\spacedallcaps}[\normalsize\vspace*{.8\baselineskip}\titlerule]% - }{% something like Bringhurst + {\normalfont\centering\large}% + {\thispagestyle{empty}\partname~\MakeTextUppercase{\thepart}}{1em}% + {\color{Maroon}\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}{\mbox{}\oldmarginpar{\vspace*{-3\baselineskip}\color{halfgray}\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{@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} + {\relax}{\raggedleft{\color{halfgray}\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{halfgray}\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{@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{@parts}}% - {% - \renewcommand{\thepart}{\roman{part}}% - \renewcommand{\cftpartpresnum}{\scshape}% \MakeTextLowercase -% \renewcommand{\cftpartaftersnum}{\cftchapaftersnum}% -% \renewcommand{\cftpartaftersnumb}{\quad}% -% \setlength{\cftpartnumwidth}{\cftpartnumwidth} - \renewcommand{\cftpartfont}{\color{Maroon}\normalfont}% - \renewcommand{\cftpartpagefont}{\normalfont}% - \ifthenelse{\boolean{@dottedtoc}}{\relax}% +\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{Maroon}\normalfont}% + \cftpagenumbersoff{part} + \renewcommand{\cftpartpagefont}{\normalfont}% + \ifthenelse{\boolean{ct@dottedtoc}}{\relax}% {% - \renewcommand{\cftpartleader}{\hspace{1.5em}}% + \renewcommand{\cftpartleader}{\hspace{1.5em}}% \renewcommand{\cftpartafterpnum}{\cftparfillskip}% - }% - \setlength{\cftbeforepartskip}{1em}% - \setlength{\cftbeforechapskip}{.1em}% - \setlength{\beforebibskip}{\cftbeforepartskip}% - }{\relax} - % chapters - \ifthenelse{\boolean{@nochapters}}% - {\relax}% - {% - \renewcommand{\cftchappresnum}{\scshape\MakeTextLowercase}% - \renewcommand{\cftchapfont}{\normalfont}% - \renewcommand{\cftchappagefont}{\normalfont}% - \ifthenelse{\boolean{@dottedtoc}}{\relax}% - {% - \renewcommand{\cftchapleader}{\hspace{1.5em}}% - \renewcommand{\cftchapafterpnum}{\cftparfillskip}% - } - %\setlength{\cftbeforechapskip}{.1em}% - } - % sections - \ifthenelse{\boolean{@nochapters}}% - {% - \setlength{\cftbeforesecskip}{.1em}% - \setlength{\beforebibskip}{1em}% }% - {\relax} - \renewcommand{\cftsecpresnum}{\scshape\MakeTextLowercase}% - \renewcommand{\cftsecfont}{\normalfont}% - \renewcommand{\cftsecpagefont}{\normalfont}% - \ifthenelse{\boolean{@dottedtoc}}{\relax}% - {% - \renewcommand{\cftsecleader}{\hspace{1.5em}}% - \renewcommand{\cftsecafterpnum}{\cftparfillskip}% - } - \ifthenelse{\boolean{@tocaligned}}{\renewcommand{\cftsecindent}{0em}}{\relax} - % subsections - \renewcommand{\cftsubsecpresnum}{\scshape\MakeTextLowercase}% - \renewcommand{\cftsubsecfont}{\normalfont}% - \ifthenelse{\boolean{@dottedtoc}}{\relax}% - {% - \renewcommand{\cftsubsecleader}{\hspace{1.5em}}% - \renewcommand{\cftsubsecafterpnum}{\cftparfillskip}% - } - \ifthenelse{\boolean{@tocaligned}}{\renewcommand{\cftsubsecindent}{0em}}{\relax} - % subsubsections - \renewcommand{\cftsubsubsecpresnum}{\scshape\MakeTextLowercase}% - \renewcommand{\cftsubsubsecfont}{\normalfont}% - \ifthenelse{\boolean{@dottedtoc}}{\relax}% - {% - \renewcommand{\cftsubsubsecleader}{\hspace{1.5em}}% - \renewcommand{\cftsubsubsecafterpnum}{\cftparfillskip}% - } - \ifthenelse{\boolean{@tocaligned}}{\renewcommand{\cftsubsubsecindent}{0em}}{\relax} - % figures - \renewcommand{\cftfigpresnum}{\scshape\MakeTextLowercase}% - \renewcommand{\cftfigfont}{\normalfont}% - \ifthenelse{\boolean{@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{@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{@listings}}% - {% - \newlistof{listings}{lol}{\lstlistlistingname}% - \renewcommand{\cftlistingspresnum}{\scshape\MakeTextLowercase}% - \renewcommand{\cftlistingsfont}{\normalfont}% - \renewcommand{\cftlistingspresnum}{\lstlistingname~}% - \renewcommand{\cftlistingspagefont}{\normalfont}% - \ifthenelse{\boolean{@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{@parts}}% + \setlength{\cftbeforepartskip}{1em}% + \setlength{\cftbeforechapskip}{.1em}% + \setlength{\beforebibskip}{1.5\cftbeforepartskip}% +}{\relax} +% chapters +\ifthenelse{\boolean{ct@nochapters}}% + {\relax}% {% - \AtBeginDocument{\addtocontents{toc}{\protect\vspace{-\cftbeforepartskip}}} - }{% - \ifthenelse{\boolean{@nochapters}}% - {\relax}% - {\AtBeginDocument{\addtocontents{toc}{\protect\vspace{-\cftbeforechapskip}}}} + \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}% } - - % another dirty work-around to get the spaced low small caps into the toc ;-( - \ifthenelse{\boolean{@nochapters}}% - {\relax}% +% sections +\ifthenelse{\boolean{ct@nochapters}}% {% -%% use modified \chapter (thanks to Hinrich Harms) - \let\oldchap=\chapter - \renewcommand*{\chapter}{% - \secdef{\Chap}{\ChapS}% - } - \newcommand\ChapS[1]{\oldchap*{#1}}% - \newcommand\Chap[2][]{% - \ifpdf\oldchap[\texorpdfstring{\spacedlowsmallcaps{#1}}{#1}]{#2}% - \else\oldchap[\spacedlowsmallcaps{#1}]{#2}% - \fi% - }% - \ifxetex % thanks to Joerg Weber - \renewcommand\Chap[2][]{% - \ifxetex\oldchap[\texorpdfstring{\spacedlowsmallcaps{#1}}{#1}]{#2}% - \else\oldchap[\spacedlowsmallcaps{#1}]{#2}% - \fi% - }% - \fi% + \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}% } - - % yet another dirty work-around to get the spaced low small caps into the toc ;-( - \ifthenelse{\boolean{@parts}}% - {% - %% use modified \part (thanks to Hinrich Harms) - \let\oldpart=\part% - \renewcommand*{\part}{% - \secdef{\Part}{\PartS}% - }% - \newcommand\PartS[1]{\oldpart*{#1}}% - \newcommand\Part[2][]{% - \ifpdf\pdfstringdefDisableCommands{\let\thepart\@gobbletwo}% - \oldpart[\texorpdfstring{\spacedlowsmallcaps{#1}}{#1}]{#2}% spacedallcaps spacedlowsmallcaps - \else% - \oldpart[\spacedlowsmallcaps{#1}]{#2}% - \fi% -% \renewcommand{\ct@parttext}{\relax}% Thanks to Ivo! - \ctparttext{\relax}% - }% - % Fix titlesec and tocloft issue (thanks to Enrico Gregorio) - % http://tex.stackexchange.com/questions/120708/problem-with-classicthesis-and-small-caps - \def\ttl@tocpart{% - \def\ttl@a{\protect\numberline{\thepart}\@gobble{}}}% - % XeLaTeX case - \ifxetex% thanks to Joerg Weber - \renewcommand\Part[2][]{% - \ifxetex\pdfstringdefDisableCommands{\let\thepart=\@gobbletwo}% - \oldpart[\texorpdfstring{\spacedlowsmallcaps{#1}}{#1}]{#2}% spacedallcaps spacedlowsmallcaps - \else% - \oldpart[\spacedlowsmallcaps{#1}]{#2}% - \fi% - \ctparttext{\relax}% - }% - \fi% - }{\relax} - - \newcommand{\tocEntry}[1]{% for bib, etc. - \ifpdf\texorpdfstring{\spacedlowsmallcaps{#1}}{#1}% - \else{#1}\fi% + \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}% } - \ifxetex% thanks to Joerg Weber - \renewcommand{\tocEntry}[1]{% for bib, etc. - \ifxetex\texorpdfstring{\spacedlowsmallcaps{#1}}{#1}% - \else{#1}\fi% - } \fi - -% % remove the vertical space between lof/lot entries of different chapters - \ifthenelse{\boolean{@listsseparated}}{% - \PackageWarningNoLine{classicthesis}{Option "listsseparated" deprecated as of version 2.9.}% - }{\relax} -% \ifthenelse{\boolean{@listsseparated}}{% -% \AtBeginDocument{% -% \addtocontents{lof}{\protect\vspace{-\cftbeforechapskip}}% -% \addtocontents{lot}{\protect\vspace{-\cftbeforechapskip}}% -% \ifthenelse{\boolean{@listings}}% -% {% -% \addtocontents{lol}{\protect\vspace{-\cftbeforechapskip}}% -% }{\relax}% -% }% -% }{% - \DeclareRobustCommand*{\deactivateaddvspace}{\let\addvspace\@gobble}% - \AtBeginDocument{% - \addtocontents{lof}{\deactivateaddvspace}% - \addtocontents{lot}{\deactivateaddvspace}% - \ifthenelse{\boolean{@listings}}% - {% + \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}% - }% -% } - + }{\relax}% +}% +% } + +% ******************************************************************** +% footnotes setup % ******************************************************************** -% 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}% + % KOMA-command, footnotemark not superscripted at the bottom + \deffootnote{0em}{0em}{\thefootnotemark\hspace*{.5em}}% + \message{Using KOMA-command "deffootnote" for footnote setup}% \else \PassOptionsToPackage{flushmargin}{footmisc}% \RequirePackage{footmisc}% \setlength{\footnotemargin}{-.5em}% \PackageWarningNoLine{classicthesis}{Using package "footmisc" with option % - "flushmargin" for footnote setup (not 100\% the same as with KOMA)}% -\fi - + "flushmargin" 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{@drafting}}{% +\ifthenelse{\boolean{ct@drafting}}{% % \RequirePackage{draftwatermark}% % \SetWatermarkLightness{0.9} % \SetWatermarkScale{.5} @@ -696,44 +659,38 @@ \RequirePackage{prelim2e} \renewcommand{\PrelimWords}{\relax} \renewcommand{\PrelimText}{\footnotesize[\,\today\ at \thistime\ -- \texttt{classicthesis}~\myVersion\,]} -}{\renewcommand{\finalVersionString}{\emph{Final Version} as of \today\ (\texttt{classicthesis}~\myVersion).}} +}{\renewcommand{\finalVersionString}{\emph{Final Version} as of \today\ (\texttt{classicthesis}~\myVersion).}} % ******************************************************************** % Caption numbering now w/o chapter number % ******************************************************************** -\ifthenelse{\boolean{@floatperchapter}}{% - \ifthenelse{\boolean{@listings}}{% +\ifthenelse{\boolean{ct@floatperchapter}}{% + \ifthenelse{\boolean{ct@listings}}{% \lstset{numberbychapter=true}}{\relax}% numberbychapter works in listings>=1.4 }{% - \ifthenelse{\boolean{@listings}}{% + \ifthenelse{\boolean{ct@listings}}{% \lstset{numberbychapter=false}}{\relax}% \RequirePackage{remreset}% - \makeatletter% - \ifthenelse{\boolean{@nochapters}}% + \ifthenelse{\boolean{ct@nochapters}}% {\relax}{% \@removefromreset{table}{chapter} % requires remreset package }% \renewcommand{\thetable}{\arabic{table}}% - \makeatother% - \makeatletter% - \ifthenelse{\boolean{@nochapters}}% + \ifthenelse{\boolean{ct@nochapters}}% {\relax}{% \@removefromreset{figure}{chapter} % requires remreset package }% - \renewcommand{\thefigure}{\arabic{figure}}% - \makeatother% - \makeatletter% - \ifthenelse{\boolean{@nochapters}}% + \renewcommand{\thefigure}{\arabic{figure}}% + \ifthenelse{\boolean{ct@nochapters}}% {\relax}{% \@removefromreset{equation}{chapter} % requires remreset package }% - \renewcommand{\theequation}{\arabic{equation}}% - \makeatother% + \renewcommand{\theequation}{\arabic{equation}}% } % ******************************************************************** % Backward-compatibility -% ******************************************************************** +% ******************************************************************** \let\myChapter\chapter \let\myPart\part \let\graffito\marginpar |