Skip to content
Snippets Groups Projects
stratum0doc.sty 3.88 KiB
Newer Older
%% stratum0doc.sty
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]

\ProvidesPackage{stratum0doc}
\RequirePackage{enumitem}
\RequirePackage[compact]{titlesec}
\RequirePackage{hyperref}

%% Package options
\makeatletter
  \DeclareOption{transcript}{%
    \def\@sndsectionmark{TOP\ }%
    \def\@sndoutermargin{3.1cm}
    % enlarge page margin, for following \vote etc. commands
    \addtolength{\textwidth}{-14pt}
    \addtolength{\marginparwidth}{13pt}
  }
  \DeclareOption{legal}{
    \def\@sndsectionmark{§\ }
    \def\@sndoutermargin{2cm}
  \ExecuteOptions{transcript}
  \ProcessOptions\relax

\RequirePackage[margin=2.5cm,outer=\@sndoutermargin]{geometry}
\makeatother

%% fancyhdr setup
\newcommand{\myfancysetup}[2]{%
  \pagestyle{fancy}
  \fancyhf{}
  \fancyhead[L]{\sc #1}%
  \fancyhead[R]{\sc #2}%
  \fancyfoot[C]{Seite \thepage\ von \pageref{LastPage}}
  \fancypagestyle{plain}{% for first page
    \renewcommand{\headrulewidth}{0pt}%
    \fancyhf{}%
    \fancyfoot[C]{Seite \thepage\ von \pageref{LastPage}}%
  }
}

%% default monospace font
\RequirePackage[defaultmono,scale=0.8]{droidmono}
\urlstyle{tt}

%% list bullets, section prefix
\makeatletter
\renewcommand{\labelenumi}{(\arabic{enumi})}
\renewcommand{\labelitemi}{--}

% set table of contents number field to max width of section numbers
\settowidth{\cftsecnumwidth}{\@sndsectionmark 10 }
\settowidth{\cftsubsecnumwidth}{\@sndsectionmark 1.10 }

\let\theoldsection\thesection
\renewcommand*{\thesection}{%
  \@sndsectionmark\theoldsection
rohieb's avatar
rohieb committed
\setcounter{section}{-1} % Hacker fangen ab 0 an zu zählen.
\makeatother

% optimize vertical spacing
\setlist{nosep}
\titlespacing{\section}{0pt}{12pt}{0pt}
\titlespacing{\subsection}{0pt}{0.3em}{*0}
\titlespacing{\subsubsection}{0pt}{0.3em}{*0}
\setlength{\parskip}{0.5em plus 0.1em minus 0.3em}
\setlength{\parindent}{0em}
\setlength{\cftbeforesecskip}{0.3\baselineskip}
\setlength{\headsep}{24pt}
\setlength{\topskip}{0pt}
\setlength{\topsep}{0pt}
\setlength{\partopsep}{0pt}
\setlength{\footskip}{32pt}
%% Parameters: text, pros, contras, abstentions
  \marginpar{\footnotesize \textbf{Abstimmung:} #1:\\#2~pro, #3~contra, #4~neutral}%
%% consensus without explicit vote
\newcommand{\consensus}[1]{%
  \marginpar{\footnotesize \textbf{Beschluss:} #1}%
%% no vote at all, disagreement
  \marginpar{\footnotesize \textbf{Kein Beschluss}}%
  \marginpar{\footnotesize \textbf{vertagt}}%
  \marginpar{\footnotesize \textbf{TOP zurückgezogen}}%
%% elected persons
%% Parameters: appointment, name, votes, max. possible votes
\newcommand{\elected}[4]{%
  \marginpar{\footnotesize \textbf{#1}: #2 (#3/#4)}
%% questions and answers
\newcommand{\question}[1]{\textbf{Frage:} #1 \\}
\newcommand{\answer}[1]{\textbf{Antwort:} #1}
% inclusion of single PDF pages
% usage: \includepdfpage{pdf file}{page number}
% set length \includepdfpagewidth to control width of pages
\newlength{\includepdfpagewidth}
\setlength{\includepdfpagewidth}{0.75\textwidth}
\newcommand{\includepdfpage}[2]{%
  \begin{center}
    \fbox{
      \includegraphics[%
        width=\includepdfpagewidth,%
        page=#2,%
        bb=29pt 28pt 764pt 591pt,%
        clip=true%
        ]{#1}%
    }%
  \end{center}%
}
% notes for included pdf pages. uses \includepdfpagewidth.
\newcommand{\pdfpagenote}[1]{%
  \begin{center}
    \begin{minipage}{\includepdfpagewidth}
      \vspace{-.5\baselineskip}
      \footnotesize{#1}
    \end{minipage}
  \end{center}%
}
\RequirePackage{fancyhdr}
\RequirePackage{lastpage}

%% bootstrapping
\makeatletter
\AtBeginDocument{%
  \let\mytitle\@title%
  \let\mydate\@date%
  \myfancysetup{\mytitle}{\mydate}%
}
\makeatother
rohieb's avatar
rohieb committed
% vim: set tw=80 et sw=2 ts=2: