From ae1c9e81c035d991857a8b1a05d5685e3abc904d Mon Sep 17 00:00:00 2001 From: Filip Gralinski Date: Tue, 9 Feb 2021 14:03:15 +0100 Subject: [PATCH] Add AMU thesis template --- README.md | 2 + hooks/post_gen_project.sh | 6 +- .../_latex-templates/amu-diploma-thesis.cls | 423 ++++++++++++++++++ .../_latex-templates/amu-template-meta.tex | 15 + .../_latex-templates/amu-template.tex | 37 ++ 5 files changed, 482 insertions(+), 1 deletion(-) create mode 100644 {{cookiecutter.paper_repo_name}}/_latex-templates/amu-diploma-thesis.cls create mode 100644 {{cookiecutter.paper_repo_name}}/_latex-templates/amu-template-meta.tex create mode 100644 {{cookiecutter.paper_repo_name}}/_latex-templates/amu-template.tex diff --git a/README.md b/README.md index e5d4525..0e06df2 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ following templates are handled: * EMNLP (`emnlp`) * EACL (`eacl`) * PolEval (`poleval`) +* Msc thesis at Adam Mickiewicz University, Faculty of Mathematics and Computer Science (`amu`) If you are to use another template, prepare an MR to this repo first! Do not add directly to your specific paper. @@ -142,3 +143,4 @@ Prepared by Filip Graliński (Applica.ai). * Łukasz Garncarek * Piotr Halama (including the project name) * Tomasz Stanisławek +* Paweł Mleczko (AMU template) diff --git a/hooks/post_gen_project.sh b/hooks/post_gen_project.sh index f9b67d3..913ff40 100755 --- a/hooks/post_gen_project.sh +++ b/hooks/post_gen_project.sh @@ -88,13 +88,17 @@ elif [ "{{ cookiecutter.latex_template }}" = "poleval" ]; then cp -r _latex-templates/poleval-template.tex {{cookiecutter.paper_id}}.tex cp -r _latex-templates/poleval-template-meta.tex metadata.tex cp -r _latex-templates/poleval.{bst,cls} . +elif [ "{{ cookiecutter.latex_template }}" = "amu" ]; then + cp -r _latex-templates/amu-template.tex {{cookiecutter.paper_id}}.tex + cp -r _latex-templates/amu-template-meta.tex metadata.tex + cp -r _latex-templates/amu-diploma-thesis.cls . fi if [ "{{ cookiecutter.with_appendix }}" = "yes" ]; then cp -r _optional_files/_appendix/* . fi -if [ "{{ cookiecutter.extra_locale }}" = "pl_PL" ]; then +if [ "{{ cookiecutter.extra_locale }}" = "pl_PL" -o "{{ cookiecutter.locale }}" = "pl_PL" ]; then cp -r _optional_files/_pl_files/* . fi diff --git a/{{cookiecutter.paper_repo_name}}/_latex-templates/amu-diploma-thesis.cls b/{{cookiecutter.paper_repo_name}}/_latex-templates/amu-diploma-thesis.cls new file mode 100644 index 0000000..deb350e --- /dev/null +++ b/{{cookiecutter.paper_repo_name}}/_latex-templates/amu-diploma-thesis.cls @@ -0,0 +1,423 @@ +{% raw %} +%% Klasa przygotowana do pisania prac licencjackich z matematyki, +%% copyright Paweł Mleczko 2015 +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{amu-diploma-thesis}[2015/3/03 UAM diploma thesis class file] +\LoadClass[11pt,oneside]{mwart} +%% page dimension +\baselineskip=15pt +\RequirePackage[a4paper, +textwidth=135mm,lines=42, +vmarginratio=1:1,hmarginratio=1:1,bindingoffset=0mm,%-6.5mm +headheight=9pt,headsep=25pt,footskip=25pt]{geometry} +%% headers, footers +\RequirePackage{fancyhdr} + \pagestyle{fancy} + \lhead[\thepage]{{\fontsize{9pt}{9pt}\selectfont\emph{\leftmark}}} + \chead[]{} + \rhead[{\fontsize{9pt}{9pt}\selectfont\emph{\rightmark}}]{\thepage} + \lfoot[]{} + \cfoot[]{} + \rfoot[]{} + \renewcommand{\headrulewidth}{0pt} + \renewcommand{\footrulewidth}{0pt} + \fancypagestyle{titlepage}{% + \lhead[]{} \chead[]{} \rhead[]{} + \rfoot[]{} \cfoot[]{\thepage} + \lfoot[]{} + \renewcommand{\headrulewidth}{0pt} + \renewcommand{\footrulewidth}{0pt}} +%% math packages +\RequirePackage{amsmath} +\RequirePackage{amssymb} +%% language and fonts +%\RequirePackage[bitstream-charter]{mathdesign} +\RequirePackage{polski} +%% tikz +\RequirePackage{tikz,pgfplots} +%% miscellanea +\RequirePackage{lipsum} +\RequirePackage{xparse} +%% variable +\ExplSyntaxOn +\def\title#1{\def\Title{#1}} +\def\entitle#1{\def\Entitle{#1}} +\def\author#1{\def\Author{#1}} +\def\album#1{\def\Album{#1}} +\def\year#1{\def\Year{#1}} +\def\promotor#1{\def\Promotor{#1}} +\def\type#1{\def\Type{#1}} +\def\course#1{\def\Course{#1}} +\def\speciality#1{\def\Speciality{#1}} +\def\date#1{\def\Date{#1}} +\ExplSyntaxOff +%% table of contents +\newwrite\Tableofcontents +\def\Spis#1#2#3{% +\noindent\llap{\hbox to 30pt{\hfill\textbf{#1}~~}}\textbf{#2\hskip 4pt /\hskip 4pt #3}\par\vskip 6pt} +\def\spis#1#2{% +\noindent#1\hskip 4pt /\hskip 4pt #2\par\vskip 6pt} +\def\tableofcontents{% + \clearpage\mbox{ } +\vskip 2.5\baselineskip + \thispagestyle{empty} +\vbox to 10\baselineskip{% + \bgroup\fontsize{18pt}{24pt}\selectfont\centering% + \textbf{Spis tre{\'s}ci}\par + \egroup% + } +\bgroup\fontsize{11pt}{15pt}\selectfont\raggedright\leftskip=30pt +\IfFileExists{./\jobname.tf}{\input{\jobname.tf}}{\relax}\par +\egroup% +\immediate\openout\Tableofcontents=\jobname.tf +} +%% sections +\ExplSyntaxOn +\def\dekoracja{\vrule width 40pt height .75pt depth 0pt\quad \vrule + width 1.5pt height 1.5pt depth 0pt \quad\vrule width 40pt height + .75pt depth 0pt\par \vskip .75\baselineskip} + +\RenewDocumentCommand\section{sm}{% + \clearpage\mbox{ } + \vskip 2\baselineskip\thispagestyle{titlepage} + \IfBooleanTF#1% + {% + \vbox to 10\baselineskip{% + \bgroup\fontsize{16pt}{22pt}\selectfont\centering% + \vskip 1.5\baselineskip + \noindent\textbf{#2}\par + % \dekoracja + \egroup% + \immediate\write\Tableofcontents{% + \unexpanded{\Spis}{}{\unexpanded{#2}}{\thepage}}% + }\markboth{#2}{#2}}% with a star + {% + \refstepcounter{section}\setcounter{Counter}{0}% + \vbox to 10\baselineskip{% + \bgroup\fontsize{16pt}{22pt}\selectfont\centering% + \textbf{Rozdzia{\l}~\thesection} + \vskip .5\baselineskip + \textbf{#2}\par + % \dekoracja + \egroup + \immediate\write\Tableofcontents{% + \unexpanded{\Spis}{\thesection.}{\unexpanded{#2}}{\thepage}}% +}\markboth{Rozdzia{\l}~\thesection.~#2}{Rozdzia{\l}~\thesection.~#2}% +}% without a star +} + +\newcounter{Counter} \setcounter{Counter}{0} +\renewcommand{\theCounter}{\thesection.\arabic{Counter}} + +\RenewDocumentCommand\subsection{sm}{% +\vskip 2\baselineskip plus .5\baselineskip +% + \IfBooleanTF#1% + {% + \bgroup\fontsize{12pt}{16pt}\selectfont\centering% + \noindent\textbf{#2}\par\write\Tableofcontents{% + \unexpanded{\spis}{\unexpanded{#2}}{\thepage}}% + \egroup% + }% with a star + {% + \bgroup\fontsize{12pt}{16pt}\selectfont% + \noindent\textbf{#2}\par\write\Tableofcontents{% + \unexpanded{\spis}{\unexpanded{#2}}{\thepage}}% + \egroup% +}% without a star +\vskip 1\baselineskip plus .5\baselineskip} +\ExplSyntaxOff +%% enumerations etc +\RequirePackage{enumitem} +\setlist[enumerate,1]{label={\textup{\arabic*)}}} +\setlist[enumerate,2]{label=\roman*)} +\setlist[itemize,1]{label=--,leftmargin=0pt,itemindent=1.5em,topsep=0pt} +%% abstracts +\DeclareDocumentEnvironment{streszczenie}{}% +{% + \clearpage\thispagestyle{empty} + \noindent\textbf{\Title}\par + \vskip 1\baselineskip + \bgroup\itshape + \noindent \textbf{\textup{Streszczenie}.} +}% +{% + \egroup\par +} +\DeclareDocumentEnvironment{abstract}{}% +{% +\vskip 3\baselineskip + \noindent\textbf{\Entitle}\par + \vskip 1\baselineskip + \bgroup\itshape + \noindent \textbf{\textup{Abstract}.} +}% +{% + \egroup\par +} +%% theorems etc +\ExplSyntaxOn +\DeclareDocumentEnvironment{twierdzenie}{o}% +{% +\par\refstepcounter{Counter}\addvspace{.5\baselineskip plus .5\baselineskip} +\IfNoValueTF{#1}{% + \bgroup\itshape + \noindent \textbf{\textup{\theCounter.~Twierdzenie}.} +}{% + \bgroup\itshape + \noindent \textbf{\textup{\theCounter.~Twierdzenie~(#1)}.} +}% +}% +{% + \par +\IfNoValueTF{#1}{\egroup}{\egroup}\par +\addvspace{.5\baselineskip plus .5\baselineskip} +} + +\DeclareDocumentEnvironment{wniosek}{o}% +{% +\refstepcounter{Counter}\vskip .5\baselineskip plus .5\baselineskip +\IfNoValueTF{#1}{% + \bgroup\itshape + \noindent \textbf{\textup{\theCounter.~Wniosek}.} +}{% + \bgroup\itshape + \noindent \textbf{\textup{\theCounter.~Wniosek~(#1)}.} +}% +}% +{% + \par +\IfNoValueTF{#1}{\egroup}{\egroup} +\vskip .5\baselineskip plus .5\baselineskip +} + +\DeclareDocumentEnvironment{definicja}{o}% +{% +\refstepcounter{Counter}\vskip .5\baselineskip plus .5\baselineskip +\IfNoValueTF{#1}{% + \bgroup + \noindent \textbf{\textup{\theCounter.~Definicja}.} +}{% + \bgroup + \noindent \textbf{\textup{\theCounter.~Definicja~(#1)}.} +}% +}% +{% + \par +\IfNoValueTF{#1}{\egroup}{\egroup} +\vskip .5\baselineskip plus .5\baselineskip +} + +\DeclareDocumentEnvironment{stwierdzenie}{o}% +{% +\refstepcounter{Counter}\vskip .5\baselineskip plus .5\baselineskip +\IfNoValueTF{#1}{% + \bgroup\itshape + \noindent \textbf{\textup{\theCounter.~Stwierdzenie}.} +}{% + \bgroup\itshape + \noindent \textbf{\textup{\theCounter.~Stwierdzenie~(#1)}.} +}% +}% +{% + \par +\IfNoValueTF{#1}{\egroup}{\egroup} +\vskip .5\baselineskip plus .5\baselineskip +} + +\DeclareDocumentEnvironment{lemat}{o}% +{% +\refstepcounter{Counter}\vskip .5\baselineskip plus .5\baselineskip +\IfNoValueTF{#1}{% + \bgroup\itshape + \noindent \textbf{\textup{\theCounter.~Lemat}.} +}{% + \bgroup\itshape + \noindent \textbf{\textup{\theCounter.~Lemat~(#1)}.} +}% +}% +{% + \par +\IfNoValueTF{#1}{\egroup}{\egroup} +\vskip .5\baselineskip plus .5\baselineskip +} + +\DeclareDocumentEnvironment{przyklad}{o}% +{% +\refstepcounter{Counter}\vskip .5\baselineskip plus .5\baselineskip +\IfNoValueTF{#1}{% + \bgroup + \noindent \textbf{\textup{\theCounter.~Przyk{\l}ad}.} +}{% + \bgroup + \noindent \textbf{\textup{\theCounter.~Przyk{\l}ad~(#1)}.} +}% +}% +{% + \par +\IfNoValueTF{#1}{\egroup}{\egroup} +\vskip .5\baselineskip plus .5\baselineskip +} + +\DeclareDocumentEnvironment{uwaga}{o}% +{% +\refstepcounter{Counter}\vskip .5\baselineskip plus .5\baselineskip +\IfNoValueTF{#1}{% + \bgroup + \noindent \textbf{\textup{\theCounter.~Uwaga}.} +}{% + \bgroup + \noindent \textbf{\textup{\theCounter.~Uwaga~(#1)}.} +}% +}% +{% + \par +\IfNoValueTF{#1}{\egroup}{\egroup} +\vskip .5\baselineskip plus .5\baselineskip +} + + + +\def\qed{\(\square\)} +\DeclareDocumentEnvironment{proof}{}% +{% +\noindent\emph{Dow\'od}.} +{\nobreak\hfill\qed\par +\vskip 1\baselineskip} +\ExplSyntaxOff +%% typography +\RequirePackage{microtype} +\newcommand{\polishendash}{\ifhmode\unskip\fi\discretionary{--}{--}{--}\nolinebreak} +%% Titlepage +\def\Titlepage{% +\thispagestyle{empty} +\bgroup\fontsize{14pt}{18pt}\selectfont\centering +Uniwersytet im. Adama Mickiewicza w Poznaniu\\ +Wydzia{\l} Matematyki i Informatyki + +\vskip 5\baselineskip + +\bgroup\fontsize{18pt}{24pt}\selectfont\centering\bfseries +\Title\par +\egroup + +\vskip 1\baselineskip + +\bgroup\fontsize{14pt}{20pt}\selectfont\centering\bfseries +\Entitle\par +\egroup + +\vskip 2\baselineskip + +\bgroup\fontsize{14pt}{14pt}\selectfont\centering +\Author\par +\egroup + +\vskip 1\baselineskip + +\bgroup\fontsize{11pt}{15pt}\selectfont\centering +nr albumu \Album\par +\egroup + +\vfill + +\hfill\begin{minipage}{.5\textwidth}% +\bgroup\fontsize{11pt}{15pt}\selectfont\raggedright +praca \Type{}\par +kierunek: \Course\par +specjalno\'s\'c: \Speciality\par +promotor: \Promotor\par +\egroup +\end{minipage} + +\vskip 6\baselineskip + +Pozna\'n{} \Year\par +\egroup\pagebreak} +%% +\def\gender#1{#1} +\def\male{\maletrue} +\def\female{\malefalse} +\newif\ifmale +\def\Sfirst#1{\def\@stat{#1}} +\def\Ssecond#1{\def\@Stat{#1}} +\def\Statement{% +\thispagestyle{empty} +\ifmale +\hfill Pozna{\'n}, dnia \Date~r. + +\vfill + +{\centering\bfseries O{\'s}wiadczenie\par} + +\vskip 3\baselineskip + +\noindent Ja, ni{\.z}ej podpisany \textbf{\Author{}} student +Wydzia{\l}u Matematyki i~Informatyki Uniwersytetu im. Adama +Mickiewicza w Poznaniu o{\'s}wiadczam, \.ze przedk{\l}adan\k{a} +prac\k{e} dyplomow\k{a} pt: \textbf{\Title} napisa{\l}em +samodzielnie. Oznacza to, \.z{}e przy pisaniu pracy, poza +niezb\k{e}dnymi konsultacjami, nie korzysta{\l}em z~pomocy innych +os\'o{}b, a~w~szczeg\'o{}lno{\'s}ci nie zleca{\l}em opracowania rozprawy +lub jej cz\k{e}\'s{}ci innym osobom, ani nie odpisywa{\l}em tej +rozprawy lub jej cz\k{e}\'sci od innych os\'o{}b. + +O\'s{}wiadczam r\'o{}wnie\.z, \.z{}e egzemplarz pracy dyplomowej +w~wersji drukowanej jest ca{\l}kowicie zgodny z egzemplarzem pracy +dyplomowej w wersji elektronicznej. + +\else + +\noindent Ja, ni{\.z}ej podpisana \textbf{\Author{}} studentka +Wydzia{\l}u Matematyki i~Informatyki Uniwersytetu im. Adama +Mickiewicza w Poznaniu o{\'s}wiadczam, \.ze przedk{\l}adan\k{a} +prac\k{e} dyplomow\k{a} pt: \textbf{\Title} napisa{\l}am +samodzielnie. Oznacza to, \.z{}e przy pisaniu pracy, poza +niezb\k{e}dnymi konsultacjami, nie korzysta{\l}am z~pomocy innych +os\'o{}b, a~w~szczeg\'o{}lno{\'s}ci nie zleca{\l}am opracowania rozprawy +lub jej cz\k{e}\'s{}ci innym osobom, ani nie odpisywa{\l}am tej +rozprawy lub jej cz\k{e}\'sci od innych os\'o{}b. + +O\'s{}wiadczam r\'o{}wnie\.z, \.z{}e egzemplarz pracy dyplomowej +w~wersji drukowanej jest ca{\l}kowicie zgodny z egzemplarzem pracy +dyplomowej w wersji elektronicznej. + +\fi + +Jednocze{\'s}nie przyjmuj\k{e} do wiadomo{\'s}ci, \.ze przypisanie +sobie, w pracy dyplomowej, autorstwa istotnego fragmentu lub innych +element\'ow cudzego utworu lub ustalenia naukowego stanowi +podstaw\k{e} stwierdzenia niewa\.zno{\'s}ci post\k{e}powania w sprawie +nadania tytu{\l}u zawodowego. + +\vskip 1\baselineskip + +\noindent [\@stat]\,* - wyra\.zam zgod\k{e} na +udost\k{e}pnianie mojej pracy w czytelni Archiwum UAM + +\vskip .5\baselineskip + +\noindent [\@Stat]\,* - wyra\.zam zgod\k{e} na udost\k{e}pnianie mojej pracy w zakresie +koniecznym do ochrony mojego prawa do autorstwa lub praw os\'ob trzecich + +\vskip 5\baselineskip + +\hfill\begin{minipage}{.5\textwidth}\fontsize{9pt}{9pt}\selectfont\centering +(czytelny podpis studenta)\par +\end{minipage} + +\vfill + +\bgroup\fontsize{9pt}{11pt}\selectfont +\noindent *\,Nale\.zy wpisa{\'c} TAK w przypadku wyra{\.z}enia zgody na udost\k{e}pnianie pracy +w czytelni Archiwum UAM, NIE w przypadku braku zgody. Niewype{\l}nienie +pola oznacza brak zgody na udost\k{e}pnianie pracy.\par +\egroup\clearpage} + + +%% before start +\AtBeginDocument{\baselineskip=15pt\def\le{\leq} +\def\ge{\geq}} +\AtEndDocument{\immediate\closeout\Tableofcontents} +\endinput +{% endraw %} diff --git a/{{cookiecutter.paper_repo_name}}/_latex-templates/amu-template-meta.tex b/{{cookiecutter.paper_repo_name}}/_latex-templates/amu-template-meta.tex new file mode 100644 index 0000000..b2ed89e --- /dev/null +++ b/{{cookiecutter.paper_repo_name}}/_latex-templates/amu-template-meta.tex @@ -0,0 +1,15 @@ + +\title{ {{ cookiecutter.paper_title }} } %% tytuł pracy +\entitle{English title} %% tytuł w języku angielskim +\author{ {{ cookiecutter.main_contributor_name }} } %% imię i~nazwisko autora pracy +\album{ {{ cookiecutter.album_no }} } %% numer albumu +\promotor{ {{ cookiecutter.supervisor }} } %% nazwisko promotora +\year{2021} %% rok obrony pracy +\type{magisterska} %% rodzaj pracy +\course{ {{ cookiecutter.discipline }} } %% kierunek studiów +\speciality{ {{ cookiecutter.specialization }} } %% specjalność studiów +%% potrzebne do oświadczenia +\date{15.03.2021} +\gender{\male} %% należy wybrać \male lub \female +\Sfirst{TAK/NIE} %% proszę wpisać TAK lub NIE (zgoda na udostępnienie pracy w~czytelni) +\Ssecond{TAK/NIE} %% proszę wpisać TAK lub NIE (zgoda na ochronę praw autorskich) diff --git a/{{cookiecutter.paper_repo_name}}/_latex-templates/amu-template.tex b/{{cookiecutter.paper_repo_name}}/_latex-templates/amu-template.tex new file mode 100644 index 0000000..0072a07 --- /dev/null +++ b/{{cookiecutter.paper_repo_name}}/_latex-templates/amu-template.tex @@ -0,0 +1,37 @@ +{% raw %} +\documentclass{amu-diploma-thesis} +\usepackage[utf8]{inputenc} + +% ---------------------- PREAMBLE PART ------------------------------ + +\input{config} +\input{preamble} +\input{extras} + +%% + + +\input{metadata} + +\begin{document} + +\Titlepage %% strona tytułowa pracy +\Statement %% oświadczenie +\tableofcontents %% spis treści + +% streszczenie po polsku +\begin{streszczenie} +\input{abstract-pl} +\end{streszczenie} + +\begin{abstract} +\input{abstract} +\end{abstract} + +\input{main} + +\bibliographystyle{unsrt} +\bibliography{bibliography} + +\end{document} +{% endraw %}