TCT-Law/craftlaw.cls

163 lines
3.4 KiB
TeX

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{craftlaw}[CraftLaw for the CraftFuze Legal Project]
\LoadClass[a4paper,8pt,oneside]{article}
\RequirePackage[left=1cm, right=1cm, top=2cm]{geometry}
\RequirePackage[utf8]{inputenc}
\RequirePackage[english]{babel}
\RequirePackage{blindtext}
\RequirePackage{fancyhdr}
\RequirePackage{titling}
\RequirePackage[shortlabels]{enumitem}
\RequirePackage{needspace}
\usepackage[document]{ragged2e}
% Indent
\setlength{\parindent}{0pt}
\setlength{\parskip}{0pt}
\newcommand{\articleindent}{\leavevmode{\parindent=3em\indent}}
\setlist[enumerate,1]{leftmargin=1.5em,topsep=-1ex,itemsep=-1ex,partopsep=1ex,parsep=1ex,style=sameline}
\setlist[enumerate,2]{leftmargin=1.5em,topsep=-1ex,itemsep=-1ex,partopsep=1ex,parsep=1ex,style=sameline}
\setenumerate[0]{label=\arabic*.}
% Header and footer
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[LE,RO]{\thepage}
% New title layout
\newcommand{\settitle}[1]{\def\@lawtitle{#1}}
\newcommand{\setdate}[1]{\def\@date{#1}}
% General Data
\newcommand{\setheader}[1]{}
% Generate header and title
\newcommand{\generateHeader}{
% Header
\fancyhead[LE,LO]{\@date}
\fancyhead[CE,CO]{Official Journal of the Crafty Table}
\fancyhead[RE,RO]{\@lawtitle}
% Title
\noindent%
\textbf{\large\fontfamily{phv}\fontseries{b}%
\selectfont \@lawtitle}%
\medskip%
}
% Introduction
\newcommand{\introduction}[1]{%
\bigskip%
\vbox{%
Preamble:\medskip%
\noindent{#1}%
}%
}
% About Articles
\newcounter{BookCounter}
\newcounter{BookSubCounter}[BookCounter]
\newcounter{TitleCounter}[BookCounter]
\newcounter{ChapterCounter}[TitleCounter]
\newcounter{ParagraphCounter}[ChapterCounter]
\newcounter{SubParagraphCounter}[ParagraphCounter]
\newcounter{ArticleCounter}[BookCounter]
\newcounter{ArticleSubCounter}[ArticleCounter]
\newcommand{\book}[1]{%
\stepcounter{BookCounter}%
\newpage%
\bigskip%
\centering%
\noindent{BOOK \Roman{BookCounter}}%
\textbf{#1}%
}
\renewcommand{\title}[1]{
\stepcounter{TitleCounter}%
\needspace{20\baselineskip}%
\bigskip%
\centering%
\noindent{TITLE \Roman{TitleCounter}}%
\textbf{#1}%
}
\newcommand{\chapter}[1]{%
\stepcounter{ChapterCounter}%
\needspace{20\baselineskip}%
\bigskip%
\centering%
\noindent{CHAPTER \Roman{ChapterCounter}}%
\textbf{#1}%
}
\renewcommand{\paragraph}[1]{%
\stepcounter{ParagraphCounter}%
\needspace{20\baselineskip}%
\bigskip%
\centering%
\noindent{Paragraph §\arabic{ParagraphCounter}.\arabic{SubParagraphCounter}}%
\textbf{#1}%
}
\renewcommand{\subparagraph}[1]{%
\stepcounter{SubParagraphCounter}%
\needspace{20\baselineskip}%
\bigskip%
\centering%
\noindent{Paragraph §\arabic{ParagraphCounter}.\arabic{SubParagraphCounter}}%
\textbf{#1}%
}
\newcommand{\article}[2]{%
% Count 1 up
\stepcounter{ArticleCounter}%
% Demand space and take space
\needspace{5\baselineskip}%
\bigskip%
% Center the title and print it
\centering%
\ifnum\value{BookCounter}>0
\textit{Article \arabic{BookCounter}:\arabic{ArticleCounter}}%
\else
\textit{Article \arabic{ArticleCounter}}\newline%
\fi
\textbf{#1}%
\justify
\par{#2}
\bigskip%
}
\newcommand{\subarticle}[2]{%
\stepcounter{ArticleSubCounter}%
\needspace{5\baselineskip}%
\bigskip%
\centering%
\ifnum\value{BookCounter}>0
\textit{Article \arabic{BookCounter}:\arabic{ArticleCounter}\alph{ArticleSubCounter}}%
\else
\textit{Article \arabic{ArticleCounter}\alph{ArticleSubCounter}}%
\fi
\textbf{#1}%
\justify
\par{#2}%
\bigskip%
}