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