sasbase nach gesetze kopiert
This commit is contained in:
@@ -0,0 +1,300 @@
|
||||
\ProvidesClass{sasbase}[2017/11/6 SaS base class]
|
||||
\LoadClass[twocolumn]{article}
|
||||
|
||||
\RequirePackage[utf8]{inputenc}
|
||||
\RequirePackage[shortlabels]{enumitem}
|
||||
\RequirePackage{environ}
|
||||
\RequirePackage{geometry}
|
||||
\RequirePackage{booktabs}
|
||||
\RequirePackage{mathptmx}
|
||||
\RequirePackage[12pt]{moresize}
|
||||
\RequirePackage{array}
|
||||
\RequirePackage{titlesec}
|
||||
\RequirePackage[titles]{tocloft}
|
||||
\RequirePackage[rm={lining,proportional},sf={lining, proportional},tt={lining, proportional, variable}]{cfr-lm}
|
||||
\RequirePackage[T1]{fontenc}
|
||||
\RequirePackage{indentfirst}
|
||||
\RequirePackage{fancyhdr}
|
||||
\RequirePackage{bm}
|
||||
\RequirePackage{roboto}
|
||||
\RequirePackage{varwidth}
|
||||
|
||||
% SET PAGE GEOMETRY
|
||||
\geometry{
|
||||
left=13mm,
|
||||
right=13mm,
|
||||
top=8mm,
|
||||
bottom=8mm,
|
||||
includeheadfoot}
|
||||
|
||||
% ENABLE FANCY HEADERS
|
||||
\pagestyle{fancy}
|
||||
\fancyhf{}
|
||||
|
||||
% DISABLE HEADER RULE
|
||||
\renewcommand{\headrulewidth}{0pt}
|
||||
|
||||
% ADD PAGE NUMBER TO TOP RIGHT / LEFT (ODD / EVEN)
|
||||
\fancyhead[R]{\sffamily\bfseries\large{\textbf{\thepage}} \ifodd\value{page}\else\hfill\fi}
|
||||
|
||||
% SET COLUMN GAP OF TWOCOLUMN LAYOUT
|
||||
\setlength{\columnsep}{6mm}
|
||||
|
||||
% SET PLACE COMMAND
|
||||
\makeatletter
|
||||
\newcommand{\place}[1]{
|
||||
\def\@place{#1}
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% SET DATE COMMAND (COLLIDES WITH BUILTIN)
|
||||
\makeatletter
|
||||
\newcommand{\datum}[1]{
|
||||
\def\@datum{#1}
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% SET NUMBER COMMAND (COLLIDES WITH BUILTIN)
|
||||
\makeatletter
|
||||
\newcommand{\edition}[1]{
|
||||
\def\@edition{#1}
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% HELPER TO EXTRACT YEAR FROM DATE
|
||||
\newcommand*\TheLastWord[1]{\expandafter\xreverseit\expandafter{\expandafter}#1 \relax}
|
||||
\def\xreverseit#1#2 #3{%
|
||||
\ifx\relax#3%
|
||||
#2%
|
||||
\expandafter\xthree
|
||||
\fi
|
||||
\xreverseit{#1 #2}#3%
|
||||
}
|
||||
\def\xthree#1#2#3{}
|
||||
|
||||
% ------------------
|
||||
% SECTION FORMATTING
|
||||
% ------------------
|
||||
|
||||
\titleformat
|
||||
{\section}
|
||||
{\centering\normalfont\bf\large\ostyle}
|
||||
{\thesection}
|
||||
{1em}
|
||||
{}
|
||||
|
||||
\titleformat
|
||||
{\subsection}
|
||||
{\centering\normalfont\bf}
|
||||
{\thesubsection}
|
||||
{1em}
|
||||
{}
|
||||
|
||||
\titleformat
|
||||
{\subsubsection}
|
||||
{\normalfont\bf}
|
||||
{\thesubsubsection}
|
||||
{1em}
|
||||
{}
|
||||
|
||||
% -----------------
|
||||
% TABLE OF CONTENTS
|
||||
% -----------------
|
||||
|
||||
% DISABLE BOLD
|
||||
\renewcommand{\cftsecfont}{\normalfont\ostyle}
|
||||
|
||||
% ONLY SHOW SECTIONS IN TOC
|
||||
\setcounter{tocdepth}{1}
|
||||
|
||||
% HIDE NUMBERING OF SECTIONS
|
||||
\setcounter{secnumdepth}{0}
|
||||
|
||||
% DEFINE SPACING BETWEEN ITEMS
|
||||
\setlength{\cftbeforesecskip}{1mm}
|
||||
|
||||
\setlength{\cftbeforetoctitleskip}{0mm}
|
||||
\setlength{\cftaftertoctitleskip}{5cm}
|
||||
|
||||
% SET DOTS FOR SECTIONS
|
||||
\renewcommand{\cftsecdotsep}{\cftdotsep}
|
||||
|
||||
% Redefinition of ToC command to remove heading
|
||||
\makeatletter
|
||||
\renewcommand\tableofcontents{%
|
||||
\vspace{-4mm}
|
||||
\@starttoc{toc}
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% CUSTOM TOC COMMAND
|
||||
\newcommand{\mycontents}{%
|
||||
\vspace{4mm}
|
||||
\ostyle
|
||||
\begin{tabular}{lp{.9\textwidth}}
|
||||
\textbf{Inhalt:} & \tableofcontents \\
|
||||
\end{tabular}
|
||||
}
|
||||
|
||||
% ---------------------------------------
|
||||
% TITLE (THIS IS WHERE THE MAGIC HAPPENS)
|
||||
% ---------------------------------------
|
||||
|
||||
% SET WIDTH OF RULES IN TABULAR
|
||||
\setlength{\arrayrulewidth}{.3mm}
|
||||
|
||||
% SET CELL HEIGHT
|
||||
%\renewcommand{\arraystretch}{2.5}
|
||||
|
||||
% DEFINE OWN COLUMN TYPE
|
||||
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}
|
||||
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}
|
||||
|
||||
\makeatletter
|
||||
\def\@maketitle{
|
||||
\vspace*{-10mm}
|
||||
\begin{center}
|
||||
\textbf{\ostyle{\HUGE{\@title}}}
|
||||
\end{center}
|
||||
\vspace{5mm}
|
||||
\begin{tabular}{M{\dimexpr.1\textwidth-2\tabcolsep}|M{\dimexpr.8\textwidth-2\tabcolsep}|M{\dimexpr.1\textwidth-2\tabcolsep}@{}m{0pt}@{}}
|
||||
\hline
|
||||
\large \ostyle{\TheLastWord{\@datum}} &
|
||||
\large \ostyle{Ausgegeben in {\@place} am {\@datum}} &
|
||||
\large \ostyle{Nr. {\@edition}}
|
||||
&\\[5mm] \hline
|
||||
\multicolumn{3}{m{\dimexpr\textwidth-2\tabcolsep}}{\mycontents} \\ \hline
|
||||
\end{tabular}
|
||||
|
||||
\vspace{10mm}
|
||||
%\thispagestyle{fancy}
|
||||
}
|
||||
\makeatother
|
||||
|
||||
\newcommand{\mytitle}{
|
||||
\maketitle
|
||||
\thispagestyle{fancy}
|
||||
}
|
||||
|
||||
% ---------------------------
|
||||
% DEFINITION OF USEFUL MACROS
|
||||
% ---------------------------
|
||||
|
||||
% OPTION TO ENABLE SQUARE BRACKETS OR ADDITIONS TO THE ARTICLES NAME
|
||||
\newif\ifsquare\squarefalse
|
||||
|
||||
\newcommand{\squarestyle}{\squaretrue}
|
||||
\newcommand{\parensstyle}{\squarefalse}
|
||||
|
||||
% ARTICLE COUNTER
|
||||
\newcounter{articleno}
|
||||
\setcounter{articleno}{1}
|
||||
|
||||
\makeatletter
|
||||
\newenvironment{article}[1][nil]{
|
||||
\begin{@paraorarticle}{#1}{Artikel}
|
||||
}
|
||||
{
|
||||
\end{@paraorarticle}
|
||||
}
|
||||
\makeatother
|
||||
|
||||
\makeatletter
|
||||
\newenvironment{lawparagraph}[1][nil]{
|
||||
\begin{@paraorarticle}{#1}{§}
|
||||
}
|
||||
{
|
||||
\end{@paraorarticle}
|
||||
}
|
||||
\makeatother
|
||||
|
||||
\makeatletter
|
||||
|
||||
% A GENERAL ARTICLE, PARAGRAPH, etc. ENVIRONMENT
|
||||
\newenvironment{@paraorarticle}[2]{
|
||||
\def\val{#1}
|
||||
\def\null{nil}
|
||||
\ifsquare
|
||||
\subsubsection{#2 {\thearticleno}}
|
||||
\ifx\val\null
|
||||
\else
|
||||
\vspace*{-2mm}
|
||||
\noindent\bracketed{\textbf{#1}}
|
||||
\fi
|
||||
\else
|
||||
\subsubsection{#2 {\thearticleno} \ifx\val\null\else(#1)\fi}
|
||||
\fi
|
||||
\stepcounter{articleno}
|
||||
\begin{enumerate}[(1)]
|
||||
}
|
||||
{
|
||||
\end{enumerate}
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% LAW COMMAND
|
||||
\newcommand{\law}[1]{
|
||||
\section{#1}
|
||||
\setcounter{articleno}{1}
|
||||
}
|
||||
|
||||
% JUST TO MAKE CLEAR WHICH LEVEL TO USE
|
||||
\newcommand{\segmentoflaw}[1]{\subsection{#1}}
|
||||
|
||||
% TEXT IN SQUARE BRACKETS
|
||||
\newcommand{\bracketed}[1]{$\left[\varwidth{\linewidth}#1\endvarwidth\right]$}
|
||||
|
||||
% INCREASE HEIGHT OF BRACKETS
|
||||
\setlength\delimitershortfall{-2pt}
|
||||
|
||||
% ---
|
||||
% FAQ
|
||||
% ---
|
||||
|
||||
\newcommand{\topic}[1]{\subsection{#1}}
|
||||
|
||||
% QUESTION ENVIRONMENT
|
||||
\newenvironment{question}[1]{
|
||||
\subsubsection{Q: #1}
|
||||
\noindent\textbf{A:}
|
||||
}
|
||||
{
|
||||
}
|
||||
|
||||
% ----------
|
||||
% WIRTSCHAFT
|
||||
% ----------
|
||||
|
||||
\newcounter{total}
|
||||
|
||||
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}
|
||||
|
||||
\newenvironment{kostenrechnung}[0]{
|
||||
\setcounter{total}{0}
|
||||
\begin{tabular}{p{2cm}p{4.5cm}p{8.5cm}R{2cm}}
|
||||
\toprule
|
||||
Posten & Berechnung & Kommentar & Kosten in €\\
|
||||
\midrule
|
||||
}
|
||||
{
|
||||
\bottomrule
|
||||
Gesamt & & & \thetotal \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
}
|
||||
|
||||
\newenvironment{lohnrechnung}[0]{
|
||||
\setcounter{total}{0}
|
||||
\begin{tabular}{p{8cm}p{3.5cm}p{3.5cm}R{2cm}}
|
||||
\toprule
|
||||
Stelle & Anzahl & Lohn pro Tag & Gesamt in €\\
|
||||
\midrule
|
||||
}
|
||||
{
|
||||
\bottomrule
|
||||
Gesamt & & & \thetotal \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
}
|
||||
|
||||
\newcommand{\posten}[4]{\addtocounter{total}{#4} #1 & #2 & \textit{#3} & { \raggedleft #4 } \\}
|
||||
Reference in New Issue
Block a user