TCT-Law/craftlaw.cls
Abel Hoogeveen df21465f00
Many changes and return of old laws.
General updates:
- Templates now use AlphAlph, to allow numbering above 26 letters
- Moved seals in proposals to be pdf, based on svg, instead of png
- Updated signatures in proposals, dependent on the type of document
- Added kluwer class, printing dense and on a5 paper. Compatible with other classes.

Updates to laws:
- Migrated all old laws to new classes; added DRAFT, OUTDATED, RETRACTED or PROPOSAL watermarks where applicable
- Created Royal Decree on the designation of a donation information channel, assigning the Discord channel and message for donations.
- Created Titles Act (Administrative Decree), designating the relative rankings of titles and which shall go first. Also assigns colors and display

Changes to the Statutes:
- Implemented Amendment 2
- Removed designation of 'Holidays' chapter in title I, merged into 'Overarching Provisions'
- Added fourth season to predefined seasons
- Added general title provisions and amended specific title provisions
- Created general provisions on decision making in title III
- Owner is President while none are appointed
- Created chapter for regional and functional councils in title V
- Re-ordered chapters and sections in title VI
- Updated land claims in title VII to be based on the Lands plugin instead of GriefPrevention
- Renamed 'build code' to 'construction standards'
- Hidden title 7A, since it's no longer active
- Updated title 7B to reflect the legal situation regarding transfered public builds in season 4
- Added general provisions on exclusion of guilt to title X
- Added the crimes of illegal title usage and obstruction to title X
2022-02-05 19:06:07 +01:00

221 lines
5.0 KiB
TeX

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{craftlaw}[CraftLaw for the CraftFuze Legal Project, EU Look]
\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}
\RequirePackage[document]{ragged2e}
\RequirePackage{graphicx}
\RequirePackage{anyfontsize}
% AlphAlph
\usepackage{alphalph}
\usepackage{enumitem,alphalph}
\makeatletter
\newcommand{\AlphAlphFmt}[1]{\@alphfmt{#1}} % Define the \alphalph wrapper for enumitem
\newcommand{\@alphfmt}[1]{\alphalph{\value{#1}}} % Internal representation
\AddEnumerateCounter{\alphalphFmt}{\@alphfmt}{aaa} % Register this new format
% Indent
\setlength{\parindent}{0pt}
\setlength{\parskip}{0pt}
\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=\textbf{\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
\begin{titlepage}
\begin{figure}
\centering
\includegraphics[width=120mm]{councilseal}
\vspace{0.5in}
\textsf{\fontsize{70}{90}\fontfamily{cmsy}%
\selectfont\@lawtitle}%
\end{figure}
\end{titlepage}
}
% Introduction
\newcommand{\introduction}[1]{%
\bigskip%
\vbox{%
Preamble:\medskip%
\noindent{#1}%
}%
}
% About Articles
\newcounter{TitleCounter}
\newcounter{TitleSubCounter}[TitleCounter]
\newcounter{ChapterCounter}[TitleCounter]
\newcounter{ChapterSubCounter}[ChapterCounter]
\newcounter{SectionCounter}[ChapterCounter]
\newcounter{SectionSubCounter}[SectionCounter]
\newcounter{ParagraphCounter}[SectionCounter]
\newcounter{SubParagraphCounter}[ParagraphCounter]
\newcounter{ArticleCounter}[TitleSubCounter]
\newcounter{ArticleSubCounter}[ArticleCounter]
\renewcommand{\title}[1]{%
\stepcounter{TitleCounter}%
\newpage%
\bigskip%
\centering%
\noindent{TITLE \Roman{TitleCounter}}%
\textbf{#1}%
}
\newcommand{\subtitle}[1]{%
\stepcounter{TitleSubCounter}%
\newpage%
\bigskip%
\centering%
\noindent{TITLE \Roman{TitleCounter} \AlphAlph{\value{TitleSubCounter}}}%
\textbf{#1}%
}
\newcommand{\chapter}[1]{
\stepcounter{ChapterCounter}%
\needspace{20\baselineskip}%
\bigskip%
\centering%
\noindent{CHAPTER \Roman{ChapterCounter}}%
\textbf{#1}%
}
\newcommand{\subchapter}[1]{
\stepcounter{ChapterSubCounter}%
\needspace{20\baselineskip}%
\bigskip%
\centering%
\noindent{CHAPTER \Roman{ChapterCounter} \AlphAlph{\value{ChapterSubCounter}}}%
\textbf{#1}%
}
\renewcommand{\section}[1]{%
\stepcounter{SectionCounter}%
\needspace{20\baselineskip}%
\bigskip%
\centering%
\noindent{SECTION \Roman{SectionCounter}}%
\textbf{#1}%
}
\renewcommand{\subsection}[1]{%
\stepcounter{SectionSubCounter}%
\needspace{20\baselineskip}%
\bigskip%
\centering%
\noindent{SECTION \Roman{SectionCounter} \AlphAlph{\value{SectionSubCounter}}}%
\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{TitleCounter}>0
\ifnum\value{TitleSubCounter}>0
\textit{Article \arabic{TitleCounter}\AlphAlph{\value{TitleSubCounter}}:\arabic{ArticleCounter}}%
\else
\textit{Article \arabic{TitleCounter}:\arabic{ArticleCounter}}%
\fi
\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{TitleCounter}>0
\ifnum\value{TitleSubCounter}>0
\textit{Article \arabic{TitleCounter}\AlphAlph{\value{TitleSubCounter}}:\arabic{ArticleCounter}\AlphAlph{\value{ArticleSubCounter}}}%
\else
\textit{Article \arabic{TitleCounter}:\arabic{ArticleCounter}\alphalph{\value{ArticleSubCounter}}}%
\fi
\else
\textit{Article \arabic{ArticleCounter}\alphalph{\value{ArticleSubCounter}}}%
\fi
\textbf{#1}%
\justify
\par{#2}%
\bigskip%
}