]> pere.pagekite.me Git - text-free-culture-lessig.git/blobdiff - myclass.cls
Limit the startquote/endquote setup to "nb" language.
[text-free-culture-lessig.git] / myclass.cls
index f6b10c1b5ac9dd78b7acfb3ce57ccdb1d2f8d432..f3d725a2e31d837cb852c901685a5e1574c7548c 100644 (file)
@@ -5,15 +5,31 @@
 \LoadClassWithOptions{report}
 % report, book, memoir, scrreprt or scrbook ?
 
-% Put the index in the TOC
+% Show frames, make it easier to debug borders
+%\usepackage{showframe}% http://ctan.org/pkg/showframe
 \makeatletter
+
+% Customize the titlepage: remove the date
+\let\stdmaketitle=\maketitle
+\def\maketitle{\let\@date\empty\stdmaketitle}
+
+% Divide by 2 the index item indentation (10pt -> 5pt)
+\renewcommand\@idxitem{\par\hangindent 20\p@}
+\renewcommand\subitem{\@idxitem \hspace*{10\p@}}
+\renewcommand\subsubitem{\@idxitem \hspace*{15\p@}}
+
+% Put the index in the TOC
 \let\stdindex=\theindex
 \let\endstdindex=\endtheindex
 \renewenvironment{theindex}{
   \begin{stdindex}
+  % Use a smaller font except for the letter heading which is bold
+  \newfontfamily\indexfont[Scale=0.7,
+                           BoldFeatures={Scale=1}]{Crimson Text}
   \@ifundefined{chapter}{}{
     % To not have the number, replace by:
     % \addcontentsline{toc}{chapter}{\numberline{}\indexname}
+    \refstepcounter{chapter}
     \ifnum \c@secnumdepth >\z@
       \ifnum \value{part} >\z@
         \addcontentsline{toc}{part}{\numberline{\thechapter}\hspace{-1em}\indexname}
       \addcontentsline{toc}{chapter}{\indexname}
     \fi
   }
+  % Adapt the vertical sizes to the smaller font
+  \setlength{\baselineskip}{0.7\baselineskip}%
+  \setlength{\parskip}{0.2\baselineskip}%
+  \indexfont
 }{
   \end{stdindex}
 }
 \makeatother
 
+\newenvironment{colophon}{
+  \pagebreak %
+% FIXME change when page size changes, use {x}{x*1.2}
+
+% Note, these numbers are not correct any more for the sizes mentioned:
+%  \fontsize{6.5}{7.8}\selectfont % fits in one 4.25x6.875" pocket size page
+%  \fontsize{7.5}{9}\selectfont % fits in one 5.06x7.71" size page
+%  \fontsize{9.1}{10.92}\selectfont % fits in one 5.5x8.5" digest size page
+
+  \fontsize{8.2}{9.84}\selectfont % fits in one 6x9'' size page
+  \setlength{\parskip}{0.5em} %
+  \setlength{\parindent}{0pt} %
+}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Based on ideas from https://bugs.debian.org/684772
+\usepackage{titlesec}
+\usepackage{titletoc}
+%
+% Useless with unnumbered sections (e.g. use of \setcounter{secnumdepth}{0})
+%
+%
+\newcommand\makeletterof[1]{%
+\ifthenelse{\equal{#1}{1}}{EN}{%
+\ifthenelse{\equal{#1}{2}}{TO}{%
+\ifthenelse{\equal{#1}{3}}{TRE}{%
+\ifthenelse{\equal{#1}{4}}{FIRE}{%
+\ifthenelse{\equal{#1}{5}}{FEM}{%
+\ifthenelse{\equal{#1}{6}}{SEKS}{%
+\ifthenelse{\equal{#1}{7}}{SJU}{%
+\ifthenelse{\equal{#1}{8}}{ÅTTE}{%
+\ifthenelse{\equal{#1}{9}}{NI}{%
+\ifthenelse{\equal{#1}{10}}{TI}{%
+\ifthenelse{\equal{#1}{11}}{ELLEVE}{%
+\ifthenelse{\equal{#1}{12}}{TOLV}{%
+#1}}}}}}}}}}}}}
+
+% Make TOC entries without label
+\titlecontents{chapter} %
+[1.5em] % 
+{\addvspace{0.3em plus 0pt}\bfseries} %
+{\hspace{-1.3em}} % no number, remove room reserved for it 
+{\hspace{-1.3em}} %
+{\hfill \contentspage} % dots and page number
+[\addvspace {0pt}]
+
+\dottedcontents{section} %
+[0em] % was (3.8)
+{\addvspace{0pt}} % 
+{2.3em} % tab
+{0.75em} % space between dots
+[\addvspace{0pt}]
+
+%% Redefines the headings to remove the chapter label
+\titleformat{\chapter}[block]
+{\filcenter\Large}{\filcenter}{20pt}{\Large}
+
+\titleformat{\section}
+{\filcenter\Large\bfseries}{\thesection}{1em}{}
+
+\titleformat{\subsection}
+{\filcenter\large\bfseries}{\thesubsection}{1em}{}
+
+%% New header, behaving like a section but formatted differently
+\titleclass{\enoteheader}{straight}[\chapter]
+\newcounter{enoteheader}
+\renewcommand{\theenoteheader}{\Alph{enoteheader}}
+
+\titleformat{\enoteheader}
+{\normalfont\large}{}{0pt}{}
+\titlespacing*{\enoteheader}{0pt}{2.5ex plus 1ex minus .2ex}{1.3ex plus .2ex}
+
+\dottedcontents{enoteheader} %
+[0em] % was (3.8)
+{\addvspace{0pt}} % 
+{2.3em} % tab
+{0.75em} % space between dots
+[\addvspace{0pt}]
+
+%% New header, behaving like a chapter but formatted differently
+\titleclass{\lotheader}{top}[\part]
+\newcounter{lotheader}
+\renewcommand{\thelotheader}{\Alph{lotheader}}
+
+\titleformat{\lotheader}[block]
+{\filcenter\huge}{\filcenter}{20pt}{\Huge}
+\titlespacing*{\lotheader}{0pt}{-30pt}{40pt}
+
+% Use the new header in TOC
+\let\stdtoc=\tableofcontents
+\let\stdchapter=\chapter
+\def\tableofcontents{\let\chapter\lotheader \stdtoc{} \let\chapter\stdchapter}
+
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 % From
 % Hint for figure with empty title: remove the colon label separator
 \usepackage{caption}
 \captionsetup[figure]{labelsep=none}
+
+% Fix the page number reset done by abstract by redefining it
+% Patch from
+% https://github.com/petterreinholdtsen/free-culture-lessig/pull/7
+
+\def\nocount#1#2{}
+\let\stdsetcounter\setcounter
+\let\stdabstract=\abstract
+\let\endstdabstract=\endabstract
+\renewenvironment{abstract}{%
+  \let\setcounter\nocount%
+  \begin{stdabstract}%
+  \noindent%
+  \setlength\parskip{\medskipamount}%
+  \setlength\parindent{0pt}%
+}{
+  \end{stdabstract}
+  \let\setcounter\stdsetcounter
+}