summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/classicthesis
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-10-22 19:51:42 +0000
committerKarl Berry <karl@freefriends.org>2017-10-22 19:51:42 +0000
commitd326671c4777b4897d5ecc23008d3d53f6101fc2 (patch)
tree62679eb03b1838237e21de9b758d78e3ff3aecb1 /Master/texmf-dist/tex/latex/classicthesis
parentb2fad8915b87bb45e4d3ffafd0f8119da45a921e (diff)
classicthesis (22oct17)
git-svn-id: svn://tug.org/texlive/trunk@45578 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/classicthesis')
-rw-r--r--Master/texmf-dist/tex/latex/classicthesis/classicthesis.sty991
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