Advertisement
argui

AGH WI

Mar 18th, 2024
1,173
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Latex 24.97 KB | None | 0 0
  1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2.  %
  3.  %  Name            ::  The official template for the typesetting of diploma theses at the Faculty of Computer Science of AGH University of Krakow
  4.  %  Author          ::  Stanisław Polak (polak[aT]icsr[DoT]agh[DoT]edu[DoT]pl)
  5.  %  Created         ::  2024-02-14
  6.  %  Modified        ::  2024-02-25
  7.  %  Version         ::  1.3
  8.  %  Email           ::  polak[aT]icsr[DoT]agh[DoT]edu[DoT]pl
  9.  %  Website         ::  http://www.icsr.agh.edu.pl/~polak/
  10.  %   Youtube         ::  https://www.youtube.com/user/spolak69
  11.  %   Github          ::  https://github.com/polaksta
  12.  %  License         ::  This work may be distributed and/or modified under the
  13.  %                       conditions of the LaTeX Project Public License, either version 1.3
  14.  %                       of this license or (at your option) any later version.
  15.  %                       The latest version of this license is in
  16.  %                       http://www.latex-project.org/lppl.txt
  17.  %                       and version 1.3 or later is part of all distributions of LaTeX
  18.  %                       version 2005/12/01 or later.
  19.  %
  20.  %  Description     ::  This document is a demonstration of the template
  21.  %
  22.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  23.  % Niniejszy dokument — szkielet pracy dyplomowej — prezentuje przykłady użycia klasy 'agh-wi' oraz pakietów tradycyjnie używanych w pracach
  24.  % dyplomowych z informatyki. Dla kilku z nich, wartości początkowe parametrów konfiguracyjnych są zdefiniowane
  25.  % w klasie  — wartości te uwzględniają uwagi osób prowadzących przedmiot "Pracownia Dyplomowa".
  26.  % Oczywiście możesz używać dowolnych pakietów, niekoniecznie tych, które są pokazane w tym dokumencie
  27.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  28.  % Poniższe uwagi NIE DOTYCZĄ Overleaf-a
  29.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  30.  % W tej przykładowej pracy dyplomowej użyto, między innymi, pakietów:
  31.  %   - "minted", co oznacza, że musisz uruchomić kompilator z opcją '-shell-escape'
  32.  %   - "biblatex", co oznacza, że po kompilacji (dokumentu) musisz, jeszcze, wygenerować plik '.bbl'
  33.  %   - "nomencl", co oznacza, że za pomocą komendy 'makeindex' musisz wygenerować wykaz symboli
  34.  %
  35.  % Tak więc, w celu wygenerowania wynikowego dokumentu PDF, musisz wykonać następujące komendy:
  36.  %       pdflatex -shell-escape example
  37.  %       biber example
  38.  %       makeindex example.nlo  -s nomencl.ist -o example.nls
  39.  %       pdflatex -shell-escape example
  40.  %       pdflatex -shell-escape example
  41.  %
  42.  % Dodatkowo musisz mieć zainstalowany program 'pygmentize', który jest częścią pakietu "Pygments" (https://pygments.org/)
  43.  % Ww. programy powinny zainstalować się automatycznie podczas instalacji pakietów LaTeX
  44.  %
  45.  % Jeżeli masz zainstalowany program 'latexmk', to możesz wygenerować dokument PDF następująco:
  46.  %       latexmk example
  47.  %       makeindex example.nlo  -s nomencl.ist -o example.nls
  48.  %       latexmk example
  49.  %
  50.  % Do edycji (oraz komplilacji) dokumentów LaTeX polecam program 'TeXstudio' (https://www.texstudio.org/)
  51.  %
  52.  % Autor: Stanisław Polak <polak[aT]agh[DoT]edu[DoT]pl>
  53.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  54. \documentclass{agh-wi} % Praca po polsku; na stronie tytułowej, najpierw jest widoczny polskojęzyczny tytuł, a potem angielskojęzyczny.
  55.                        % Kierunek 'Informatyka'.
  56.                        % Przeznaczona do oglądania przy użyciu przeglądarki PDF.
  57.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  58.  % Inne, przykładowe, użycia klasy
  59.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  60.  % \documentclass[english]{agh-wi}               % Praca po angielsku;
  61.                                                  %     strona tytułowa po polsku, ale najpierw jest widoczny angielskojęzyczny tytuł, a potem polskojęzyczny.  
  62.                                                  % Kierunek 'Informatyka'.
  63.                                                  % Przeznaczona do oglądania przy użyciu przeglądarki PDF.
  64.  % \documentclass[english, data-science]{agh-wi} % Praca po angielsku; ...
  65.                                                  % Kierunek 'Informatyka - Data Science'.
  66.                                                  % Przeznaczona do oglądania przy użyciu przeglądarki PDF.
  67.  % \documentclass[print]{agh-wi}                 % Praca po polsku; ...
  68.                                                  % Kierunek 'Informatyka'.
  69.                                                  % Przeznaczona do drukowania - każda strona posiada,
  70.                                                  %    dodatkowy (2cm), margines na oprawę.
  71.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  72.  % Parametry dla strony tytułowej
  73.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  74. \titlePL{Tytuł zgodny z tematyką/dziedziną pracy dyplomowej}  % Tytuł po polsku
  75. \titleEN{Title consistent with the topic/field of the thesis} % Tytuł po angielsku
  76. \author{Imiona i nazwisko dyplomanta}
  77. \supervisor{Stopień lub tytuł naukowy imiona i nazwisko promotora}
  78.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  79.  % Pakiety
  80.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  81.  % Podstawowe — na pewno będziesz ich potrzebował(a) w swojej wersji pracy dyplomowej
  82.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  83. \usepackage{polski} % Obsługa języka polskiego
  84.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  85.  % Dodatkowe — niekoniecznie będziesz ich potrzebował(a) w swojej wersji pracy dyplomowej
  86.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  87. \usepackage[sorting=none]{biblatex}           % Spis literatury ma być tworzony na podstawie zawartości bibliograficznej bazy danych
  88. \usepackage{amsmath}                          % Dodatkowe środowiska matematyczne
  89. \usepackage{amssymb}                          % Dodatkowe symbole matematyczne
  90. \usepackage[polish, intoc]{nomencl}           % Definiowanie symboli
  91. \usepackage{graphicx}                         % Wstawianie grafik zewnętrznych
  92. \usepackage{xcolor}                           % Kolorowy tekst
  93. \usepackage{tabularx}                         % Rozszerzona wersja środowiska 'tabular'
  94. \usepackage{longtable}                        % Skład "długich" tabel
  95. \usepackage[ruled,linesnumbered]{algorithm2e} % Algorytmy w formie pseudokodu
  96. \usepackage{listings}                         % Formatowanie kodów źródłowych programów
  97. \usepackage[newfloat]{minted}                 % Formatowanie kodów źródłowych programów
  98. \usepackage{hyperref}                         % Obsługa adresów URL — zbędny jeżeli używasz 'biblatex'
  99. \usepackage{csquotes}                         % Polskie cudzysłowy — rekomendowany jeżeli używasz 'biblatex'
  100.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  101.  % Ładowanie danych bibliograficznych
  102.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  103. \addbibresource{bibliography.bib}
  104.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  105.  % Opcje konfiguracyjne pakietów
  106.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  107.  % Pakiet 'framed'
  108. \definecolor{shadecolor}{gray}{0.9}
  109.  % Pakiet 'nomencl'
  110. \makenomenclature % Otwórz plik 'example.nlo'
  111.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  112.  % Definicje komend
  113.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  114. \newcommand{\alert}[1]{\colorbox{red!50}{#1}}
  115.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  116.  % Twierdzenia i podobne struktury
  117.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  118. \newtheorem{theorem}{Twierdzenie}
  119. \newtheorem{definition}{Definicja}
  120.  
  121. \newcounter{comment}[chapter]
  122. \newenvironment{comment}[1][]{\begin{shaded}\refstepcounter{comment}
  123.   \noindent \textbf{Uwaga~\thechapter.\thecomment. #1} \rmfamily}{\end{shaded}}
  124.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  125.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  126. \begin{document}
  127.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  128. \frontmatter % Część wstępna
  129.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  130. \maketitle % Dodaj stronę tytułową
  131.  %%%%%%%%%%%%%%%%%%%%%%%
  132.  % Jeżeli chcesz komuś podziękować, to możesz użyć poniższego kodu
  133. \cleardoublepage
  134. \thispagestyle{empty}
  135. \vspace*{\fill}
  136. \begin{flushright}
  137.    \em
  138.    \begin{minipage}{0.75\textwidth}
  139.        Tutaj możesz umieścić treść podziękowań.
  140.        Tutaj możesz umieścić treść podziękowań.
  141.        Tutaj możesz umieścić treść podziękowań.
  142.        Tutaj możesz umieścić treść podziękowań.
  143.        Tutaj możesz umieścić treść podziękowań.
  144.    \end{minipage}
  145. \end{flushright}
  146.  %%%%%%%%%%%%%%%%%%%%%%%
  147. \begin{abstractPL}
  148.    Streszczenie po polsku \ldots
  149. \end{abstractPL}
  150. \begin{abstractEN}
  151.    Abstract in english \ldots
  152. \end{abstractEN}
  153.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  154.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  155. \tableofcontents   % Wygeneruj spis treści
  156. \begin{shaded}
  157.    Zawartość spisu treści \pauza tytuły rozdziałów oraz ich liczba zależą od tematyki pracy \pauza należy ustalić z opiekunem pracy.
  158. \end{shaded}
  159. \listoffigures     % Wygeneruj listę rysunków
  160. \listoftables      % Wygeneruj listę tabel
  161. \listofalgorithms  % Wygeneruj listę algorytmów
  162.  % Wygeneruj listę kodów źródłowych
  163. \lstlistoflistings % Jeżeli do tworzenia listingów używasz pakietu 'listings'
  164.  % \listoflistings % Jeżeli do tworzenia listingów używasz pakietu 'minted'
  165. \printnomenclature % Wyświetl listę symboli
  166.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  167. \mainmatter % Część główna
  168.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  169. \chapter{Wstęp}
  170. \begin{comment}
  171.    Tytuł oraz strukturę rozdziału należy ustalić z opiekunem pracy.
  172. \end{comment}
  173. Wprowadzenie w tematykę pracy.
  174. \section{Cel i zakres pracy}
  175. Streszczenie specyfikacji wymagań Promotora.
  176. \chapter{Część literaturowa}
  177. \begin{comment}
  178.    Tytuł oraz strukturę rozdziału należy ustalić z opiekunem pracy.
  179. \end{comment}
  180.  
  181. Aktualny stan wiedzy, na dany temat, na podstawie dostępnej literatury naukowej oraz specjalistycznej.
  182. \chapter{Część badawcza}
  183. \begin{comment}
  184.    Tytuł oraz strukturę rozdziału należy ustalić z opiekunem pracy.
  185. \end{comment}
  186.  
  187. \begin{itemize}
  188.    \item Problemy / pytania badawcze.
  189.    \item Opis idei / metod rozwiązania postawionego problemu.
  190.    \item Opis przebiegu badań.
  191.    \item Interpretacja uzyskanych wyników.
  192. \end{itemize}
  193. \chapter{Zakończenie}
  194. \begin{comment}
  195.    Tytuł oraz strukturę rozdziału należy ustalić z opiekunem pracy.
  196. \end{comment}
  197. \begin{enumerate}
  198.    \item Podsumowanie.
  199.    \item Możliwości dalszego rozwoju.
  200.    \item Potencjalne obszary zastosowania pracy.
  201. \end{enumerate}
  202.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  203.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  204. \appendix % Dodatek
  205. \chapter{Typowe elementy składowe pracy dyplomowej z informatyki}
  206. \section{Tabele}
  207. \begin{comment}
  208.    \begin{itemize}
  209.        \item Każda tabela powinna być opisana w treści pracy.
  210.        \item Podpis ma być przed tabelą.
  211.    \end{itemize}
  212. \end{comment}
  213. W tabeli \ref{tab:result} przedstawiono wyniki pomiarów.
  214. \begin{table}[!h]
  215.    \caption{Pomiary zużycia energii elektrycznej\label{tab:result}.}
  216.    \centering
  217.    \begin{tabular}{|l||r@{,}l|}
  218.        \hline
  219.        \textbf{L.p.} & \multicolumn{2}{|c|}{\textbf{Wartość}}          \\
  220.        \hline
  221.        \hline
  222.        \cline{2-3}
  223.         %\textbf{L.p.} & \multicolumn{1}{r@{\,\vline\,}}{Całkowita} & Ułamkowa \\
  224.         \hline
  225.         1             & 12345                                  & 6789   \\
  226.         \cline{2-3}
  227.                      & 45                                     & 89     \\
  228.        \hline
  229.        2             & 45                                     & 678901 \\
  230.        \hline
  231.    \end{tabular}
  232. \end{table}
  233.  
  234. Jeżeli tabela zawiera dużą liczbę wierszy i może nie zmieścić się na stronie \pauza patrz tabela \ref{tab:longtable} \pauza skorzystaj z pakietu \emph{longtable} \cite{longtable}.
  235. \begin{longtable}{|p{14ex}|p{1.5em}|p{1.5em}|p{1.5em}|p{1.5em}|p{1.5em}|p{1.5em}|p{1.5em}|p{1.5em}|p{1.5em}|}
  236.    \caption{Tabela, która zawiera dużą liczbę wierszy\label{tab:longtable}.}
  237.    \endfirsthead
  238.    \hline
  239.               & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & \\
  240.    \cline{2-9}
  241.               &   &   &   &   &   &   &   &   & \\
  242.    \hline
  243.    \endhead
  244.    \endfoot
  245.    \hline\hline
  246.               & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & \\
  247.    \cline{2-9}
  248.               &   &   &   &   &   &   &   &   & \\
  249.    \hline\hline
  250.    Student 1  &   &   &   &   &   &   &   &   & \\
  251.    \cline{2-9}
  252.               &   &   &   &   &   &   &   &   & \\
  253.    \hline\hline
  254.    Student 2  &   &   &   &   &   &   &   &   & \\
  255.    \cline{2-9}
  256.               &   &   &   &   &   &   &   &   & \\
  257.    \hline\hline
  258.    Student 3  &   &   &   &   &   &   &   &   & \\
  259.    \cline{2-9}
  260.               &   &   &   &   &   &   &   &   & \\
  261.    \hline\hline
  262.    Student 4  &   &   &   &   &   &   &   &   & \\
  263.    \cline{2-9}
  264.               &   &   &   &   &   &   &   &   & \\
  265.    \hline\hline
  266.    Student 5  &   &   &   &   &   &   &   &   & \\
  267.    \cline{2-9}
  268.               &   &   &   &   &   &   &   &   & \\
  269.    \hline\hline
  270.    Student 6  &   &   &   &   &   &   &   &   & \\
  271.    \cline{2-9}
  272.               &   &   &   &   &   &   &   &   & \\
  273.    \hline\hline
  274.    Student 7  &   &   &   &   &   &   &   &   & \\
  275.    \cline{2-9}
  276.               &   &   &   &   &   &   &   &   & \\
  277.    \hline\hline
  278.     Student 8  &   &   &   &   &   &   &   &   & \\
  279.     \cline{2-9}
  280.                &   &   &   &   &   &   &   &   & \\
  281.     \hline\hline
  282.     Student 9  &   &   &   &   &   &   &   &   & \\
  283.    \cline{2-9}
  284.                 &   &   &   &   &   &   &   &   & \\
  285.     \hline\hline
  286.     % Student 10 &   &   &   &   &   &   &   &   & \\
  287.     % \cline{2-9}
  288.     %            &   &   &   &   &   &   &   &   & \\
  289.     % \hline\hline
  290.     % Student 11 &   &   &   &   &   &   &   &   & \\
  291.     % \cline{2-9}
  292.     %            &   &   &   &   &   &   &   &   & \\
  293.     % \hline\hline
  294.     % Student 12 &   &   &   &   &   &   &   &   & \\
  295.     % \cline{2-9}
  296.     %            &   &   &   &   &   &   &   &   & \\
  297.     % \hline\hline
  298.     % Student 13 &   &   &   &   &   &   &   &   & \\
  299.     % \cline{2-9}
  300.     %            &   &   &   &   &   &   &   &   & \\
  301.     % \hline\hline
  302. \end{longtable}
  303.  
  304. Tabele, w których występuje długi tekst, a co za tym idzie może się on nie zmieścić \pauza musi zostać zawinięty, z pomocą przychodzi środowisko 'tabularx' \cite{tabularx} \pauza  patrz tabela \ref{tab:tabularx}.
  305. \begin{table}[!ht]
  306.    \caption{Tabela zawierająca długi tekst\label{tab:tabularx}.}
  307.    \centering
  308.    \begin{tabularx}{300pt}{|c|X|c|X|}
  309.        \hline
  310.        \multicolumn{2}{|c|}{Wpis wielokolumnowy!} &
  311.        TRZY                                       &
  312.        CZTERY                                       \\
  313.        \hline
  314.        jeden                                      &
  315.        \raggedright\arraybackslash Szerokość tej kolumny zależy od
  316.        szerokości tabeli.                         &
  317.        trzy                                       &
  318.        \raggedright\arraybackslash Kolumna czwarta będzie zachowywać się w taki sam sposób jak
  319.        druga kolumna o tej samej szerokości.        \\
  320.        \hline
  321.    \end{tabularx}
  322. \end{table}
  323.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  324. \section{Rysunki}
  325. \begin{comment}  
  326.    \begin{itemize}
  327.        \item Rysunki powinny być przerysowane samodzielnie albo używane tylko te,
  328.          których twórcy zezwolili na ich rozpowszechnianie oraz kopiowanie, czyli
  329.          np. rysunki objęte licencją Creative Commons.
  330.        \item Każdy rysunek powinien być opisany w treści pracy.
  331.    \end{itemize}
  332. \end{comment}
  333. \subsection{Wewnętrzne}
  334.  
  335. Klasa \emph{agh-wi}, automatycznie, dołącza pakiet \emph{TikZ} \cite{tikz} \pauza dostarcza on komend pozwalających na tworzenie grafik. Przykładowe grafiki pokazano na rysunku \ref{fig:tikz1} oraz \ref{fig:tikz2}.
  336.  
  337. \begin{figure}[!h]
  338.    \begin{center}
  339.        \tikz \draw[thick,rounded corners=8pt]
  340.        (0,0) -- (0,2) -- (1,3.25) -- (2,2) -- (2,0) -- (0,2) -- (2,2) -- (0,0) -- (2,0);
  341.    \end{center}
  342.    \caption{Prosty rysunek \emph{TikZ}\label{fig:tikz1}.}
  343. \end{figure}
  344.  
  345. \begin{figure}[!ht]
  346.    \begin{center}
  347.        \begin{tikzpicture}
  348.            \draw[step=.5cm,gray,very thin] (-1.4,-1.4) grid (1.4,1.4);
  349.            \draw (-1.5,0) -- (1.5,0);
  350.            \draw (0,-1.5) -- (0,1.5);
  351.            \draw (0,0) circle [radius=1cm];
  352.        \end{tikzpicture}
  353.    \end{center}
  354.    \caption{Bardziej złożony rysunek \emph{TikZ}\label{fig:tikz2}.}
  355. \end{figure}
  356.  
  357. \subsection{Zewnętrzne}
  358. Oczywiście możliwe jest również dołączanie rysunków zewnętrznych \pauza
  359. pakiet \emph{graphicx} \cite{graphicx} pozwala na wstawianie grafik zapisanych w  plikach: '.png', '.jpg' oraz '.pdf'. Rysunek \ref{fig:logo} wstawiono przy użyciu tego pakietu.
  360. \begin{figure}[!ht]
  361.    \begin{center}
  362.        \IfFileExists{img/logo_podstawowe.png}{
  363.            \includegraphics[width=0.7\linewidth]{img/logo_podstawowe}
  364.        }
  365.        {Nie znaleziono pliku 'img/logo\_podstawowe.png' \pauza pobierz go ze strony \url{https://www.informatyka.agh.edu.pl/media/uploads/Logo WI/PNG/logo_podstawowe.png}}
  366.    \end{center}
  367.    \caption{Logo Wydziału Informatyki.}
  368.    \label{fig:logo}
  369. \end{figure}
  370.   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  371. \section{Kody źródłowe}
  372. Najpopularniejszymi pakietami, które umożliwiają składanie kodów źródłowych programów, są:
  373. \begin{description}
  374.    \item[listings \cite{listings}] \pauza kod źródłowy jest formatowany bezpośrednio przez \LaTeX{}\dywiz{}a \pauza nie jest używany żaden, zewnętrzny, formater kodu.
  375.        \begin{lstlisting}[language=C++, float=ht, label=lst:code1, caption={Przykładowy kod źródłowy sformatowany za pomocą pakietu 'listings'.}]
  376. /* Pierwszy program w C++ */
  377.  
  378. #include <iostream>
  379.  
  380. int main() {
  381.    std::cout << "Hello World!";
  382.    return 0;
  383. }
  384.    \end{lstlisting}
  385.    \item[minted \cite{minted}] \pauza formatuje kod źródłowy przy użyciu biblioteki języka Python  o nazwie \emph{Pygments} \cite{pygments}.
  386.        \begin{listing}[!ht]
  387.            \caption{Przykładowy listing sformatowany za pomocą pakietu 'minted'.\label{lst:code2}}
  388.            \begin{minted}{c++}
  389. /* Pierwszy program w C++ */
  390.  
  391. #include <iostream>
  392.  
  393. int main() {
  394.    std::cout << "Hello World!";
  395.    return 0;
  396. }
  397.    \end{minted}
  398.        \end{listing}
  399. \end{description}
  400.  
  401. \begin{comment}
  402.    \begin{itemize}
  403.        \item Podpis ma być przed kodem źródłowym.
  404.        \item \alert{Proszę używać tylko jednego z tych pakietów}; w przeciwnym razie otrzymasz taki efekt, jak w przykładowej pracy \pauza obydwa listingi mają ten sam numer.
  405.    \end{itemize}
  406. \end{comment}
  407.  
  408. Kod źródłowy w C++ sformatowany przy użyciu pakietu \emph{listings}, pokazano na listingu \ref{lst:code1}; sformatowany przy użyciu pakietu \emph{minted}, pokazano na listingu \ref{lst:code2}.
  409. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  410. \section{Algorytmy}
  411. Pakiet \emph{algorithm2e} \cite{algorithm2e} to jeden kilku, które pozwalają zapisywać algorytmy w formie pseudokodu \pauza patrz
  412. algorytm \ref{alg:algo_disjdecomp} na stronie \pageref{alg:algo_disjdecomp}.
  413. \begin{comment}
  414.    Podpis ma być przed algorytmem.
  415. \end{comment}
  416. \begin{algorithm}[!htb]
  417.    \caption{Disjoint decomposition.}\label{alg:algo_disjdecomp}
  418.     %%%%%%%%%%%%%%%%%%%%%%%%%%    
  419.     \SetKwData{Left}{left}\SetKwData{This}{this}\SetKwData{Up}{up}
  420.    \SetKwFunction{Union}{Union}\SetKwFunction{FindCompress}{FindCompress}
  421.    \SetKwInOut{Input}{input}\SetKwInOut{Output}{output}
  422.    \Input{A bitmap $Im$ of size $w\times l$}
  423.    \Output{A partition of the bitmap}
  424.    \BlankLine
  425.    \emph{special treatment of the first line}\;
  426.    \For{$i\leftarrow 2$ \KwTo $l$}{
  427.        \emph{special treatment of the first element of line $i$}\;
  428.        \For{$j\leftarrow 2$ \KwTo $w$}{\label{forins}
  429.            \Left$\leftarrow$ \FindCompress{$Im[i,j-1]$}\;
  430.            \Up$\leftarrow$ \FindCompress{$Im[i-1,]$}\;
  431.            \This$\leftarrow$ \FindCompress{$Im[i,j]$}\;
  432.            \If(\tcp*[h]{O(\Left,\This)==1}){\Left compatible with \This}{\label{lt}
  433.                \lIf{\Left $<$ \This}{\Union{\Left,\This}}
  434.                \lElse{\Union{\This,\Left}}
  435.            }
  436.            \If(\tcp*[f]{O(\Up,\This)==1}){\Up compatible with \This}{\label{ut}
  437.                \lIf{\Up $<$ \This}{\Union{\Up,\This}}
  438.                \tcp{\This is put under \Up to keep tree as flat as possible}\label{cmt}
  439.                \lElse{\Union{\This,\Up}}\tcp*[h]{\This linked to \Up}\label{lelse}
  440.            }
  441.        }
  442.        \lForEach{element $e$ of the line $i$}{\FindCompress{p}}
  443.    }
  444. \end{algorithm}\DecMargin{1em}
  445.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  446. \section{Wzory}
  447. \LaTeX{} bardzo dobrze sprawdza się w przypadku prac dyplomowych zawierających wzory matematyczne\footnote{ W przypadku złożonych wzorów warto zastosować pakiet \emph{amsmath} \cite{amsmath}.}.
  448. \subsection{Przykłady}
  449. Wzór $E = mc^{2}$\nomenclature{$c$}{Prędkość światła w próżni} jest częścią zdania.
  450.  
  451. \begin{equation}
  452.    \left|\sum_{i=1}^n a_ib_i\right|
  453.    \le
  454.    \left(\sum_{i=1}^n a_i^2\right)^{1/2}
  455.    \left(\sum_{i=1}^n b_i^2\right)^{1/2}
  456. \end{equation}
  457.  
  458.  % Do wstawienia poniższych wzorów użyto środowisk (otoczeń) zdefiniowanych w pakiecie 'amsmath'
  459. Wartości zmiennej opisano wzorem \ref{eq:r1}.
  460. \begin{equation}
  461.    \label{eq:r1}
  462.    x=\begin{cases}
  463.        y           & \text{dla } y > 0    \\
  464.        \frac{z}{y} & \text{dla } y \leq 0
  465.    \end{cases}
  466. \end{equation}
  467.  
  468. Wzór \ref{eq:r2} to wzór wielowierszowy.
  469. \begin{align}
  470.    \label{eq:r2}
  471.    2x^2 + 3(x-1)(x-2) & =2x^2 + 3(x^2-3x+2)             \\
  472.                       & = 2x^2 + 3x^2 - 9x + 6\nonumber \\
  473.                       & = 5x^2 - 9x + 6\nonumber
  474. \end{align}
  475. \begin{comment}
  476.    Należy używać tylko dwóch rodzajów wzorów:
  477.    \begin{enumerate}
  478.        \item \enquote{W linii}.
  479.        \item Eksponowane, numerowane.
  480.    \end{enumerate}
  481. \end{comment}
  482.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  483. \section{Twierdzenia i podobne struktury}
  484. Twierdzenie nr \ref{tw} opublikował, w roku 1691, francuski matematyk Michel Rolle.
  485. \begin{theorem}[Rolle'a]
  486.    \label{tw}
  487.    Jeśli dana funkcja f: $\mathbb R \to \mathbb R$ jest:
  488.    \begin{enumerate}
  489.        \item ciągła w przedziale $[a,b]$
  490.        \item jest różniczkowalna w przedziale $(a,b)$
  491.        \item na końcach przedziału $[a,b]$ przyjmuje równe wartości: $f(a) = f(b)$,
  492.    \end{enumerate}
  493.    to w przedziale $(a,b)$ istnieje co najmniej jeden punkt c taki, że $f'(c) = 0$.
  494. \end{theorem}
  495.  
  496. Teraz coś z informatyki \ldots
  497. \begin{definition}
  498.    Bit to najmniejsza jednostka informacji w komputerze.
  499. \end{definition}
  500. \begin{definition}
  501.    Bajtem nazywamy ciąg ośmiu bitów.
  502. \end{definition}
  503.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  504. \backmatter % Część końcowa
  505.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  506. \chapter{Uwagi Autora}
  507. \begin{itemize}
  508.     \item Aktualna wersja klasy jest dostępna pod adresem \url{https://github.com/polaksta/LaTeX/tree/master/agh-wi}\footnote{W przypadku Overleaf-a jest ona pod adresem  \url{https://www.overleaf.com/read/fnvcvqjyrbyw\#5ac622}}.
  509.    \item Skoro Twoja praca dyplomowa powstała w \LaTeX{}u, to zachęcam Cię również do przygotowania prezentacji (na obronę pracy magisterskiej) w tym języku. Najpopularniejszą klasą do tworzenia tego typu dokumentów jest \emph{beamer} \cite{beamer}.
  510.    \item Pod adresem \url{https://github.com/polaksta/LaTeX/tree/master/beamerthemeAGH}\footnote{W przypadku Overleaf-a jest on pod adresem  \url{https://www.overleaf.com/read/fkjdthnbrfhj\#9c6184}} możesz znaleźć, stworzony przeze mnie,  nasz uczelniany szablon dla prezentacji \LaTeX{} Beamer.
  511.    \item Treść wszystkich rozdziałów tej, przykładowej, pracy dyplomowej znajduje się w jednym pliku \pauza \textbf{nie jest to polecane rozwiązanie}. W przypadku pisania własnej pracy warto umieścić zawartość każdego z rozdziałów w osobnych plikach, a następnie dołączać je do dokumentu głównego \pauza patrz opis na stronie \url{https://www.dickimaw-books.com/latex/thesis/html/include.html}.
  512.    \item Jeżeli pewne elementy mają być wyróżniane w \alert{jednakowy} \alert{sposób}, to proponuję nie używać bezpośredniego stylowania, tzn.
  513.          \mint{tex}{\colorbox{red!50}{jednakowy} \colorbox{red!50}{sposób}} ale zdefiniować własną komendę stylującą, np. \verb+\alert+,
  514.          \mint{tex}{\newcommand{\alert}[1]{\colorbox{red!50}{#1}}}
  515.          a następnie użyć jej w dokumencie.
  516.          \mint{tex}{\alert{jednakowy} \alert{sposób}}
  517.  
  518.          Dzięki temu, jeżeli będziesz chciał / chciała zmienić sposób stylowania tych elementów, np. niebieskie tło zamiast czerwonego, to wystarczy zmodyfikować, tylko, definicję komendy, zamiast zastępować, w tekście pracy dyplomowej, wybrane (niekoniecznie wszystkie!) wystąpienia tekstu \texttt{red}, tekstem \texttt{blue}.
  519. \end{itemize}
  520. Stanisław Polak
  521.  
  522.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  523.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  524.  % Wyświetl spis literatury
  525.  % UWAGA: Powinien zawierać tylko te publikacje, do których odwołujesz się w pracy
  526. \printbibliography
  527.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  528.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  529. \end{document}
Advertisement
Comments
Add Comment
Please, Sign In to add comment
Advertisement