diff options
Diffstat (limited to 'pracamgr.cls')
-rw-r--r-- | pracamgr.cls | 377 |
1 files changed, 377 insertions, 0 deletions
diff --git a/pracamgr.cls b/pracamgr.cls new file mode 100644 index 0000000..6666254 --- /dev/null +++ b/pracamgr.cls @@ -0,0 +1,377 @@ +% 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 + +\ifmyclass@en + \RequirePackage[english]{babel} + \RequirePackage[T1]{fontenc} +\else + \RequirePackage[polish]{babel} + \RequirePackage[T1]{fontenc} +\fi +\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 |