summaryrefslogtreecommitdiff
path: root/support/latexindent/documentation/latexindent.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/latexindent/documentation/latexindent.tex
Initial commit
Diffstat (limited to 'support/latexindent/documentation/latexindent.tex')
-rw-r--r--support/latexindent/documentation/latexindent.tex777
1 files changed, 777 insertions, 0 deletions
diff --git a/support/latexindent/documentation/latexindent.tex b/support/latexindent/documentation/latexindent.tex
new file mode 100644
index 0000000000..775bd6a7d9
--- /dev/null
+++ b/support/latexindent/documentation/latexindent.tex
@@ -0,0 +1,777 @@
+% arara: pdflatex: {shell: yes}
+% arara: bibtex
+% arara: pdflatex: {shell: yes}
+% arara: pdflatex: {shell: yes}
+% arara: pdflatex: {shell: yes}
+\documentclass[10pt]{article}
+% This program is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% See <http://www.gnu.org/licenses/>.
+\usepackage[left=4.5cm,right=2.5cm,showframe=false,
+ top=2cm,bottom=1.5cm,marginparsep=2cm]{geometry} % page setup
+\usepackage{lmodern}
+\usepackage{parskip} % paragraph skips
+\usepackage{booktabs} % beautiful tables
+\usepackage{listings} % nice verbatim environments
+\usepackage{titlesec} % customize headings
+\usepackage{titletoc} % customize headings
+\usepackage{multicol}
+\usepackage{changepage} % adjust width of page
+\usepackage{fancyhdr} % headers & footers
+\usepackage{wrapfig}
+\usepackage{fontawesome}
+\usepackage[sc,format=hang,font=small]{caption} % captions
+\usepackage[backend=bibtex]{biblatex} % bibliography
+\usepackage{tcolorbox} % framed environments
+\usepackage{tikz}
+\usepackage{xparse}
+\usepackage[charter]{mathdesign} % changes font
+\usepackage[expansion=false,kerning=true]{microtype} % better kerning
+\usepackage{enumitem} % custom lists
+\usepackage{longtable}
+\usepackage{array}
+\usepackage{totalcount}
+\usepackage{standalone}
+% setup gitinfo2, as in the manual, details just above begin{document}
+\usepackage[mark,grumpy]{gitinfo2}
+% tikz, tcolorbox libraries
+\usetikzlibrary{positioning}
+\usetikzlibrary{decorations.pathmorphing}
+\usetikzlibrary{decorations,shapes}
+\usepackage{varioref} % the documentation library from tcolorbox loads hyperref
+\tcbuselibrary{breakable,minted,xparse,documentation,hooks,raster}
+\hypersetup{
+ pdfauthor={Chris Hughes},
+ pdftitle={latexindent.pl package},
+ pdfkeywords={perl;beautify;indentation},
+ bookmarksnumbered,
+ bookmarksopen,
+ linktocpage,
+ colorlinks=true,
+ linkcolor=blue,
+ citecolor=black,
+}
+\usepackage{cleveref}
+
+% create my own star style, for re-use at various points
+\tikzset{cmhstar/.style={star,star point ratio=2.25,fill=cmhgold,draw=orange,}}
+
+% shortcut command for displaying star in documentation
+\newcommand{\stardemo}[1][]{\begin{tikzpicture}
+ \node at (10:.1cm)[very thin,cmhstar,scale=0.25,rotate=20,#1]{};
+ \node at (120:.1cm)[very thin,cmhstar,scale=0.15,rotate=-10,#1]{};
+ \node at (235:.1cm)[very thin,cmhstar,scale=0.2,rotate=-20,#1]{};
+ \end{tikzpicture}}
+
+% totalcount
+\DeclareTotalCounter{lstlisting}
+
+% customise the \tcbdocnew command
+\tcbset{doclang/new={{\bfseries\color{green!50!black}N\normalfont\color{black}}}}
+\tcbset{doclang/updated={{\bfseries\color{green!50!black}U\normalfont\color{black}}}}
+\tcbset{doc marginnote={width=1.6cm}}
+\NewDocumentCommand{\announce}{ s m s m }{%
+ \IfBooleanTF{#1}%
+ {% \announce*
+ \tcbdocmarginnote[overlay={\node at ([yshift=0mm,xshift=1mm]frame.north east) {\stardemo}; }]{%
+ \IfBooleanTF{#3}%
+ {% \announce*{date}*[text] means *updated* as of <date>
+ \tcbdocupdated{#2}%
+ }%
+ {% \announce*{date}[text] means *new* as of <date>
+ \tcbdocnew{#2}%
+ }%
+ }%
+ \IfBooleanTF{#3}%
+ {%
+ \addcontentsline{new}{cmhtitle}{#4 (U)}%
+ }%
+ {%
+ \addcontentsline{new}{cmhtitle}{#4 (N)}%
+ }%
+ }%
+ {% \announce
+ \tcbdocmarginnote{%
+ \IfBooleanTF{#3}%
+ {% \announce{date}*[text] means *updated* as of <date>
+ \tcbdocupdated{#2}%
+ }%
+ {% \announce{date}[text] means *new* as of <date>
+ \tcbdocnew{#2}%
+ }%
+ }%
+ }}
+
+\reversemarginpar
+% bibliographies
+\addbibresource{latex-indent}
+\addbibresource{contributors}
+
+% http://tex.stackexchange.com/questions/122135/how-to-add-a-png-icon-on-the-right-side-of-a-tcolorbox-title
+\newtcolorbox{warning}{parbox=false,breakable,enhanced,arc=0mm,colback=red!5,colframe=red,leftrule=12mm,%
+ overlay={\node[anchor=north west,outer sep=2pt] at (frame.north west) {\includegraphics[width=8mm]{warning}}; }
+}
+
+\definecolor{harvestgold}{cmyk}{0.00, 0.05, 0.51, 0.07} %EDE275
+\definecolor{cmhgold}{cmyk}{0,0.178,0.909,0.008} %FDD017
+\colorlet{cmhgray}{gray!30!white}
+
+\makeatletter
+\tcbset{
+ addtolol/.style={list entry={\kvtcb@title},add to list={lol}{lstlisting}},
+ addtololstar/.style={list entry={\kvtcb@title},add to list={lol}{lstlistingstar}},
+ cmhlistings/.style={
+ % width=\linewidth,
+ %breakable,
+ colback=blue!5!white,
+ colframe=white!25!black,colback=white,
+ top=0cm,
+ bottom=0cm,
+ left=0mm,
+ listing only,
+ center title,
+ listing engine=minted,
+ minted style=colorful,
+ minted options={obeytabs=true,showtabs=true,tabsize=4,showspaces=true},
+ boxrule=0pt,
+ toprule=1pt,bottomrule=1pt,
+ titlerule=1pt,
+ colframe=white!40!black,
+ colback=white,
+ sharp corners,
+ colbacktitle=white!75!black
+ },
+ yaml-TCB/.style={
+ listing only,
+ listing engine=listings,
+ left=0cm,
+ boxrule=0pt,
+ sharp corners,
+ center title,
+ colbacktitle=white!75!blue,
+ colframe=white!25!blue,
+ colback=white!90!blue,
+ toprule=2pt,
+ titlerule=2pt,
+ },
+ MLB-TCB/.style={
+ yaml-TCB,
+ center title,
+ colframe=cmhgold,
+ colbacktitle=harvestgold,
+ colback=white!60!cmhgold,
+ width=0.9\linewidth,
+ before=\centering,
+ enhanced,
+ overlay={\node[anchor=north east,outer sep=2pt,draw=cmhgold,very thick,double,fill=harvestgold,font =\small] at ([yshift=-3mm]frame.north east) {\texttt{-m}}; }
+ },
+ replace-TCB/.style={
+ yaml-TCB,
+ center title,
+ colbacktitle=white!75!green,
+ colframe=white!25!green,
+ colback=white!90!green,
+ width=0.9\linewidth,
+ before=\centering,
+ enhanced,
+ overlay={\node[anchor=north east,outer sep=2pt,draw=white!25!green,very thick,circle,fill=white!75!green,font =\small] at ([yshift=-3mm]frame.north east) {\texttt{-r}}; }
+ },
+ yaml-obsolete/.style={
+ listing only,
+ listing engine=listings,
+ left=0cm,
+ boxrule=0pt,
+ sharp corners,
+ center title,
+ toprule=2pt,
+ titlerule=2pt,
+ colframe=white!25!red,
+ colbacktitle=white!75!red,
+ colback=white!90!red,
+ },
+ new-to-this-version/.style={
+ enhanced,
+ overlay app={\node at ([yshift=0mm,xshift=0mm]frame.north east) {\stardemo[scale=1.2]}; },
+ addtololstar,
+ },
+}
+
+\DeclareTCBListing[use counter=lstlisting]{cmhlistings}{s O{} m m}{%
+ cmhlistings,
+ IfBooleanTF={#1}{new-to-this-version}{addtolol},
+ center title,
+ title={\color{black}{\scshape Listing \thetcbcounter}: ~#3},label={#4},
+ listing engine=listings,
+ listing options={#2},
+}
+
+\DeclareDocumentEnvironment{cmhtcbraster}{O{}}{\begin{tcbraster}[
+ new-to-this-version/.style={
+ enhanced,
+ overlay app={\node[anchor=south east] at ([yshift=-3mm,xshift=3mm]frame.north east) {\stardemo[scale=1.2]}; },
+ addtololstar,
+ },
+ raster valign=top,raster columns=2,#1]}{\end{tcbraster}}
+
+% \cmhlistingsfromfile
+% * no star: not new, star: new
+% [ listing/minted options ]
+% * no star: uses minted library, star: uses listings library star:
+% {<name of listing file>}
+% [<options for tcolorbox>]
+% {<title>}
+% {<label>}
+%
+% for example,
+% \cmhlistingsfromfile*[listing options]... uses listings library and is NEW
+% \cmhlistingsfromfile[listing options]... uses listings library
+% \cmhlistingsfromfile[listing options]*... uses minted library
+% \cmhlistingsfromfile*[listing options]*... uses minted library and is NEW
+\DeclareTCBInputListing[use counter=lstlisting]{\cmhlistingsfromfile}{s O{} s m O{} m m}{%
+ cmhlistings,
+ listing file={#4},
+ IfBooleanTF={#3}{listing options={style=tcblatex,showspaces=false,#2}}{minted options={obeytabs=true,showtabs=false,tabsize=4,showspaces=false,#2}},
+ title={\color{black}{\scshape Listing \thetcbcounter}: ~#6},label={#7},
+ #5,
+ IfBooleanTF={#1}{new-to-this-version}{addtolol},
+}
+
+\makeatletter
+\@tempswafalse
+\def\@tempa{draft}
+\@for\next:=\@classoptionslist\do
+{\ifx\next\@tempa\@tempswatrue\fi}
+\if@tempswa % draft option is active
+ \RenewDocumentCommand{\cmhlistingsfromfile}{s O{} s m O{} m m}{\captionof{lstlisting}{#6}\label{#7}}
+ \renewcommand{\stardemo}[1][]{$\star$}
+\fi
+
+% command shell
+\newtcblisting{commandshell}{colback=black,colupper=white,colframe=yellow!75!black,
+ listing only,listing options={style=tcblatex,language=sh,
+ morekeywords={latexindent,pl},
+ keywordstyle=\color{blue!35!white}\bfseries,
+ },
+ listing engine=listings,
+ left=0cm,
+ every listing line={\textcolor{red}{\small\ttfamily\fontseries{b}\selectfont cmh:$\sim$\$ }}}
+
+% dosprompt
+\newtcblisting{dosprompt}{
+ colback=black,
+ colupper=white,
+ colframe=yellow!75!black,
+ listing only,
+ listing options={
+ language=command.com,
+ morekeywords={latexindent,pl},
+ keywordstyle=\color{blue!35!white}\bfseries,
+ basicstyle=\small\color{white}\ttfamily
+ },
+ listing engine=listings,
+ left=0cm,
+ every listing line={\textcolor{white}{\small\ttfamily\fontseries{b}\selectfont C:\textbackslash Users\textbackslash cmh$>$}}}
+
+\lstset{%
+ basicstyle=\small\ttfamily,language={[LaTeX]TeX},
+ numberstyle=\ttfamily%\small,
+ breaklines=true,
+ keywordstyle=\color{blue}, % keywords
+ commentstyle=\color{purple}, % comments
+ tabsize=3,
+}%
+\DeclareTCBListing[use counter=lstlisting]{yaml}{O{} m O{} m}{
+ yaml-TCB,
+ listing options={
+ style=tcblatex,
+ numbers=none,
+ numberstyle=\color{red},
+ #1,
+ },
+ title={\color{black}{\scshape Listing \thetcbcounter}: ~#2},label={#4},
+ #3,
+}
+
+\lstdefinestyle{yaml-LST}{
+ style=tcblatex,
+ numbers=none,
+ numberstyle=\color{red},
+}
+
+\lstdefinestyle{demo}{
+ numbers=none,
+ linewidth=1.25\textwidth,
+ columns=fullflexible,
+}
+
+\lstdefinestyle{fileExtensionPreference}{
+ style=yaml-LST,
+ firstnumber=41,linerange={41-45},
+ numbers=left,
+}
+
+\lstdefinestyle{logFilePreferences}{
+ style=yaml-LST,
+ firstnumber=85,linerange={85-95},
+ numbers=left,
+}
+
+\lstdefinestyle{verbatimEnvironments}{
+ style=yaml-LST,
+ firstnumber=99,linerange={99-102},
+ numbers=left,
+}
+
+\lstdefinestyle{verbatimCommands}{
+ style=yaml-LST,
+ firstnumber=105,linerange={105-107},
+ numbers=left,
+}
+
+\lstdefinestyle{noIndentBlock}{
+ style=yaml-LST,
+ firstnumber=112,linerange={112-114},
+ numbers=left,
+}
+
+\lstdefinestyle{removeTrailingWhitespace}{
+ style=yaml-LST,
+ firstnumber=117,linerange={117-119},
+ numbers=left,
+}
+
+\lstdefinestyle{fileContentsEnvironments}{
+ style=yaml-LST,
+ firstnumber=123,linerange={123-125},
+ numbers=left,
+}
+
+\lstdefinestyle{lookForPreamble}{
+ style=yaml-LST,
+ firstnumber=131,linerange={131-135},
+ numbers=left,
+}
+
+\lstdefinestyle{indentAfterItems}{
+ style=yaml-LST,
+ firstnumber=187,linerange={187-191},
+ numbers=left,
+}
+
+\lstdefinestyle{itemNames}{
+ style=yaml-LST,
+ firstnumber=197,linerange={197-199},
+ numbers=left,
+}
+
+\lstdefinestyle{specialBeginEnd}{
+ style=yaml-LST,
+ firstnumber=203,linerange={203-216},
+ numbers=left,
+}
+
+\lstdefinestyle{indentAfterHeadings}{
+ style=yaml-LST,
+ firstnumber=226,linerange={226-235},
+ numbers=left,
+}
+
+\lstdefinestyle{noAdditionalIndentGlobalEnv}{
+ style=yaml-LST,
+ firstnumber=284,linerange={284-285},
+ numbers=left,
+}
+
+\lstdefinestyle{noAdditionalIndentGlobal}{
+ style=yaml-LST,
+ firstnumber=284,linerange={284-296},
+ numbers=left,
+}
+
+\lstdefinestyle{indentRulesGlobalEnv}{
+ style=yaml-LST,
+ firstnumber=300,linerange={300-301},
+ numbers=left,
+}
+
+\lstdefinestyle{indentRulesGlobal}{
+ style=yaml-LST,
+ firstnumber=300,linerange={300-312},
+ numbers=left,
+}
+
+\lstdefinestyle{commandCodeBlocks}{
+ style=yaml-LST,
+ firstnumber=315,linerange={315-329},
+ numbers=left,
+}
+
+\lstdefinestyle{modifylinebreaks}{
+ style=yaml-LST,
+ firstnumber=441,linerange={441-443},
+ numbers=left,
+}
+
+\lstdefinestyle{textWrapOptions}{
+ style=yaml-LST,
+ firstnumber=468,linerange={468-469},
+ numbers=left,
+}
+
+\lstdefinestyle{textWrapOptionsAll}{
+ style=yaml-LST,
+ firstnumber=468,linerange={468-484},
+ numbers=left,
+}
+
+\lstdefinestyle{removeParagraphLineBreaks}{
+ style=yaml-LST,
+ firstnumber=485,linerange={485-499},
+ numbers=left,
+}
+
+\lstdefinestyle{paragraphsStopAt}{
+ style=yaml-LST,
+ firstnumber=500,linerange={500-509},
+ numbers=left,
+}
+
+\lstdefinestyle{oneSentencePerLine}{
+ style=yaml-LST,
+ firstnumber=444,linerange={444-467},
+ numbers=left,
+}
+
+\lstdefinestyle{sentencesFollow}{
+ style=yaml-LST,
+ firstnumber=449,linerange={449-457},
+ numbers=left,
+}
+
+\lstdefinestyle{sentencesBeginWith}{
+ style=yaml-LST,
+ firstnumber=458,linerange={458-461},
+ numbers=left,
+}
+
+\lstdefinestyle{sentencesEndWith}{
+ style=yaml-LST,
+ firstnumber=462,linerange={462-467},
+ numbers=left,
+}
+
+\lstdefinestyle{modifylinebreaksEnv}{
+ style=yaml-LST,
+ firstnumber=510,linerange={510-519},
+ numbers=left,
+}
+
+\lstdefinestyle{replacements}{
+ style=yaml-LST,
+ firstnumber=571,linerange={571-579},
+ numbers=left,
+}
+
+\lstdefinestyle{fineTuning}{
+ style=yaml-LST,
+ firstnumber=582,linerange={582-603},
+ numbers=left,
+}
+
+% stars around contributors
+\pgfdeclaredecoration{stars}{initial}{
+ \state{initial}[width=15pt]
+ {
+ \pgfmathparse{round(rnd*100)}
+ \pgfsetfillcolor{yellow!\pgfmathresult!orange}
+ \pgfsetstrokecolor{yellow!\pgfmathresult!red}
+ \pgfnode{star}{center}{}{}{\pgfusepath{stroke,fill}}
+ }
+ \state{final}
+ {
+ \pgfpathmoveto{\pgfpointdecoratedpathlast}
+ }
+}
+
+\newtcolorbox{stars}{%
+ enhanced jigsaw,
+ breakable, % allow page breaks
+ left=0cm,
+ top=0cm,
+ before skip=0.2cm,
+ boxsep=0cm,
+ frame style={draw=none,fill=none}, % hide the default frame
+ colback=white,
+ overlay={
+ \draw[inner sep=0,minimum size=rnd*15pt+2pt]
+ decorate[decoration={stars,segment length=2cm}] {
+ decorate[decoration={zigzag,segment length=2cm,amplitude=0.3cm}] {
+ ([xshift=-.5cm,yshift=0.1cm]frame.south west) -- ([xshift=-.5cm,yshift=0.4cm]frame.north west)
+ }};
+ \draw[inner sep=0,minimum size=rnd*15pt+2pt]
+ decorate[decoration={stars,segment length=2cm}] {
+ decorate[decoration={zigzag,segment length=2cm,amplitude=0.3cm}] {
+ ([xshift=.75cm,yshift=0.1cm]frame.south east) -- ([xshift=.75cm,yshift=0.6cm]frame.north east)
+ }};
+ \node[anchor=north west,outer sep=2pt,opacity=0.25] at ([xshift=-4.25cm]frame.north west) {\resizebox{3cm}{!}{\faGithub}};
+ },
+ % paragraph skips obeyed within tcolorbox
+ parbox=false,
+}
+
+\newtcolorbox[auto counter]{example}{breakable,
+ enhanced jigsaw,
+ before skip=6pt,after skip=6pt,
+ frame hidden,
+ title={\llap{Example~\thetcbcounter\hspace{3mm}}},
+ fonttitle=\bfseries,
+ coltitle=black,
+ attach title to upper,
+ grow to left by=5mm,
+ top=3mm,
+ overlay unbroken={%
+ \draw[thick,cmhgray] ([xshift=3mm]interior.north east)--([xshift=3mm]interior.south east);
+ \path [fill=cmhgray] ([xshift=3mm]interior.north east) circle (.5mm);
+ \path [fill=cmhgray] ([xshift=3mm]interior.south east) circle (1mm);
+ },
+ overlay first={%
+ \draw[thick,cmhgray] ([xshift=3mm]interior.north east)--([xshift=3mm]interior.south east);
+ \path [fill=cmhgray] ([xshift=3mm]interior.north east) circle (.5mm);
+ %\path [draw=cmhgray,fill=white] ([xshift=3mm]interior.south east) circle (.5mm);
+ },
+ overlay last={%
+ \draw[thick,cmhgray] ([xshift=3mm]interior.north east)--([xshift=3mm]interior.south east);
+ %\path [fill=white,draw=cmhgray] ([xshift=3mm]interior.north east) circle (.5mm);
+ \path [fill=cmhgray] ([xshift=3mm]interior.south east) circle (1mm);
+ },
+ parbox=false,
+}
+
+% copied from /usr/local/texlive/2013/texmf-dist/tex/latex/biblatex/bbx/numeric.bbx
+% the only modification is the \stars and \endstars
+\defbibenvironment{specialbib}
+{\stars\list
+ {\printtext[labelnumberwidth]{%
+ \printfield{prefixnumber}%
+ \printfield{labelnumber}}}
+ {\setlength{\labelwidth}{\labelnumberwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}}%
+ \renewcommand*{\makelabel}[1]{\hss##1}}
+{\endlist\endstars}
+{\item}
+
+\newtcbox{yamltitlebox}[1][]{colframe=black!50!white,boxrule=.5pt,sharp corners,#1}
+
+\newcommand{\flagbox}[1]{%
+ \par
+ \makebox[30pt][l]{%
+ \hspace{-1cm}%
+ \ttfamily\fontseries{b}\selectfont #1
+ }%
+}
+
+\NewDocumentCommand{\yamltitle}{O{} m s m}{%
+ \par
+ \makebox[30pt][l]{%
+ \hspace{-2cm}%
+ \yamltitlebox[#1]{%
+ {\ttfamily\fontseries{b}\selectfont{\color{blue!80!white}#2}}: %
+ \IfBooleanTF{#3}
+ {$\langle$\itshape #4$\rangle$}
+ {{\bfseries #4}}
+ }}
+ \par\nobreak%
+}
+
+\newcommand{\fixthis}[1]
+{%
+ \marginpar{\huge \color{red} \framebox{FIX}}%
+ \typeout{FIXTHIS: p\thepage : #1^^J}%
+}
+% custom section
+\titleformat{\section}
+{\normalfont\Large\bfseries}
+{\llap{\thesection\hskip.5cm}}
+{0pt}
+{}
+
+\newcommand*\ruleline[1]{%
+ \par\noindent\raisebox{.8ex}{\makebox[\linewidth]{\hrulefill\hspace{1ex}\raisebox{-1.8ex}{#1}\hspace{1ex}\hrulefill}}}
+
+\newcommand{\imagetouse}{logo-bw}
+
+\titleformat% Formatting the header
+{\section} % command
+[block] % shape - Only managed to get it working with block
+{\normalfont\bfseries\huge} % format - Change here as needed
+{\centering {\scshape Section \thesection}\\} % the section
+{0pt} % sep
+{\centering \ruleline{\includegraphics{\imagetouse}}\\ % The horizontal rule
+ \centering} % And the actual title
+
+% custom subsection
+\titleformat{\subsection}
+{\normalfont\bfseries}
+{\llap{\thesubsection\hskip.5cm}}
+{0pt}
+{}
+% custom subsubsection
+\titleformat{\subsubsection}
+{\normalfont\bfseries}
+{\llap{\thesubsubsection\hskip.5cm}}
+{0pt}
+{}
+
+\titlespacing\section{0pt}{12pt plus 4pt minus 2pt}{34pt plus 2pt minus 2pt}
+\titlespacing\subsection{0pt}{12pt plus 4pt minus 2pt}{4pt plus 2pt minus 2pt}
+\titlespacing\subsubsection{0pt}{12pt plus 4pt minus 2pt}{4pt plus 2pt minus 2pt}
+
+% list of listings
+\contentsuse{lstlisting}{lol}
+\titleclass{\lstlistingstar}{straight}[\section]
+\titleformat{\lstlistingstar}{}{}{}{}
+\titlecontents{lstlistingstar}[2em]
+ {\addvspace{0.25pc}}
+ {}
+ {\llap{\stardemo}\thecontentslabel}
+ {\titlerule*[0.5em]{$\cdot$}\contentspage}
+ []
+\titlecontents{lstlisting}[2em]
+ {\addvspace{0.25pc}}
+ {\thecontentslabel}
+ {\thecontentslabel}
+ {\titlerule*[0.5em]{$\cdot$}\contentspage}
+ []
+\AtBeginDocument{\addtocontents{lol}{\protect\begin{widepage}\protect\begin{multicols}{2}}}
+\AtEndDocument{\addtocontents{lol}{\protect\end{multicols}\protect\end{widepage}}}
+
+% cleveref settings
+\crefname{table}{Table}{Tables}
+\Crefname{table}{Table}{Tables}
+\crefname{figure}{Figure}{Figures}
+\Crefname{figure}{Figure}{Figures}
+\crefname{section}{Section}{Sections}
+\Crefname{section}{Section}{Sections}
+\crefname{listing}{Listing}{Listings}
+\Crefname{listing}{Listing}{Listings}
+
+% headers and footers
+\fancyhf{} % delete current header and footer
+\fancyhead[R]{\bfseries\thepage%
+ \tikz[remember picture,overlay] {
+ \node at (1,0){\includegraphics{logo-bw}}; }
+}
+\fancyhead[L]{\rightmark}
+\fancyheadoffset[L]{3cm}
+\pagestyle{fancy}
+
+% renew plain style
+\fancypagestyle{plain}{%
+ \fancyhf{} % clear all header and footer fields
+ \renewcommand{\headrulewidth}{0pt}
+ \renewcommand{\footrulewidth}{0pt}}
+
+% widepage environment
+\newenvironment{widepage}{\begin{adjustwidth}{-3cm}{0cm}}{\end{adjustwidth}}
+
+% symbols for the m switch
+\newcommand{\BeginStartsOnOwnLine}{\color{red}\spadesuit}
+\newcommand{\BodyStartsOnOwnLine}{\color{red}\heartsuit}
+\newcommand{\EndStartsOnOwnLine}{\color{red}\diamondsuit}
+\newcommand{\EndFinishesWithLineBreak}{\color{red}\clubsuit}
+\newcommand{\ElseStartsOnOwnLine}{\color{red}\bigstar}
+\newcommand{\ElseFinishesWithLineBreak}{\color{red}\square}
+\newcommand{\OrStartsOnOwnLine}{\color{red}\blacktriangle}
+\newcommand{\OrFinishesWithLineBreak}{\color{red}\blacktriangledown}
+\newcommand{\EqualsStartsOnOwnLine}{\color{red}\bullet}
+
+% table rules
+\setlength\heavyrulewidth{0.25ex}
+% gitinfo2 settings
+\renewcommand{\gitMark}{\gitBranch\,@\,\gitAbbrevHash{}\,\textbullet{}\,\gitAuthorDate\,\textbullet{}\faGithub\,\textbullet{}\gitRel}
+
+% setting up gitinfo2:
+% copy the file post-xxx-sample.txt from http://mirror.ctan.org/macros/latex/contrib/gitinfo2
+% and put it in .git/hooks/post-checkout
+% then
+% cd .git/hooks
+% chmod g+x post-checkout
+% chmod +x post-checkout
+% cp post-checkout post-commit
+% cp post-checkout post-merge
+% cd ../..
+% git checkout master
+% git checkout develop
+% ls .git
+% and you should see gitHeadInfo.gin
+%
+% Make sure that the 'V' is included in the below!
+%
+% RELTAG=$(git describe --tags --long --always --dirty='-*' --match 'V[0-9]*.*' 2>/dev/null)
+
+% http://tex.stackexchange.com/questions/233843/textasteriskcentered-invisible-with-garamondmathdesign
+% remove the definition of \textasteriskcentered for TS1 encoding
+\UndeclareTextCommand{\textasteriskcentered}{TS1}
+% reinstate a default encoding
+\DeclareTextSymbolDefault{\textasteriskcentered}{OT1}
+% suitably define the command
+\DeclareTextCommand{\textasteriskcentered}{OT1}{\raisebox{-.7ex}[1ex][0pt]{*}}
+
+% new features list
+\newcommand{\listOfNewFeatures}{\setcounter{tocdepth}{4}\@starttoc{new}}
+\contentsuse{cmhtitle}{new}
+% toc settings
+\titleclass{\cmhtitle}{straight}[\subsection]
+\titleformat{\cmhtitle}{}{}{}{}
+\titlecontents{cmhtitle}% <paragaph>
+ [2cm]% <left>
+ {\small\itshape}% <above-code>
+ {}% <numbered-entry-format>; you could also use {\thecontentslabel. } to show the numbers
+ {}% <numberless-entry-format>
+ {\titlerule*[0.5em]{$\cdot$}\contentspage}
+
+\setcounter{secnumdepth}{5}
+\begin{document}
+\renewcommand*{\thefootnote}{\arabic{footnote}}
+\input{title.tex}
+\tableofcontents
+{\small\lstlistoflistings}
+% start sections on new page
+\newcommand{\sectionbreak}{\clearpage\thispagestyle{plain}}
+ \input{sec-introduction}
+ \input{sec-demonstration}
+ \input{sec-how-to-use}
+ \input{sec-indent-config-and-settings.tex}
+ \input{sec-default-user-local}
+ \input{subsec-noAdditionalIndent-indentRules}
+ \input{subsubsec-environments-and-their-arguments}
+ \input{subsubsec-environments-with-items}
+ \input{subsubsec-commands-with-arguments}
+ \input{subsubsec-ifelsefi}
+ \input{subsubsec-special}
+ \input{subsubsec-headings}
+ \input{subsubsec-no-add-remaining-code-blocks}
+ \stopcontents[noAdditionalIndent]
+ \input{subsec-commands-and-their-options}
+ \input{sec-the-m-switch}
+ \stopcontents[the-m-switch]
+ \input{subsec-partnering-poly-switches}
+ \input{subsec-conflicting-poly-switches}
+ \input{sec-replacements}
+ \input{sec-fine-tuning}
+ \input{sec-conclusions-know-limitations}
+ \input{references}
+ \input{appendices}
+\end{document}