TCT-Law/craftlaw.cls
Abel Hoogeveen 1fa7c0f958
Started writing the First Statutes Act, implementing Title I and II of the Statutes.
- First Statutes Act uses a new class: proposal. This class implements a style much like the 'Staatsblad' publications. It contains top level articles using capitalized roman numerals, and an indented standard set of items which is the same as those in the CraftLaw class.
- First Statutes Act implements Titles I and II, and should be updated to keep parity with statutes.tex. First Statutes Act shall be reviewed 6 months after publication by a Council-appointed working group.
- Changes to the Statutes:
   - Removed preamble
   - More small grammatical and logic changes
   - Injunction procedure against Administration is now generalized in Title III, instead of in multiple places.
   - Powers of the President may be delegated to moderators at any time, and not just at appointment of the moderator
   - Smiting is now allowed for legally sanctioned purposes and upon misbehaving of a player
   - Title III now discusses appointment of moderators. Should soon include the method of appointment, appointment of the VP and numbering of moderators.
   - Supporter title may now be of type 'bold' along the already accepted 'normal' font types.
   - Forgetting Desert is now regulated
   - Isle of Pepper is now defined
2021-04-25 23:35:25 +02:00

207 lines
4.4 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}
\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{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} \Alph{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} \Alph{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} \Alph{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}\Alph{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}\Alph{TitleSubCounter}:\arabic{ArticleCounter}\alph{ArticleSubCounter}}%
\else
\textit{Article \arabic{TitleCounter}:\arabic{ArticleCounter}\alph{ArticleSubCounter}}%
\fi
\else
\textit{Article \arabic{ArticleCounter}\alph{ArticleSubCounter}}%
\fi
\textbf{#1}%
\justify
\par{#2}%
\bigskip%
}