1
1
Files
Szablon-pracy-dyplomowej/UZ_Quarto/dyplUZ.cls
T
2025-12-18 09:28:57 +01:00

515 lines
15 KiB
OpenEdge ABL

% Klasa dokumentów do składu prac magisterskich/licencjackich
% na Wydziale Psychologii i Kognitywistyki UAM (wersja 1.2.1)
%
% This work may be distributed under the terms of the LaTeX Project
% Public License, as described in lppl.txt in the base LaTeX
% distribution. Either version 1.0 or, at your option, any later version.
%
% Klasa dyplUAM może być rozpowszechniana na zasadach publicznej
% licencji LaTeX Project (The LaTeX project public license, LPPL,
% por. http://www.latex-project.org/lppl/)
% Istota LPPL sprowadza się do tego, że modyfikacje pliku dozwolone
% są wyłacznie pod warunkiem zmiany jego nazwy.
%
\def\ThisClassVersionId{v1.3}
%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{dyplUZ}[2024/10/01 \ThisClassVersionId, Praca magisterska/licencjacka]
\def\@baseclass{report}
\def\@rodzajpracy{magisterska}
\def\@BInterlinia{\relax}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\@baseclass}}
\PassOptionsToClass{a4paper,oneside,openany,11pt}{\@baseclass}
%
\newif\if@dyplUZauthoryear
\DeclareOption{autorrok}{\@dyplUZauthoryeartrue}
\newif\if@dyplUZbackref \DeclareOption{backref}{\@dyplUZbackreftrue}
\DeclareOption{licencjacka}{\def\@rodzajpracy{licencjacka}}
% opcja `brudnopis' wykorzystuje pakiet `prelim2e'
\DeclareOption{brudnopis}{\AtEndOfClass{\input{prelim2e.sty}%
\renewcommand{\PrelimWords}{\ThisDocVersionId}\linespread{2.0}}}
\DeclareOption{xodstep}{\AtEndOfClass{\linespread{1.3}}}
\ProcessOptions
%
\LoadClass{\@baseclass}
%
\usepackage{graphicx}
\RequirePackage[labelfont=bf,labelsep=none]{caption}
%%
\if@dyplUZbackref
\usepackage[breaklinks,pagebackref]{hyperref}\else
\usepackage[breaklinks]{hyperref} \fi
% \if@dyplUZauthoryear
% \typeout{*** Cytowanie autor-rok ***}\RequirePackage{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
\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}
\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
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%% Definicja oświadczenia %%%%%%%%%%%%%%%%%%%%%%
% <<
\def\UniversityName#1{\def\Univ@Name{#1}}
\def\Univ@Name{Uniwersytet Zielonogórski\\Wydzia{\l} Nauk Spo{\l}ecznych}%
% <<
\def\oswiadczenieText{%
\'Swiadoma(y) odpowiedzialno\'sci karnej, w{\l}\k{a}cznie z rygorem niewa\.zności nadania tytu{\l}u o\'swiadczam, \.ze przed{\l}o\.zona praca dyplomowa nt.
\@title
zosta{\l}a napisana przeze mnie samodzielnie i nie by{\l}a wcze\'sniej podstaw\k{a} \.zadnej innej
urzędowej procedury zwi\k{a}zanej z nadaniem dyplomu wy\.zszej uczelni lub tytu{\l}\'ow zawodowych.
Jednocze\'snie o\'swiadczam, \.ze ww. praca nie narusza praw autorskich w rozumieniu ustawy
z dnia 4 lutego 1994 r. o prawie autorskim i prawach pokrewnych innych os\'ob oraz d\'obr
osobistych chronionych prawem cywilnym.
O\'swiadczam r\'ownie\.z, \.ze egzemplarz pracy dyplomowej w formie wydruku
komputerowego jest zgodny z egzemplarzem pracy dyplomowej w formie elektronicznej.\endgraf }
\long\def\oswiadczenie{
\hfill Zielona G\'ora, ...\@date...
\\
\@author\\
\\
\Univ@Name\\
\@kierunek / \@specjalnosc\\
\vspace*{15mm}
\if@twocolumn \onecolumn \fi
\centerline{\large\textbf{O\'swiadczenie}}
\vspace*{15mm}
%%\chapter*{O\'swiadczenie}%
%%\addcontentsline{toc}{chapter}{O\'swiadczenie}%
\par
\vskip6mm
\noindent
\thispagestyle{empty}
\oswiadczenieText
\par\vskip15mm
\centerline{\vbox{%
\hbox to.8\textwidth{\hbox to45mm{\dotfill}\hss
\hbox to45mm{\dotfill}}
\hbox to.8\textwidth{\hbox to45mm{\hss podpis\hss}\hss
\hbox to45mm{\hss miejscowo\'s\'c i data\hss}}%
}}\par
}
\newpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%% (opcjonalna) Dedykacja %%%%%%%%%%%%
\newif\ifdedicationpage
\dedicationpagetrue % Włączenie strony z dedykacją
\newcommand{\dedication}[1]{\gdef\@dedication{#1}}
\def\@dedication{}
\newcommand{\dedicationhere}{%
\ifdedicationpage
\newpage \thispagestyle{empty}
\vspace*{\fill}
\begin{minipage}{\textwidth}
\begin{flushright}
\itshape \@dedication
\end{flushright}
\end{minipage}
%\vspace*{\fill}
\newpage
\fi
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%% Strona tytułowa %%%%%%%%%%%%%%%%
\renewcommand\maketitle{%
\begin{titlepage}%
\let\footnotesize\small
\let\footnoterule\relax
%\let \footnote \thanks
\begin{figure}[t] % 't' oznacza umiejscowienie na górze strony
\centering
\begin{minipage}[t]{0.3\textwidth} % Lewa kolumna na rysunek
\vspace{0mm} % Ustawia tekst na samej górze minipage
\includegraphics[width=\linewidth]{uz.png}
\end{minipage}%
\hfill % odstęp między minipage
\begin{minipage}[t]{0.6\textwidth} % Prawa kolumna na tekst
\vspace{20mm} % Ustawia tekst na samej górze minipage
\begin{center}%
{\Large \textsc{\Univ@Name}\par}
\par
\end{center}
\end{minipage}
\end{figure}
\begin{flushleft}
\tiny
\begin{tabular}{@{} l}
{\small Kierunek: \hspace{1.15cm}\textsc{\@kierunek}}\\[1pt]
{\small Specjalność: \hspace{0.8cm}\@specjalnosc\par}\\[1pt]
{\small Numer albumu: \hspace{0.3cm}\@nralbumu\par}\\ % Dodane pole z numerem albumu
\end{tabular}
\end{flushleft}
\vspace{5mm plus 1fill}
\begin{center}%
{\@author\par}
\end{center}%
\vspace{8mm plus 1mm minus 2mm}
\begin{center}%
{\huge\textbf{\@title}\par}
\vspace{8mm plus 1mm minus 1mm}
{\textbf{\@tytulang}\par}
\vspace{1.5cm plus 1.5fill}
\begin{flushright}\large
\begin{tabular}{r}
Praca \@rodzajpracy{} pod kierunkiem:\\[3pt]
\bfseries \@opiekun
\end{tabular}
\end{flushright}
\vspace{10mm plus .1fill}
\begin{flushleft}
\small
\begin{tabular}{@{} l}
Akceptacja promotora: \\
\\
\dotfill \\
data, podpis promotora \\
\end{tabular}
\end{flushleft}
{\large \@miejsce,\space \number\year\par}
\end{center}
\end{titlepage}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% dedykacja %%%%%%%%%%
\dedicationhere
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% oświadczenie %%%%%%%%%%
\oswiadczenie
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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
%
\setcounter{page}{2}%
% Jezeli podano slowa kluczowe wydrukuj
\clearpage
\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}\noindent
\@keywords
\fi
\clearpage
\thispagestyle{empty}
\ifvoid\absengpagebox\@latex@warning{*** Nie podano angielskiego streszczenia ***}%
\else\InsertAbstractengHere \fi
\ifx\@keywordseng\EmptyKwsList \@latex@warning{*** Nie angielskich podano slow kluczowych ***}%
\else \section*{Keywords}\noindent
\@keywordseng
\newpage
\fi
} %% --renewcommand: maketitle --
\def\nralbumu#1{\gdef\@nralbumu{#1}}
\def\@nralbumu{???\ClassError{dyplUZ}{Brak numeru albumu}\@ehc}
\def\kierunek#1{\gdef\@kierunek{#1}}
\def\@kierunek{???\ClassError{dyplUZ}{Nie podano kierunku studiow}\@ehc}
\def\specjalnosc#1{\gdef\@specjalnosc{#1}}
\def\@specjalnosc{???\ClassError{dyplUZ}{Nie podano specjalności studiow}\@ehc}
\def\opiekun#1{\gdef\@opiekun{#1}}
\def\@opiekun{???\ClassError{dyplUZ}{Brak danych opiekuna pracy}\@ehc}
\def\miejsce#1{\gdef\@miejsce{#1}}
\def\@miejsce{Zielona G\'ora}
\def\author#1{\gdef\@author{#1}}
\def\tytul#1{\gdef\@tytul{#1}}
\def\tytulang#1{\gdef\@tytulang{#1}}
\def\keywords#1{\gdef\@keywords{#1}}
% slowa kluczowe sa opcjonalne:
%%\def\@keywords{???\ClassError{dyplUZ}{Brak slow kluczowych}\@ehc}
\def\@keywords{????}
\def\EmptyKwsList{????}
\def\keywordseng#1{\gdef\@keywordseng{#1}}
\def\@keywordseng{????}
\def\EmptyKwsListEng{????}
%
\def\zgody#1{\gdef\@zgody{#1}}
%%
% \def\klasyfikacja#1{\gdef\@klasyfikacja{#1}}
% \def\@klasyfikacja{???\ClassError{dyplUZ}{Brak klasyfikacji
% tematycznej}\@ehc}
%
\newbox \abspagebox%% *tp **
\def\InsertAbstractHere{\unvbox\abspagebox}
%
\renewenvironment{abstract}{\global%
\setbox \abspagebox \vbox \bgroup%
\section*{Streszczenie}}
{\egroup}
%
\newbox \absengpagebox%% *tp **
\def\InsertAbstractengHere{\unvbox\absengpagebox}
%
\newenvironment{abstracteng}{\global%
\setbox \absengpagebox \vbox \bgroup%
\section*{Summary}}
{\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{dyplUZ}{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}}
%
\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}
% Polecenia listoffigures/listoftables
% odkomentuj \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}}%
\@starttoc{lof}
%\addcontentsline{toc}{chapter}{\listfigurename}
}
%
\renewcommand\listoftables{%
\chapter*{\listtablename
\@mkboth{%
\MakeUppercase\listtablename}{\MakeUppercase\listtablename}}%
\@starttoc{lot}
%\addcontentsline{toc}{chapter}{\listtablename}
}%
%
% --------------------------------------------------------
% Format podpisów tabel i rysunków (APA7)
% --------------------------------------------------------
% Dwuliniowe podpisy do tabel: pogrubione "Tabela X." i opis w nowej linii
\DeclareCaptionFormat{twoline}{\hspace{1.5em}\textbf{#1~#2}\par \hspace{1.5em}#3}
\captionsetup[table]{
format=twoline,
labelfont=bf,
textfont=it,
labelsep=space,
singlelinecheck=false,
justification=raggedright,
name=Tabela
}
\captionsetup[figure]{
format=twoline,
labelfont=bf,
textfont=it,
labelsep=space,
singlelinecheck=false,
justification=raggedright,
name=Rysunek
}
% formatowanie zrodła
\newcommand{\podpis}[1]{%
\vspace{-1em}%
\begin{flushleft}
\footnotesize\hspace{1.7em} #1
\end{flushleft}
\vspace{1.2em}
\normalsize
}
%
% Oznakowanie wersji dokumentu na każdej stronie w postaci
% adresu e-mail pierwszego autora (jeżeli jest zdefiniowany) lub imienia
% i nazwiska pierwszego autora + tego co autor wpisał jako
% argument polecenia \nrwersji + bieżąca data.
\def\nrwersji#1{\def\ThisDocVersion{#1}}\nrwersji{????}%
\def\ThisDocVersionId{
--> \space wersja \ThisDocVersion %z\space \number\day/\number\month/\number\year~r.
}
%
\def\IntroName{Wprowadzenie}
\def\SummaryName{Zako\'nczenie}
\def\SourceName{\'Zr\'od{\l}o}
%
\endinput