% Klasa dokumentow do skladu prac magisterskich i~licencjackich % na wydziale Matematyki, Mechaniki i~Informatyki UW. % % Copyright (c) 2001 by Wydzial Matematyki, Informatyki i Mechaniki. % % Zmiany 05.05.2006 by Seweryn Karlowicz % % Zmiany 03.01.2017 by Kuba Pochrybniak % % Zmiany 10.06.2020 by Paweł Goldstein \NeedsTeXFormat{LaTeX2e} \ProvidesClass{pracamgr}[2017/01/03 v0.7.0 Praca magisterska] \newif\ifmyclass@en \DeclareOption{en}{\myclass@entrue} \DeclareOption{pl}{\myclass@enfalse} \ExecuteOptions{pl} \ProcessOptions\relax \RequirePackage[english]{babel} % This previously had the [T1] option, not sure what it's for but removing it % fixes Polish characters throughout the document. \RequirePackage{fontenc} \RequirePackage[utf8]{inputenc} \def\@baseclass{report} \def\@rodzajpracy{\ifmyclass@en Master's\else magisterska\fi} \def\@stopien{\ifmyclass@en Master\else magister\fi} \DeclareOption{licencjacka}{ \def\@stopien{\ifmyclass@en Bachelor\else licencjat\fi} \def\@rodzajpracy{\ifmyclass@en Bachelor's\else licencjacka\fi} } %\DeclareOption{licencjacka}{} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{\@baseclass}} \PassOptionsToClass{a4paper,twoside,openright,11pt}{\@baseclass} \ProcessOptions \LoadClass{\@baseclass} \textwidth\paperwidth \advance\textwidth -55mm \oddsidemargin-1in \advance\oddsidemargin 30mm \evensidemargin-1in \advance\evensidemargin 25mm \topmargin -1in \advance\topmargin 2cm \setlength\textheight{48\baselineskip} \addtolength\textheight{\topskip} \marginparwidth15mm \newcounter{liczbaAutorow} \setcounter{liczbaAutorow}{0} \def\autor#1#2{\def\@imienazwisko{#1}\def\@album{#2}\stepcounter{liczbaAutorow}} \def\autori#1#2{\def\@imienazwiskoi{#1}\def\@albumi{#2}\stepcounter{liczbaAutorow}} \def\autorii#1#2{\def\@imienazwiskoii{#1}\def\@albumii{#2}\stepcounter{liczbaAutorow}} \def\autoriii#1#2{\def\@imienazwiskoiii{#1}\def\@albumiii{#2}\stepcounter{liczbaAutorow}} \def\autoriv#1#2{\def\@imienazwiskoiv{#1}\def\@albumiv{#2}\stepcounter{liczbaAutorow}} \def\autorv#1#2{\def\@imienazwiskov{#1}\def\@albumv{#2}\stepcounter{liczbaAutorow}} \autor{}{} \autori{}{} \autorii{}{} \autoriii{}{} \autoriv{}{} \autorv{}{} \setcounter{liczbaAutorow}{0} \newcommand{\autorZAlbumem}[2]{\begin{minipage}{0.45\textwidth}\centering{\Large\bfseries #1}\\[2mm]\ifmyclass@en Student no.\else Nr albumu:\fi\ #2\end{minipage}\ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Wersja angielska \ifmyclass@en \renewcommand\maketitle{% \begin{titlepage}% \let\footnotesize\small \let\footnoterule\relax \let \footnote \thanks \begin{center}% {\LARGE\textbf{ University of Warsaw}\\ Faculty of Mathematics, Informatics and Mechanics\par} \vspace{1cm plus .5fill} { \setlength{\parindent}{0em} \setlength{\baselineskip}{60pt} \centering \ifx\@imienazwisko\empty\else\autorZAlbumem{\@imienazwisko}{\@album}\fi \ifx\@imienazwiskoi\empty\else\autorZAlbumem{\@imienazwiskoi}{\@albumi}\fi \ifx\@imienazwiskoii\empty\else\autorZAlbumem{\@imienazwiskoii}{\@albumii}\fi \ifx\@imienazwiskoiii\empty\else\autorZAlbumem{\@imienazwiskoiii}{\@albumiii}\fi \ifx\@imienazwiskoiv\empty\else\autorZAlbumem{\@imienazwiskoiv}{\@albumiv}\fi \ifx\@imienazwiskov\empty\else\autorZAlbumem{\@imienazwiskov}{\@albumv}\fi } \vspace{8mm plus .5fill} {\Huge\textbf{\@title}\par} \vspace{8mm plus .1fill} {\large\bf \@rodzajpracy\ thesis\\[3pt] in \MakeUppercase{\@kierunek} \\ %----zakres--- \@zakres \par} \vspace{2cm plus 1.5fill} \begin{flushright}\large \begin{tabular}{l} Supervisor:\\ \bfseries \@opiekun \end{tabular} \end{flushright} \vspace{1cm plus 1fill} {\large Warsaw, \@date\par} \end{center} \@thanks \end{titlepage}% \begin{titlepage} \c@page=2 \vfill \mbox{} \end{titlepage} \begin{titlepage} \c@page=2 \end{titlepage} \setcounter{footnote}{0}% \global\let\thanks\relax \global\let\maketitle\relax \global\let\@thanks\@empty \global\let\@author\@empty \global\let\@date\@empty \global\let\@title\@empty \global\let\title\relax \global\let\author\relax \global\let\date\relax \global\let\and\relax } \def\nralbumu#1{\gdef\@nralbumu{#1}} \def\@nralbumu{???\ClassError{pracamgr}{Brak numeru albumu}\@ehc} \def\kierunek#1{\gdef\@kierunek{#1}} \def\@kierunek{???\ClassError{pracamgr}{Nie podano kierunku studiow}\@ehc} %----zakres nie konieczny----- \def\zakres#1{\gdef\@zakres{w zakresie \MakeUppercase{#1}}} \def\@zakres{} \def\opiekun#1{\gdef\@opiekun{#1}} \def\@opiekun{???\ClassError{pracamgr}{Brak danych opiekuna pracy}\@ehc} \def\keywords#1{\gdef\@keywords{#1}} \def\@keywords{???\ClassError{pracamgr}{Brak slow kluczowych}\@ehc} \def\dziedzina#1{\gdef\@dziedzina{#1}} \def\@dziedzina{???\ClassError{pracamgr}{Brak dziedziny Socrates-Erasmus}\@ehc} \def\klasyfikacja#1{\gdef\@klasyfikacja{#1}} \def\@klasyfikacja{???\ClassError{pracamgr}{Brak klasyfikacji tematycznej}\@ehc} %-------------------nowe------------ \def\tytulang#1{\gdef\@tytulang{#1}} \def\@tytulang{???\ClassError{pracamgr}{Brak tytulu po angielsku}\@ehc} \def\titlepl#1{\gdef\@titlepl{#1}} \def\@titlepl{???\ClassError{pracamgr}{Brak tytulu po polsku}\@ehc} \renewenvironment{abstract}{% \titlepage \null\nobreak\vfil \@beginparpenalty\@lowpenalty \begin{center}% \bfseries\large \abstractname \@endparpenalty\@M \end{center}}% {\par \vspace*{26pt}% \begin{center}% \bfseries\large Keywords \@endparpenalty\@M \end{center} \@keywords\par \vspace*{26pt}% \begin{center}% \bfseries\large Thesis domain (Socrates-Erasmus subject area codes) \@endparpenalty\@M \end{center} \@dziedzina\par \vspace*{26pt}% \begin{center}% \bfseries\large Subject classification \@endparpenalty\@M \end{center} \@klasyfikacja\par \vspace*{26pt}% \begin{center}% \begingroup \bfseries\large Tytuł pracy w języku polskim \@endparpenalty\@M \endgroup \medskip \@titlepl\par \end{center} \vspace*{26pt}% %-------------------nowosc---------------- \nobreak\vfil\null\endtitlepage\cleardoublepage} \def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else \hbox{}\thispagestyle{empty}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi} \renewcommand*\@seccntformat[1]{\csname the#1\endcsname.\enspace} \def\numberline#1{\hb@xt@\@tempdima{#1.\hfil}} \renewcommand*\l@chapter[2]{% \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% \vskip 1.0em \@plus\p@ \setlength\@tempdima{1.5em}% \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \leavevmode \bfseries \advance\leftskip\@tempdima \hskip -\leftskip #1\nobreak\mdseries \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill \nobreak\hb@xt@\@pnumwidth{\hss #2}\par \penalty\@highpenalty \endgroup \fi} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Wersja polska \else \renewcommand\maketitle{% \begin{titlepage}% \let\footnotesize\small \let\footnoterule\relax \let \footnote \thanks \begin{center}% {\LARGE\textbf{Uniwersytet Warszawski}\\ Wydzia\l{} Matematyki, Informatyki i Mechaniki\par} \vspace{1cm plus .5fill} { \setlength{\parindent}{0em} %\setlength{\baselineskip}{60pt} \centering \ifx\@imienazwisko\empty\else\autorZAlbumem{\@imienazwisko}{\@album}\fi \ifx\@imienazwiskoi\empty\else\autorZAlbumem{\@imienazwiskoi}{\@albumi}\fi \ifx\@imienazwiskoii\empty\else\autorZAlbumem{\@imienazwiskoii}{\@albumii}\fi \ifx\@imienazwiskoiii\empty\else\autorZAlbumem{\@imienazwiskoiii}{\@albumiii}\fi \ifx\@imienazwiskoiv\empty\else\autorZAlbumem{\@imienazwiskoiv}{\@albumiv}\fi \ifx\@imienazwiskov\empty\else\autorZAlbumem{\@imienazwiskov}{\@albumv}\fi } \vspace{8mm plus .5fill} {\Huge\textbf{\@title}\par} \vspace{8mm plus .1fill} {\large\bf Praca \@rodzajpracy\\[3pt] na kierunku \MakeUppercase{\@kierunek} \\ %----zakres--- \@zakres \par} \vspace{2cm plus 1.5fill} \begin{flushright}\large \begin{tabular}{l} Praca wykonana pod kierunkiem\\ \bfseries \@opiekun \end{tabular} \end{flushright} \vspace{1cm plus 1fill} {\large Warszawa, \@date\par} \end{center} \@thanks \end{titlepage}% \begin{titlepage} \c@page=2 \vfill \mbox{} \end{titlepage} \setcounter{footnote}{0}% \global\let\thanks\relax \global\let\maketitle\relax \global\let\@thanks\@empty \global\let\@author\@empty \global\let\@date\@empty \global\let\@title\@empty \global\let\title\relax \global\let\author\relax \global\let\date\relax \global\let\and\relax } \def\nralbumu#1{\gdef\@nralbumu{#1}} \def\@nralbumu{???\ClassError{pracamgr}{Brak numeru albumu}\@ehc} \def\kierunek#1{\gdef\@kierunek{#1}} \def\@kierunek{???\ClassError{pracamgr}{Nie podano kierunku studiow}\@ehc} %----zakres nie konieczny----- \def\zakres#1{\gdef\@zakres{w zakresie \MakeUppercase{#1}}} \def\@zakres{} \def\opiekun#1{\gdef\@opiekun{#1}} \def\@opiekun{???\ClassError{pracamgr}{Brak danych opiekuna pracy}\@ehc} \def\keywords#1{\gdef\@keywords{#1}} \def\@keywords{???\ClassError{pracamgr}{Brak slow kluczowych}\@ehc} \def\dziedzina#1{\gdef\@dziedzina{#1}} \def\@dziedzina{???\ClassError{pracamgr}{Brak dziedziny Socrates-Erasmus}\@ehc} \def\klasyfikacja#1{\gdef\@klasyfikacja{#1}} \def\@klasyfikacja{???\ClassError{pracamgr}{Brak klasyfikacji tematycznej}\@ehc} %-------------------nowe------------ \def\tytulang#1{\gdef\@tytulang{#1}} \def\@tytulang{???\ClassError{pracamgr}{Brak tytulu po angielsku}\@ehc} \renewenvironment{abstract}{% \titlepage \null\nobreak\vfil \@beginparpenalty\@lowpenalty \begin{center}% \bfseries\large \abstractname \@endparpenalty\@M \end{center}}% {\par \vspace*{26pt}% \begin{center}% \bfseries\large Słowa kluczowe \@endparpenalty\@M \end{center} \@keywords\par \vspace*{26pt}% \begin{center}% \bfseries\large Dziedzina pracy (kody wg programu Socrates-Erasmus) \@endparpenalty\@M \end{center} \@dziedzina\par \vspace*{26pt}% \begin{center}% \bfseries\large Klasyfikacja tematyczna \@endparpenalty\@M \end{center} \@klasyfikacja\par \vspace*{26pt}% %-------------------nowosc---------------- \begin{center}% \bfseries\large Tytuł pracy w języku angielskim \@endparpenalty\@M \end{center} \@tytulang\par \nobreak\vfil\null\endtitlepage\cleardoublepage} \def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else \hbox{}\thispagestyle{empty}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi} \renewcommand*\@seccntformat[1]{\csname the#1\endcsname.\enspace} \def\numberline#1{\hb@xt@\@tempdima{#1.\hfil}} \renewcommand*\l@chapter[2]{% \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% \vskip 1.0em \@plus\p@ \setlength\@tempdima{1.5em}% \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \leavevmode \bfseries \advance\leftskip\@tempdima \hskip -\leftskip #1\nobreak\mdseries \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill \nobreak\hb@xt@\@pnumwidth{\hss #2}\par \penalty\@highpenalty \endgroup \fi} \fi \endinput