Abel Hoogeveen
df21465f00
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
278 lines
6.6 KiB
TeX
278 lines
6.6 KiB
TeX
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesClass{proposal}[CraftLaw for the CraftFuze Legal Project, Council Proposal]
|
|
|
|
\LoadClass[a4paper,8pt,oneside]{article}
|
|
\RequirePackage[left=2cm, right=2cm, top=2cm]{geometry}
|
|
\RequirePackage[utf8]{inputenc}
|
|
\RequirePackage[english]{babel}
|
|
\RequirePackage{blindtext}
|
|
\RequirePackage{titling}
|
|
\RequirePackage{fancyhdr}
|
|
\RequirePackage{tikz}
|
|
\RequirePackage[shortlabels]{enumitem}
|
|
\RequirePackage{needspace}
|
|
\RequirePackage[document]{ragged2e}
|
|
\RequirePackage{scrextend}
|
|
|
|
% 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}}
|
|
|
|
\newcommand{\generateHeader}{
|
|
% Header
|
|
\fancyhead[LE,LO]{\@date}
|
|
\fancyhead[CE,CO]{Official Journal of the Crafty Table}
|
|
\fancyhead[RE,RO]{\@lawtitle}
|
|
|
|
% Title
|
|
\noindent%
|
|
\begin{figure}
|
|
\centering
|
|
\includegraphics[width=30mm]{councilseal}
|
|
\end{figure}
|
|
\centering%
|
|
\textbf{\large\fontfamily{phv}\fontseries{b}%
|
|
\selectfont \@lawtitle}%
|
|
\medskip%
|
|
}
|
|
|
|
|
|
% Introduction
|
|
\newcommand{\introduction}[1]{%
|
|
\bigskip%
|
|
\vbox{%
|
|
PREAMBLE\medskip%
|
|
\begin{flushleft}
|
|
\noindent{#1}%
|
|
\end{flushleft}
|
|
}%
|
|
}
|
|
|
|
% About proposal content
|
|
\newcounter{TopArticle}
|
|
\newcommand{\toparticle}[2]{%
|
|
% Count 1 up
|
|
\stepcounter{TopArticle}%
|
|
|
|
% Demand space and take space
|
|
\needspace{5\baselineskip}%
|
|
|
|
% Center the title and print it
|
|
\begin{flushleft}
|
|
\textbf{ARTICLE \Roman{TopArticle}}%
|
|
\def\param{#1}%
|
|
\ifx\param\empty
|
|
%
|
|
\else
|
|
: \uppercase{\textbf{#1}}
|
|
\fi
|
|
\newline%
|
|
|
|
\medskip%
|
|
\par{#2}
|
|
\end{flushleft}
|
|
}
|
|
|
|
\newcommand*\wildcard[2][5cm]{\vspace*{1cm}\parbox{#1}{\textit{Signed}: \hrulefill\par#2}}
|
|
|
|
\newcommand{\signature}[3]{
|
|
\bigskip%
|
|
\begin{flushleft}
|
|
Hereby ordering and burdening the Judiciary to publish this Act in the Official Journal of the Crafty Table; and that all shall be bound to its provisions and shall act faithfully in accordance with it.
|
|
|
|
\medskip%
|
|
|
|
Ordered as such here on this day, the \@date.
|
|
|
|
\begingroup
|
|
\centering
|
|
\wildcard{\textbf{#1}\newline Host of the Council}
|
|
\hspace{0.7cm}
|
|
\wildcard{\textbf{#2}\newline President of the Crafty Table}
|
|
\hspace{0.7cm}
|
|
\wildcard{\textbf{#3}\newline Owner of the Crafty Table}
|
|
\par
|
|
\endgroup
|
|
\end{flushleft}
|
|
}
|
|
|
|
\newcommand{\oldsignature}[1]{
|
|
\bigskip%
|
|
\begin{flushleft}
|
|
Hereby ordering and burdening the Judiciary to publish this Act in the Official Journal of the Crafty Table; and that all shall be bound to its provisions and shall act faithfully in accordance with it.
|
|
|
|
\medskip%
|
|
|
|
Ordered as such here on this day, the \@date.
|
|
|
|
\begingroup
|
|
\wildcard{\textbf{#1}\newline Administrator of the Realm}
|
|
\par
|
|
\endgroup
|
|
\end{flushleft}
|
|
}
|
|
|
|
% About legal content
|
|
\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]{%
|
|
\begin{addmargin}[1em]{2em}
|
|
\stepcounter{TitleCounter}%
|
|
\needspace{25\baselineskip}%
|
|
|
|
\begin{flushleft}
|
|
\textbf{Title \Roman{TitleCounter}}%
|
|
: \textbf{#1}
|
|
\end{flushleft}
|
|
\end{addmargin}
|
|
\bigskip%
|
|
}
|
|
\newcommand{\subtitle}[1]{%
|
|
\begin{addmargin}[1em]{2em}
|
|
\stepcounter{TitleSubCounter}%
|
|
\needspace{25\baselineskip}%
|
|
|
|
\begin{flushleft}
|
|
\textbf{Title \Roman{TitleCounter} \AlphAlph{\value{TitleSubCounter}}}%
|
|
: \textbf{#1}
|
|
\end{flushleft}
|
|
\end{addmargin}
|
|
\bigskip%
|
|
}
|
|
\newcommand{\chapter}[1]{
|
|
\begin{addmargin}[1em]{2em}
|
|
\stepcounter{ChapterCounter}%
|
|
\needspace{20\baselineskip}%
|
|
|
|
\begin{flushleft}
|
|
\textbf{Chapter \Roman{ChapterCounter}}%
|
|
: \textbf{#1}%
|
|
\end{flushleft}
|
|
\end{addmargin}
|
|
\bigskip%
|
|
}
|
|
\newcommand{\subchapter}[1]{
|
|
\begin{addmargin}[1em]{2em}
|
|
\stepcounter{ChapterSubCounter}%
|
|
\needspace{20\baselineskip}%
|
|
|
|
\begin{flushleft}
|
|
\textbf{Chapter \Roman{ChapterCounter} \AlphAlph{\value{ChapterSubCounter}}}%
|
|
: \textbf{#1}%
|
|
\end{flushleft}
|
|
\end{addmargin}
|
|
\bigskip%
|
|
}
|
|
\renewcommand{\section}[1]{%
|
|
\begin{addmargin}[1em]{2em}
|
|
\stepcounter{SectionCounter}%
|
|
\needspace{15\baselineskip}%
|
|
|
|
\begin{flushleft}
|
|
\textbf{Section \Roman{SectionCounter}}%
|
|
: \textbf{#1}%
|
|
\end{flushleft}
|
|
\end{addmargin}
|
|
\bigskip%
|
|
}
|
|
\renewcommand{\subsection}[1]{%
|
|
\begin{addmargin}[1em]{2em}
|
|
\stepcounter{SectionSubCounter}%
|
|
\needspace{15\baselineskip}%
|
|
|
|
\begin{flushleft}
|
|
\textbf{Section \Roman{SectionCounter} \AlphAlph{\value{SectionSubCounter}}}%
|
|
: \textbf{#1}%
|
|
\end{flushleft}
|
|
\end{addmargin}
|
|
\bigskip%
|
|
}
|
|
\renewcommand{\paragraph}[1]{%
|
|
\begin{addmargin}[1em]{2em}
|
|
\stepcounter{ParagraphCounter}%
|
|
\needspace{10\baselineskip}%
|
|
|
|
\begin{flushleft}
|
|
\textbf{Paragraph §\arabic{ParagraphCounter}.\arabic{SubParagraphCounter}}%
|
|
: \textbf{#1}%
|
|
\end{flushleft}
|
|
\end{addmargin}
|
|
\bigskip%
|
|
}
|
|
\renewcommand{\subparagraph}[1]{%
|
|
\begin{addmargin}[1em]{2em}
|
|
\stepcounter{SubParagraphCounter}%
|
|
\needspace{10\baselineskip}%
|
|
|
|
\begin{flushleft}
|
|
\textbf{Paragraph §\arabic{ParagraphCounter}.\arabic{SubParagraphCounter}}%
|
|
: \textbf{#1}%
|
|
\end{flushleft}
|
|
\end{addmargin}
|
|
\bigskip%
|
|
}
|
|
\newcommand{\article}[2]{%
|
|
\begin{addmargin}[1em]{2em}
|
|
\stepcounter{ArticleCounter}%
|
|
\needspace{5\baselineskip}%
|
|
|
|
\begin{flushleft}
|
|
\textbf{Article \arabic{ArticleCounter}}%
|
|
\def\param{#1}%
|
|
\ifx\param\empty
|
|
%
|
|
\else
|
|
: \textbf{#1}%
|
|
\fi
|
|
|
|
\par{#2}
|
|
\end{flushleft}
|
|
\end{addmargin}
|
|
\bigskip%
|
|
}
|
|
\newcommand{\subarticle}[2]{%
|
|
\begin{addmargin}[1em]{2em}
|
|
\stepcounter{ArticleSubCounter}%
|
|
\needspace{5\baselineskip}%
|
|
|
|
\begin{flushleft}
|
|
\textbf{Article \arabic{ArticleCounter}\alphalph{\value{ArticleSubCounter}}}%
|
|
\def\param{#1}%
|
|
\ifx\param\empty
|
|
%
|
|
\else
|
|
: \textbf{#1}%
|
|
\fi
|
|
|
|
\par{#2}
|
|
\end{flushleft}
|
|
\end{addmargin}
|
|
\bigskip%
|
|
} |