428 lines
14 KiB
TeX
428 lines
14 KiB
TeX
|
|
% Klasa dokument\'ow do sk{\l}adu prac magisterskich/licencjackich
|
|
% na wydziale Matematyki i Informatyki UAM
|
|
% Klasę oparto na analogicznej klasie stworzonej Wydziale
|
|
% Zarz\k{a}dzania Uniwersytetu Gda\'nskiego (wersja 1.10):
|
|
% http://gnu.univ.gda.pl/~tomasz/prog/tex/wzmgr/wzmgr.html
|
|
% Ta klasa była z kolei oparta na klasie opracowanej
|
|
% przez Marcina Woli\'nskiego.
|
|
|
|
\def\ThisClassVersionId{v1.0}
|
|
%
|
|
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesClass{wmimgr}[2009/06/19 \ThisClassVersionId, Praca magisterska]
|
|
|
|
\def\@baseclass{report}
|
|
\def\@rodzajpracy{magisterska}
|
|
\def\@BInterlinia{\relax}
|
|
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\@baseclass}}
|
|
\PassOptionsToClass{a4paper,openany,11pt}{\@baseclass}
|
|
%
|
|
\newif\if@wmimgrauthoryear
|
|
\DeclareOption{autorrok}{\@wmimgrauthoryeartrue}
|
|
\newif\if@wmimgrbackref \DeclareOption{backref}{\@wmimgrbackreftrue}
|
|
\newif\if@oswiadczenie \DeclareOption{oswiadczenie}{\@oswiadczenietrue}
|
|
\DeclareOption{licencjacka}{\def\@rodzajpracy{licencjacka}}
|
|
\DeclareOption{skorowidz}{\input{makeidx.sty}\makeindex}
|
|
\DeclareOption{palatino}{\input{tgpagella.sty}}
|
|
\DeclareOption{tgpagella}{\input{tgpagella.sty}}
|
|
\DeclareOption{twoside}{\PassOptionsToClass{twoside}{\@baseclass}}
|
|
% opcja `brudnopis' jest poprawiona -- teraz wykorzystuje pakiet `prelim2e'
|
|
\DeclareOption{brudnopis}{\AtEndOfClass{\input{prelim2e.sty}%
|
|
\renewcommand{\PrelimWords}{\ThisDocVersionId}\linespread{1.0}}}
|
|
\DeclareOption{xodstep}{\AtEndOfClass{\linespread{1.3}}}
|
|
\ProcessOptions
|
|
%
|
|
\LoadClass{\@baseclass}
|
|
%
|
|
\usepackage{graphicx}
|
|
\usepackage{polski}
|
|
\usepackage[utf8]{inputenc}
|
|
%%
|
|
\if@wmimgrbackref
|
|
\usepackage[breaklinks,pagebackref]{hyperref}\else
|
|
\usepackage[breaklinks]{hyperref} \fi
|
|
\if@wmimgrauthoryear
|
|
\typeout{*** Cytowanie autor-rok ***}\RequirePackage[numbers]{natbib}\fi
|
|
%
|
|
%
|
|
\textwidth\paperwidth
|
|
\advance\textwidth -55mm
|
|
\oddsidemargin-1in
|
|
\advance\oddsidemargin 30mm
|
|
\evensidemargin-1in
|
|
\advance\evensidemargin 25mm
|
|
\topmargin -1in
|
|
\advance\topmargin 25mm
|
|
\setlength\textheight{48\baselineskip}
|
|
\addtolength\textheight{\topskip}
|
|
\marginparwidth15mm
|
|
%
|
|
\widowpenalty999999
|
|
\tolerance450
|
|
\pretolerance250
|
|
\hfuzz=1.5pt
|
|
\hbadness1450
|
|
%
|
|
\def\AndNextAuthor{\ifnum\language=0\& \else i \fi}
|
|
\newcount\authornumber
|
|
\authornumber=0
|
|
%
|
|
\def\author#1{%
|
|
\global\advance\authornumber\@ne
|
|
\expandafter\def\csname theauthor\number\authornumber\endcsname
|
|
{\ignorespaces#1\unskip}%
|
|
\expandafter\def\csname theauthorid\number\authornumber
|
|
\endcsname{???\ClassError{wmimgr}{Brak numeru albumu}\@ehc}%
|
|
\expandafter\let\csname thenetaddress\number\authornumber\endcsname\relax }
|
|
%
|
|
\def\nralbumu#1{%
|
|
\expandafter\def\csname theauthorid\number\authornumber\endcsname
|
|
{\ignorespaces#1\unskip}}
|
|
\def\email#1{% -- opcjonalny --
|
|
\expandafter\def\csname thenetaddress\number\authornumber\endcsname
|
|
{\ignorespaces#1\unskip}}
|
|
|
|
%%\def\authorlist#1{\def\@author{#1}}
|
|
\def\@author{\@defaultauthorlist}
|
|
|
|
\def\@subtitle{}
|
|
\def\@logo{}
|
|
|
|
\newcount\count@@
|
|
|
|
\def\@defaultauthorlist{%
|
|
\count@=\authornumber
|
|
\count@@=0
|
|
\loop
|
|
\ifnum\count@>0
|
|
\advance\count@@ by 1
|
|
\begingroup \Large\bf
|
|
\ignorespaces\csname theauthor\number\count@@\endcsname\par
|
|
\normalsize \rm nr~albumu:
|
|
\ignorespaces\csname theauthorid\number\count@@\endcsname\par
|
|
% adres email nie jest drukowany -- ale si{\e} przyda
|
|
%%\ignorespaces\csname thenetaddress\number\count@@\endcsname
|
|
\par
|
|
\medskip \endgroup
|
|
\advance\count@ by -1
|
|
\repeat
|
|
}
|
|
|
|
% <<
|
|
\def\UniversityName#1{\def\Univ@Name{#1}}
|
|
\def\Univ@Name{UNIWERSYTET IM. ADAMA MICKIEWICZA \\ WYDZIA\L{}
|
|
MATEMATYKI I INFORMATYKI}%
|
|
% <<
|
|
\renewcommand\maketitle{%
|
|
\begin{titlepage}%
|
|
\let\footnotesize\small
|
|
\let\footnoterule\relax
|
|
\let \footnote \thanks
|
|
\begin{center}%
|
|
{\large \textbf{\Univ@Name}\par}
|
|
\par
|
|
\@logo
|
|
\end{center}%
|
|
\vspace{1cm plus 1fill}
|
|
\begin{flushleft}%
|
|
{\@author\par}
|
|
\end{flushleft}%
|
|
\vspace{8mm plus 1mm minus 2mm}
|
|
\begin{center}%
|
|
{\huge\textbf{\@title}\par}
|
|
\vspace{0.5cm}
|
|
{\LARGE\textit{\@subtitle}\par}
|
|
\vspace{2cm plus 1.5fill}
|
|
\begin{flushright}\large
|
|
\begin{tabular}{l}
|
|
Praca \@rodzajpracy{} na kierunku:\\[3pt]
|
|
\MakeUppercase{\@kierunek}\\[3pt]
|
|
Promotor: \\[3pt]
|
|
\bfseries \@opiekun
|
|
\end{tabular}
|
|
\end{flushright}
|
|
\vspace{15mm plus .1fill}
|
|
{\large \@miejsce\space \@date\par}
|
|
\end{center}
|
|
\@thanks
|
|
\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\@subtitle\@empty
|
|
\global\let\subtitle\relax
|
|
\global\let\logo\relax
|
|
\global\let\author\relax
|
|
\global\let\date\relax
|
|
\global\let\and\relax
|
|
%
|
|
% Jezeli podano slowa kluczowe wydrukuj
|
|
\clearpage
|
|
\if@oswiadczenie\oswiadczenie\fi
|
|
\thispagestyle{empty}
|
|
\ifvoid\abspagebox \@latex@warning{*** Nie podano streszczenia ***}%
|
|
\else \InsertAbstractHere \fi
|
|
\ifx\@keywords\EmptyKwsList \@latex@warning{*** Nie podano slow kluczowych ***}%
|
|
\else \section*{S{\l}owa kluczowe}
|
|
\@keywords
|
|
\fi
|
|
\cleardoublepage %%
|
|
\tableofcontents
|
|
%\listoftables
|
|
%\listoffigures
|
|
} %% --renewcommand: maketitle --
|
|
|
|
%%\def\nralbumu#1{\gdef\@nralbumu{#1}}
|
|
%%\def\@nralbumu{???\ClassError{wmimgr}{Brak numeru albumu}\@ehc}
|
|
\def\title#1{\gdef\@title{#1}\gdef\thetitle{#1}}
|
|
\def\subtitle#1{\gdef\@subtitle{#1}}
|
|
\def\logo#1{\gdef\@logo{#1}}
|
|
\def\kierunek#1{\gdef\@kierunek{#1}}
|
|
\def\@kierunek{???\ClassError{wmimgr}{Nie podano kierunku studiow}\@ehc}
|
|
\def\opiekun#1{\gdef\@opiekun{#1}}
|
|
\def\@opiekun{???\ClassError{wmimgr}{Brak danych opiekuna pracy}\@ehc}
|
|
\def\miejsce#1{\gdef\@miejsce{#1}}
|
|
\def\@miejsce{Sopot}
|
|
%
|
|
\def\keywords#1{\gdef\@keywords{#1}}
|
|
% slowa kluczowe sa opcjonalne:
|
|
%%\def\@keywords{???\ClassError{wmimgr}{Brak slow kluczowych}\@ehc}
|
|
\def\@keywords{????}
|
|
\def\EmptyKwsList{????}
|
|
%%
|
|
\def\klasyfikacja#1{\gdef\@klasyfikacja{#1}}
|
|
\def\@klasyfikacja{???\ClassError{wmimgr}{Brak klasyfikacji
|
|
tematycznej}\@ehc}
|
|
%
|
|
\newbox \abspagebox %% *tp **
|
|
\def\InsertAbstractHere{\unvbox \abspagebox}
|
|
%
|
|
\renewenvironment{abstract}{\global
|
|
\setbox \abspagebox \vbox \bgroup
|
|
\section*{Streszczenie} }
|
|
{\egroup}
|
|
%
|
|
\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}
|
|
%
|
|
\def\@makechapterhead#1{%
|
|
%\vspace*{50\p@}%
|
|
{\parindent \z@ \raggedright \normalfont
|
|
\ifnum \c@secnumdepth >\m@ne
|
|
\normalsize \bfseries \MakeUppercase{\@chapapp}\space \thechapter
|
|
\par\nobreak
|
|
\vskip\baselineskip
|
|
\fi
|
|
\interlinepenalty\@M
|
|
\LARGE \bfseries #1\par\nobreak
|
|
\vskip 40\p@
|
|
}}
|
|
%
|
|
\def\@makeschapterhead#1{%
|
|
%\vspace*{50\p@}%
|
|
{\parindent \z@ \raggedright
|
|
\normalfont
|
|
\interlinepenalty\@M
|
|
\LARGE \bfseries #1\par\nobreak
|
|
\vskip 40\p@
|
|
}}
|
|
%
|
|
\renewcommand{\section}{\@startsection{section}{1}{\z@}%
|
|
{-3.5ex \@plus -1ex \@minus -.2ex}%
|
|
{2.3ex \@plus.2ex}%
|
|
{\reset@font\Large\bfseries\raggedright}}
|
|
\renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
|
|
{-3.25ex\@plus -1ex \@minus -.2ex}%
|
|
{1.5ex \@plus .2ex}%
|
|
{\reset@font\large\bfseries\raggedright}}
|
|
\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
|
|
{-3.25ex\@plus -1ex \@minus -.2ex}%
|
|
{1.5ex \@plus .2ex}%
|
|
{\reset@font\normalsize\bfseries\raggedright}}
|
|
\renewcommand{\paragraph}{???\ClassError{wmimgr}{Zbyt duzo srodtytulow}\@ehc}%
|
|
%
|
|
% Skorowidz: dodanie kresek w pozycjach skorowidza stopnia drugiego
|
|
\renewenvironment{theindex}{%
|
|
\clearpage \refstepcounter{chapter}% potrzebne do prawid{\l}owego
|
|
% dzia{\l}ania zak{\l}adek w dokumencie PDF
|
|
\columnseprule \z@ \columnsep 35\p@
|
|
\twocolumn[\@makeschapterhead{\indexname}]%
|
|
\@mkboth{\indexname}{\indexname}%
|
|
\addcontentsline{toc}{chapter}{\indexname}%
|
|
\thispagestyle{plain}\parindent\z@
|
|
\parskip\z@ \@plus .3\p@\relax
|
|
\let\item\@idxitem }
|
|
{\clearpage }
|
|
\def\indexemdashes{%
|
|
\def\@idxitem{\par\hangindent 0pt}
|
|
\def\subitem{\par\hangindent 0pt --- }
|
|
\def\subsubitem{\par\hangindent 0pt --- --- }
|
|
\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax}}
|
|
\indexemdashes
|
|
%
|
|
% Wprowadzenie/zako\'nczenie
|
|
\newcommand{\introduction}{%\doublepage
|
|
\chapter*{\IntroName\@mkboth{\IntroName}{\IntroName}}%
|
|
\addcontentsline{toc}{chapter}{\IntroName}}
|
|
%
|
|
\newcommand{\summary}{%\doublepage
|
|
\chapter*{\SummaryName\@mkboth{\SummaryName}{\SummaryName}}%
|
|
\addcontentsline{toc}{chapter}{\SummaryName}}
|
|
% O\'swiadczenie (dodane 7.4.2005)
|
|
\def\oswiadczenieText{%
|
|
\par
|
|
Ja, ni\.zej podpisany {\csname theauthor1\endcsname}, student
|
|
Wydzia{\l}u Matematyki i~Informatyki Uniwersytetu im.~Adama Mickiewicza
|
|
w~Poznaniu, o\'swiadczam, \.ze przedk{\l}adan\k{a} prac\k{e} dyplomow\k{a}~
|
|
pt.~{\emph{\let\\=\relax\thetitle}\/} napisa{\l}em samodzielnie. Oznacza to,
|
|
\.ze przy pisaniu pracy, poza niezb\k{e}dnymi konsultacjami, nie korzysta{\l}em
|
|
z~pomocy innych os\'ob, a~w~szczeg\'olno\'sci nie zleca{\l}em opracowania
|
|
rozprawy lub jej cz\k{e}\'sci innym osobom ani nie odpisywa{\l}em tej rozprawy
|
|
lub jej cz\k{e}\'sci od innych os\'ob.\par
|
|
O\'swiadczam r\'ownie\.z, \.ze egzemplarz pracy dyplomowej w~formie wydruku
|
|
komputerowego jest zgodny z~egzemplarzem pracy dyplomowej w~formie
|
|
elektronicznej.\par
|
|
Jednocze\'snie przyjmuj\k{e} do wiadomo\'sci, \.ze gdyby powy\.zsze
|
|
o\'swiadczenie okaza{\l}o si\k{e} nieprawdziwe, decyzja o~wydaniu mi dyplomu
|
|
zostanie cofni\k{e}ta.\endgraf }
|
|
%
|
|
\long\def\oswiadczenie{%%\newpage
|
|
\if@twocolumn \onecolumn \fi
|
|
%%\centerline{\large\textbf{O\'swiadczenie}}
|
|
%%\vspace*{50mm}
|
|
\chapter*{O\'swiadczenie}%
|
|
\addcontentsline{toc}{chapter}{O\'swiadczenie}%
|
|
%\hbox to.8\textwidth{\hbox to45mm{\dotfill}\hss
|
|
\thispagestyle{empty}
|
|
\vskip6mm
|
|
\begin{flushright}\large
|
|
Pozna\'n, dnia \hbox to40mm{\dotfill}
|
|
\end{flushright}
|
|
\par
|
|
\vskip12mm
|
|
\noindent
|
|
\oswiadczenieText
|
|
\par\vskip20mm
|
|
\centerline{\vbox{%
|
|
\hbox to.8\textwidth{\hbox to50mm{}\hss
|
|
\hbox to50mm{\dotfill}}
|
|
\hbox to.83\textwidth{\hbox to60mm{}\hss
|
|
\hbox to60mm{\hss podpis\hss}}%
|
|
}}\par
|
|
\newpage }
|
|
%
|
|
% Polecenia listoffigures/listoftables uproszczono oraz
|
|
% dodano \addcontentsline, tak aby tytu{\l} spisu pojawi{\l}
|
|
% si\k{e} w spisie tre\'sci i zak\ladkach w pliku PDF:
|
|
\renewcommand\listoffigures{%
|
|
\chapter*{\listfigurename
|
|
\@mkboth{\MakeUppercase\listfigurename}%
|
|
{\MakeUppercase\listfigurename}}%
|
|
\addcontentsline{toc}{chapter}{\listfigurename}
|
|
\@starttoc{lof}}
|
|
%
|
|
\renewcommand\listoftables{%
|
|
\chapter*{\listtablename
|
|
\@mkboth{%
|
|
\MakeUppercase\listtablename}{\MakeUppercase\listtablename}}%
|
|
\@starttoc{lot}%
|
|
\addcontentsline{toc}{chapter}{\listtablename}}
|
|
%
|
|
\renewenvironment{thebibliography}[1]
|
|
{\chapter*{\bibname}%
|
|
\@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
|
|
\addcontentsline{toc}{chapter}{\bibname}%<--
|
|
\list{%%
|
|
\@biblabel{\@arabic\c@enumiv}}%\fi}%
|
|
{%%
|
|
\settowidth\labelwidth{\@biblabel{#1}}%
|
|
\leftmargin\labelwidth
|
|
\advance\leftmargin\labelsep
|
|
\@openbib@code
|
|
\usecounter{enumiv}%
|
|
\let\p@enumiv\@empty
|
|
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
|
|
\sloppy
|
|
\clubpenalty4000
|
|
\@clubpenalty \clubpenalty
|
|
\widowpenalty4000%
|
|
\sfcode`\.\@m}
|
|
{\def\@noitemerr
|
|
{\@latex@warning{Empty `thebibliography' environment}}%
|
|
\endlist}
|
|
|
|
% Uproszczono polecenie \@makecaption, tak \.ze podpisy s\k{a}
|
|
% teraz sk{\l}adane od lewego marginesu.
|
|
% Dodano polecenie \source do sk{\l}adania \'xr\'od{\l}a
|
|
\long\def\@makecaption#1#2{\par
|
|
\vskip\abovecaptionskip
|
|
\begin{flushleft}\small\textbf{#1}. #2\end{flushleft}
|
|
%\vskip\belowcaptionskip % niepotrzebne bo po caption
|
|
%winno by\'c \'xr\'od{\l}o
|
|
\par
|
|
}
|
|
\def\source#1{\par \begin{flushleft}\small
|
|
\SourceName:~#1\end{flushleft}}
|
|
%
|
|
% Oznakowanie wersji dokumentu na ka\.zdej stronie w postaci
|
|
% adresu e-mail pierwszego autora (je\.zeli jest zdefiniowany) lub imienia
|
|
% i nazwiska pierwszego autora + tego co autor wpisa{\l} jako
|
|
% argument polecenia \nrwersji + bie{\.z}\k{a}ca data.
|
|
\def\nrwersji#1{\def\ThisDocVersion{#1}}\nrwersji{????}%
|
|
\def\ThisDocVersionId{%
|
|
\expandafter \ifx \csname theauthor1 \endcsname \undefined
|
|
\else \csname theauthor1\endcsname \fi
|
|
%% adres moze zawierac nie-litery (np `_' powoduje blad), pomijam
|
|
%\expandafter \ifx \csname thenetaddress1\endcsname \undefined
|
|
%\else \csname thenetaddress1\endcsname \fi
|
|
\space --\space wersja \ThisDocVersion\space z\space
|
|
\number\day/\number\month/\number\year~r. }
|
|
%
|
|
\def\IntroName{Wprowadzenie}
|
|
\def\SummaryName{Zako\'nczenie}
|
|
\def\SourceName{\'Zr\'od{\l}o}
|
|
\newcommand{\eng}[1]{(ang.~\emph{#1})}
|
|
\newcommand{\english}[1]{\textit{#1}}
|
|
\newcommand{\turkish}[1]{\textit{#1}}
|
|
\newcommand{\code}[1]{\texttt{#1}}
|
|
\newcommand{\noqa}[1]{}
|
|
\usepackage{hyperref}
|
|
\usepackage{xstring}
|
|
% Format a reference to a Gonito submission
|
|
\newcommand{\gonitoref}[1]{\{\href{https://gonito.net/q/#1}{\StrMid{#1}{1}{6}}\}}
|
|
% A bare score from Gonito
|
|
\newcommand{\gonitobarescore}[1]{\minput{scores/#1.txt}}
|
|
% A score from Gonito along with a reference
|
|
\newcommand{\gonitoscore}[1]{\gonitobarescore{#1} \gonitoref{#1}}
|
|
% A reference and a score as two cells in a table
|
|
\newcommand{\gonitoentry}[1]{\gonitoref{#1} & \minput{scores/#1.txt}}
|
|
%
|
|
\endinput
|
|
|