University of Miskolc BSc thesis (szakdolgozat)
The Institute of Mathematics' LaTeX kit for BSc theses (2022 update), in Hungarian: title page with the university crest, thesis assignment sheet, six sample chapters from introduction to summary, code listings, Hungarian cross-referencing with cleveref, and a biblatex bibliography.
- Category
- Thesis
- Document class
report(report.cls) — ships with TeX Live- Workflow
- Thesis / dissertation — submissions and revision rounds
- Author
- University of Miskolc, Institute of Mathematics
- Source
- University of Miskolc, Institute of Mathematics
- Licence
- report.cls: LaTeX Project Public License (installed with TeX). The sample text is University of Miskolc, Institute of Mathematics's, provided for authors preparing a submission.
These are the publisher’s own files. This project starts from University of Miskolc, Institute of Mathematics’s package for this publication — their manuscript, their report.cls, their bibliography style — so what compiles here is what they would have given you.
University of Miskolc, Institute of Mathematics serves this exact file to University of Miskolc. Check University of Miskolc, Institute of Mathematics’s author pages for the current instructions.
What you get
chapters/1_introduction.tex· 510 Bchapters/2_concept.tex· 2 KBchapters/3_design.tex· 2 KBchapters/4_implementation.tex· 2 KBchapters/5_test.tex· 658 Bchapters/6_summary.tex· 437 Bcover/cimlap.tex· 672 Bcover/feladatkiiras.tex· 5 KBcover/hasznalati.tex· 932 Bdolgozat.bib· 290 Bdolgozat.tex— the file that is compiled · 1 KBimages/me_logo.png· 174 KBstyles/cpp.sty· 1 KBstyles/dolgozat.sty· 2 KBstyles/java.sty· 1 KBstyles/python.sty· 1 KBstyles/refs.sty· 1 KBstyles/rust.sty· 12 KB
These become your files. Editing them afterwards changes your project and nothing else — a project owns its files from the moment it is made.
Source
chapters/1_introduction.tex · 510 B
\chapter{Bevezetés}
A fejezet célja, hogy a feladatkiírásnál kicsit részletesebben bemutassa, hogy miről fog szólni a dolgozat.
Érdemes azt részletezni benne, hogy milyen aktuális, érdekes és nehéz probléma megoldására vállalkozik a dolgozat.
Ez egy egy-két oldalas leírás.
Nem kellenek bele külön szakaszok (section-ök).
Az irodalmi háttérbe, a probléma részleteibe csak a következő fejezetben kell belemenni.
Itt az olvasó kedvét kell meghozni a dolgozat többi részéhez.
chapters/2_concept.tex · 2 KB
\chapter{Koncepció}
\section{A fejezet célja}
Ez a fejezet még nem a saját eredményekkel foglalkozik, hanem bemutatja, mi a problémakör, milyen módszerekkel, milyeneredményeket sikerült elérni eddig másoknak.
A hivatkozások jelentős része ehhez a fejezethez szokott kötődni.
(Egy hivatkozás például így néz ki \cite{coombs1987markup}.)
Itt lehet bemutatni a hasonló alkalmazásokat.
\section{Tartalom és felépítés}
A fejezet tartalma témától függően változhat. Az alábbiakat attól függően különböző arányban tartalmazhatják.
\begin{itemize}
\item Irodalomkutatás. Amennyiben a dolgozat egy módszer kidolgozására, kifejlesztésére irányul, akkor itt lehet részletesen végignézni (módszertani vagy időrendi bontásban), hogy az eddigiekben milyen eredmények születtek a témakörben.
\item Technológia. Mivel jellemzően kutatásról vagy szoftverfejlesztésről van szó, ezért annak a jellemző elemeit, technikai részleteit itt kell bemutatni.
Ez tehát egy módszeres bevezetés ahhoz, hogy ha valaki nem jártas a témakörben, akkor tudja, hogy a dolgozat milyen aktuálisan elérhető eredményeket, eszközöket használt fel.
\item Piackutatás. Bizonyos témáknál új termék vagy szolgáltatás kifejlesztése a cél.
Ekkor érdemes annak alaposan utánanézni, hogy aktuálisan milyen eszközök érhetők el a piacon.
Ez szoftverek esetében a hasonló alkalmazások bemutatását, táblázatos formában történő összehasonlítását jelentheti.
Szerepelhetnek képek és észrevételek a viszonyításként bemutatott alkalmazásokhoz.
\item Követelmény specifikáció. Külön szakaszban érdemes részletesen kitérni az elkészítendő alkalmazással kapcsolatos követelményekre.
Ehhez tartozhatnak forgatókönyvek (\textit{scenario}-k).
A szemléletesség kedvéért lehet hozzájuk képernyőkép vázlatokat is készíteni, vagy a használati eseteket más módon szemléltetni.
\end{itemize}
\section{Amit csak említés szintjén érdemes szerepeltetni}
Az olvasóról annyit feltételezhetünk, hogy programozásban valamilyen szinten járatos, és a matematikai alapfogalmakkal sem ebben a dolgozatban kell megismertetni.
A speciális eszközök, programozási nyelvek, matematikai módszerek és jelölések persze jó, hogy ha említésre kerülnek, de nem kell nagyon belemenni a közismertnek tekinthető dolgokba.
chapters/3_design.tex · 2 KB
\chapter{Tervezés}
Itt kezdődik a dolgozat lényegi része, úgy értve, hogy a saját munka bemutatása.
Jellemzően ebben szerepelni szoktak blokkdiagramok, a program struktúrájával foglalkozó leírások.
Ehhez célszerű UML ábrákat (például osztály- és szekvenciadiagramokat) használni.
Amennyiben a dolgozat inkább kutatás jellegű, úgy itt lehet konkretizálni a kutatási módszertant, a kutatás tervezett lépéseit, az indoklást, hogy mit, miért és miért pont úgy érdemes csinálni, ahogyan az a későbbiekben majd részletezésre kerül.
Ebben a fejezetben az implementáció nem kell, hogy túl nagy szerepet kapjon.
Ez még csak a tervezési fázis.
(Nyilván ha olyan a téma, hogy magának az implementációnak a módjával foglalkozik, adott formális nyelvet mutat be, úgy a kódpéldákat már innen sem lehet kihagyni.)
\section{Táblázatok}
Táblázatokhoz a \texttt{table} környezetet ajánlott használni.
Erre egy minta \mref{tab:minta}.
A hivatkozáshoz az egyedi \texttt{label} értéke konvenció szerint \texttt{tab:} prefixszel kezdődik.
\begin{table}[h]
\centering
\caption{Minta táblázat. A táblázat felirata a táblázat felett kell legyen!}
\label{tab:minta}
\begin{tabular}{l|c|c|}
a & b & c \\
\hline
1 & 2 & 3 \\
4 & 5 & 6 \\
\hline
\end{tabular}
\end{table}
\section{Ábrák}
Ábrákat a \texttt{figure} környezettel lehet használni.
A használatára egy példa \aref{fig:cimer}. ábrában látható.
Az \texttt{includegraphics} parancsba
Az ábrák felirata az ábra alatt kell legyen.
Az ábrák hivatkozásához használt nevet konvenció szerint \texttt{fig:}-el célszerű kezdeni.
\begin{figure}[h]
\centering
\includegraphics[scale=0.3]{images/me_logo.png}
\caption{A Miskolci Egyetem címere.}
\label{fig:cimer}
\end{figure}
\section{További környezetek}
A matematikai témájú dolgozatokban szükség lehet tételek és bizonyításaik megadására.
Ehhez szintén vannak készen elérhető környezetek.
\begin{definition}
Ez egy definíció
\end{definition}
\begin{lemma}
Ez egy lemma
\end{lemma}
\begin{theorem}
Ez egy tétel
\end{theorem}
\begin{proof}
Ez egy bizonyítás
\end{proof}
\begin{corollary}
Ez egy tétel
\end{corollary}
\begin{remark}
Ez egy megjegyzés
\end{remark}
\begin{example}
Ez egy példa
\end{example}
chapters/4_implementation.tex · 2 KB
\chapter{Megvalósítás}
Ez a fejezet mutatja be a megvalósítás lépéseit.
Itt lehet az esetlegesen előforduló technikai nehézségeket említeni.
Be lehet már mutatni a program elkészült részeit.
Meg lehet mutatni az elkészített programkód érdekesebb részeit.
(Az érdekesebb részek bemutatására kellene szorítkozni.
Többségében a szöveges leírásnak kellene benne lennie.
Abból lehet kiindulni, hogy a forráskód a dolgozathoz elérhető, azt nem kell magába a dolgozatba bemásolni, elegendő csak behivatkozni.)
A dolgozatban szereplő forráskódrészletekhez külön vannak programnyelvenként stílusok.
Python esetében például \mref{py:test}ban látható egy formázott kódrészlet.
\begin{python}[caption={Python példa},label=py:test]
import sys
if __name__ == '__main__':
pass
\end{python}
A stílusfájlok a \texttt{styles} jegyzékben találhatók.
A stílusok között szerepel még C++, Java és Rust stílusfájl.
Ezek használatához a \texttt{dolgozat.tex} fájl elején \texttt{usepackage} paranccsal hozzá kell adni a stílust, majd a stílusfájl nevével megegyező környezetet lehet használni.
További példaként C++ forráskód esetében ez így szerepel.
\begin{cpp}
#include <iostream>
class Sample : public Object
{
// An empty class definition
}
\end{cpp}
Stílusfájlokból elegendő csak annyit meghagyni, amennyire a dolgozatban szükség van.
Más, C szintaktikájú nyelvekhez (mint például a JavaScript és C\#) a Java vagy C++ stílusfájlok átszerkesztésére van szükség.
(Elegendő lehet csak a fájlnevet átírni, és a fájlban a környezet nevét.)
Nyers adatok, parancssori kimenetek megjelenítéséhez a \texttt{verbatim} környezetet lehet használni.
\begin{verbatim}
$ some commands with arguments
1 2 3 4 5
$ _
\end{verbatim}
A kutatás jellegű témáknál ez a fejezet gyakorlatilag kimaradhat.
Helyette inkább a fő vizsgálati módszerek, kutatási irányok kaphatnak külön-külön fejezeteket.
chapters/5_test.tex · 658 B
\chapter{Tesztelés}
A fejezetben be kell mutatni, hogy az elkészült alkalmazás hogyan használható.
(Az, hogy hogyan kell, hogy működjön, és hogy hogy lett elkészítve, az előző fejezetekben már megtörtént.)
Jellemzően az alábbi dolgok kerülhetnek ide.
\begin{itemize}
\item Tesztfuttatások. Le lehet írni a futási időket, memória és tárigényt.
\item Felhasználói kézikönyv jellegű leírás. Kifejezetten a végfelhasználó szempontjából lehet azt bemutatni, hogy mit hogy lehet majd használni.
\item Kutatás kapcsán ide főként táblázatok, görbék és egyéb részletes összesítések kerülhetnek.
\end{itemize}
chapters/6_summary.tex · 437 B
\chapter{Összefoglalás}
Hasonló szerepe van, mint a bevezetésnek.
Itt már múltidőben lehet beszélni.
A szerző saját meglátása szerint kell összegezni és értékelni a dolgozat fontosabb eredményeit.
Meg lehet benne említeni, hogy mi az ami jobban, mi az ami kevésbé jobban sikerült a tervezettnél.
El lehet benne mondani, hogy milyen további tervek, fejlesztési lehetőségek vannak még a témával kapcsolatban.
cover/cimlap.tex · 672 B
\begin{titlepage}
\centering
% A Miskolci Egyetem címere
\vspace*{2cm}
\huge\textsc{\textbf{Szakdolgozat}}\\[1cm]
%\vspace*{1cm}
\includegraphics[width=4.8cm, height=4cm,keepaspectratio]{images/me_logo.png}\\
\textbf{\textsc{Miskolci Egyetem}}
\vspace*{2cm}
% A szakdolgozat címe, akár több sorban is
{\LARGE\textbf{Az én szakdolgozatom}}
\vspace*{2cm}
% A hallgató neve, évfolyam, szak(ok), a konzulens(ek) neve
\large
\textbf{Készítette:}\\[0.8ex]
Szakdolgozó Neve\\[0.8ex]
Programtervező informatikus
\vspace*{0.5cm}
\textbf{Témavezető:}\\[0.8ex]
Témavezető neve
\vfill
% Keltezés: Hely, év
\large
\textbf{\textsc{Miskolc, 2020}}
\end{titlepage}cover/feladatkiiras.tex · 5 KB
%Feladatkiiras
\noindent
\textsc{\textbf{Miskolci Egyetem}}\\
Gépészmérnöki és Informatikai Kar\\
Alkalmazott Matematikai Intézeti Tanszék\hspace*{4cm}\hfil \textbf{Szám:}
\vspace{0.5cm}
\begin{center}
\large\textsc{\textbf{Szakdolgozat Feladat}}
\end{center}
\vspace{0.5cm}
Szakdolgozó Neve (N3P7UN) programtervező informatikus jelölt részére.
\bigskip
\noindent\textbf{A szakdolgozat tárgyköre:} kulcsszavak, hasonlók
\bigskip
\noindent\textbf{A szakdolgozat címe:} A dolgozat címe
\bigskip
\noindent\textbf{A feladat részletezése:}
\medskip
\emph{Ide kell a feladatkiírásban szereplő szöveget betenni.}
\medskip
\emph{(Kisebb tagolás lehet benne, hogy jól nézzen ki.)}
\vfill
\noindent\textbf{Témavezető:} Témavezető neve (beosztása)
% \noindent\textbf{Konzulens(ek):} (akkor kötelezõ, ha a témavezetõ nem valamelyik matematikai tanszékrõl való; de persze lehet egyébként is)\newline
\bigskip
\noindent\textbf{A feladat kiadásának ideje:}
%\noindent\textbf{A feladat beadásának határideje:}
\vspace{1.5cm}
\hfill\makebox[6cm]{\dotfill}
\hfill\makebox[6cm]{szakfelelős}
\clearpage
\vspace*{1cm}
\begin{center}
\large\textsc{\textbf{Eredetiségi Nyilatkozat}}
\end{center}
\vspace*{2cm}
Alulírott \textbf{Szakdolgozó Neve}; Neptun-kód: \texttt{N3P7UN} a Miskolci Egyetem Gépészmérnöki és Informatikai Karának végzős Programtervező informatikus szakos hallgatója ezennel büntetőjogi és fegyelmi felelősségem tudatában nyilatkozom és aláírásommal igazolom, hogy \textit{Szakdolgozat Címe}
című szakdolgozatom saját, önálló munkám; az abban hivatkozott szakirodalom
felhasználása a forráskezelés szabályai szerint történt.
\medskip
Tudomásul veszem, hogy szakdolgozat esetén plágiumnak számít:
\begin{itemize}
\item szószerinti idézet közlése idézőjel és hivatkozás megjelölése nélkül;
\item tartalmi idézet hivatkozás megjelölése nélkül;
\item más publikált gondolatainak saját gondolatként való feltüntetése.
\end{itemize}
Alulírott kijelentem, hogy a plágium fogalmát megismertem, és tudomásul veszem, hogy
plágium esetén szakdolgozatom visszautasításra kerül.
\vspace*{3cm}
\noindent Miskolc, \makebox[2cm]{\dotfill}. év \makebox[2cm]{\dotfill}. hó \makebox[2cm]{\dotfill}. nap
\vspace*{3cm}
\hfill\makebox[6cm]{\dotfill}
\hfill\makebox[6cm]{Hallgató}
\clearpage
\newcommand{\ki}{témavezető(k)}
\newsavebox{\alairas}
\begin{lrbox}{\alairas}
\begin{tabular}{c@{\hspace{2cm}}c}
\makebox[4cm]{\dotfill} & \makebox[5cm]{\dotfill} \\
dátum & \ki \\
\end{tabular}
\end{lrbox}
\newcommand{\dotline}{\makebox[5cm]{\dotfill}}
\newcommand{\shortdotline}{\makebox[3.5cm]{\dotfill}}
\noindent 1.
\begin{tabular}[t]{cl}
\multirow{2}{*}{A szakdolgozat feladat módosítása}
&szükséges (módosítás külön lapon) \\
& nem szükséges\\[1ex]
\end{tabular}
\begin{center}
\usebox{\alairas}
\end{center}
\smallskip
\noindent 2. A feladat kidolgozását ellenőriztem:
\begin{center}
\begin{tabular}{c@{\hspace*{2cm}}c}
témavezető (dátum, aláírás): & konzulens (dátum, aláírás):\\
\dotline & \dotline \\
\dotline & \dotline \\
\dotline & \dotline
\end{tabular}
\end{center}
\smallskip
\noindent 3. A szakdolgozat beadható:
\begin{center}
\usebox{\alairas}
\end{center}
\noindent 4.
\begin{tabular}[t]{@{}l@{\hspace*{1mm}}l@{\hspace*{1mm}}l}
A szakdolgozat & \shortdotline & szövegoldalt\\
& \shortdotline & program protokollt (listát, felhasználói leírást)\\
& \shortdotline & elektronikus adathordozót (részletezve)\\
& \shortdotline \\
& \shortdotline & egyéb mellékletet (részletezve)\\
& \shortdotline
\end{tabular}
\newline tartalmaz.
\begin{center}
\usebox{\alairas}
\end{center}
\noindent 5.
\begin{tabular}[t]{ll}
\multirow{2}{*}{A szakdolgozat bírálatra} & bocsátható\\
& nem bocsátható\\
\end{tabular}
\smallskip
\noindent A bíráló neve: \makebox[8cm]{\dotfill}
\renewcommand{\ki}{szakfelelős}
\begin{center}
\begin{tabular}{c@{\hspace{2cm}}c}
\makebox[4cm]{\dotfill} & \makebox[5cm]{\dotfill} \\
dátum & \ki \\
\end{tabular}
\end{center}
\noindent 6.
\begin{tabular}[t]{lll}
A szakdolgozat osztályzata \\
& a témavezető javaslata: & \makebox[2.5cm]{\dotfill} \\
& a bíráló javaslata: & \makebox[2.5cm]{\dotfill} \\
& a szakdolgozat végleges eredménye: & \makebox[2.5cm]{\dotfill}
\end{tabular}
\bigskip\bigskip
\noindent Miskolc, \makebox[4cm]{\dotfill} \hfill \makebox[8cm]{\dotfill}
\hfill \makebox[8cm]{a Záróvizsga Bizottság Elnöke}
cover/hasznalati.tex · 932 B
\pagestyle{empty}
\section*{CD Használati útmutató}
Ennek a címe lehet például \textit{A mellékelt CD tartalma} vagy \textit{Adathordozó használati útmutató} is.
Ez jellemzően csak egy fél-egy oldalas leírás.
Arra szolgál, hogy ha valaki kézhez kapja a szakdolgozathoz tartozó CD-t, akkor tudja, hogy mi hol van rajta.
Jellemzően elég csak felsorolni, hogy milyen jegyzékek vannak, és azokban mi található.
Az elkészített programok telepítéséhez, futtatásához tartozó instrukciók kerülhetnek ide.
A CD lemezre mindenképpen rá kell tenni
\begin{itemize}
\item a dolgozatot egy \texttt{dolgozat.pdf} fájl formájában,
\item a LaTeX forráskódját a dolgozatnak,
\item az elkészített programot, fontosabb futási eredményeket (például ha kép a kimenet),
\item egy útmutatót a CD használatához (ami lehet ez a fejezet külön PDF-be vagy MarkDown fájlként kimentve).
\end{itemize}
dolgozat.bib · 290 B
@article{coombs1987markup,
title={Markup systems and the future of scholarly text processing},
author={Coombs, James H and Renear, Allen H and DeRose, Steven J},
journal={Communications of the ACM},
volume={30},
number={11},
pages={933--947},
year={1987},
publisher={ACM}
}
dolgozat.tex — the file that is compiled · 1 KB
\documentclass[12pt,a4paper]{report}
%\includeonly{cover/cimlap, chapters/1_introduction}
\usepackage{styles/dolgozat}
% programkód beillesztéséhez
\usepackage{listings}
% listing float neve
\renewcommand{\lstlistingname}{Programkód}
%\renewcommand{\lstlistlistingname}{Programkódok listája}
%saját listings style-ok, és a style-t használó parancsok definíciói
\usepackage{styles/cpp}
\usepackage{styles/python}
%\usepackage{styles/java}
%\usepackage{styles/rust}
%% egyéb csomagok betöltése itt, vagy a dolgozat.sty fájlban
\usepackage{hyperref}
% cleveref csomag és beállításai -- az egyetlen, amit a hyperref után kell betölteni!
\usepackage{styles/refs}
\begin{document}
\pagestyle{empty}
\pagenumbering{gobble}
\include{cover/cimlap}
\include{cover/feladatkiiras}
\tableofcontents
\clearpage
\pagenumbering{arabic}
\pagestyle{fancy}
\include{chapters/1_introduction}
\include{chapters/2_concept}
\include{chapters/3_design}
\include{chapters/4_implementation}
\include{chapters/5_test}
\include{chapters/6_summary}
%biblatex verzió
%a bibintoc heading stílussal megjelenik a tartalomjegyzékben, title-lel a megjelenő címsor szövege módosítható
\printbibliography[heading=bibintoc,%
title=Források]
%sima bibtex verzió
%\bibliographystyle{plain}
%\bibliography{dolgozat.bib}
\include{cover/hasznalati}
\end{document}
images/me_logo.png — binary, 174 KB
styles/cpp.sty · 1 KB
% Default fixed font does not support bold face
\DeclareFixedFont{\ttb}{T1}{txtt}{bx}{n}{10} % for bold
\DeclareFixedFont{\ttm}{T1}{txtt}{m}{n}{10} % for normal
\usepackage{listings}
% Custom colors
\usepackage{color}
\definecolor{deepblue}{rgb}{0,0,0.5}
\definecolor{deepred}{rgb}{0.6,0,0}
\definecolor{deepgreen}{rgb}{0,0.5,0}
\definecolor{codebg}{rgb}{0.95,0.95,0.95}
\definecolor{framecolor}{rgb}{0.85,0.85,0.85}
% C++ style for highlighting
\newcommand\cppstyle{\lstset{
language=c++,
basicstyle=\ttm,
backgroundcolor=\color{codebg},
otherkeywords={self}, % Add keywords here
keywordstyle=\ttb\color{deepblue},
emphstyle=\ttb\color{deepred}, % Custom highlighting style
stringstyle=\color{deepgreen},
frame=single, % Any extra options here
frameround=tttt,
showstringspaces=false, %
% numbers=left,
% numberstyle=\color{gray},
framesep=6pt,
rulecolor=\color{framecolor},
numbersep=16pt
}}
% C++ environment
\lstnewenvironment{cpp}[1][]
{
\cppstyle
\lstset{#1}
}
{}
% C++ for external files
\newcommand\cppexternal[2][]{{
\cppstyle
\lstinputlisting[#1]{#2}}}
% C++ for inline
\newcommand\cppinline[1]{{\pythonstyle\lstinline!#1!}}
styles/dolgozat.sty · 2 KB
%A szükséges csomagok
%magyar nyelv
\usepackage[magyar]{babel}
\usepackage[T1]{fontenc}
%ekvivalens: \usepackage{t1enc}
\usepackage[utf8]{inputenc}
\frenchspacing
%méretek: margó, lap, fej~ és lábléc stb. NE MÓDOSÍTSUK!
\usepackage[a4paper,headheight=15.2pt,headsep=7.1mm,%
margin=25mm,bindingoffset=5mm]{geometry}
%A túlcsordulási hibák jelzése a nyomtatási képben vastag, telített téglalappal
\overfullrule=10pt
%fejléc és lábléc
\usepackage{fancyhdr}
\fancyhf{}
\fancyfoot[R]{\thepage}
\fancyhead[C]{\slshape\nouppercase\rightmark}
\fancypagestyle{plain}{\fancyhf{}\fancyfoot[R]{\thepage}\renewcommand{\headrulewidth}{0pt}}
%matematika
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{mathtools}
%\usepackage{mathrsfs} %\mathcal parancshoz
%saját tételszerû környezetek
\usepackage{amsthm}
\theoremstyle{plain}
\newtheorem{theorem}{tétel}[chapter]
\newtheorem{lemma}[theorem]{lemma}
\newtheorem{corollary}[theorem]{következmény}
\theoremstyle{definition}
\newtheorem{definition}[theorem]{definíció}\newtheorem{remark}[theorem]{megjegyzés}
\newtheorem{example}[theorem]{példa}
%táblázatok
\usepackage{array,multirow}
\renewcommand{\arraystretch}{1.3} %default: 1 Sorok közötti távolság nagyítása
\setlength{\arrayrulewidth}{0.6pt} %default: 0.6pt A vonalak vastagsága
%színek
\usepackage[table]{xcolor}
%ábrák
\usepackage{graphicx}
%\usepackage{tikz}
%szükség esetén TikZ könytárak:
%\usetikzlibrary{}
%úszó objektumok
\usepackage{float}
%ábrák felirata alul
\floatstyle{plain}
\restylefloat{figure}
%táblázat felirata felül
\floatstyle{plaintop}
\restylefloat{table}
%pszeudokód írásához
%\usepackage{algpseudocode}
%\usepackage{algorithm}
%\floatname{algorithm}{Algoritmus}
%\renewcommand{\listalgorithname}{Algoritmusok listája}
%listák testreszabása
%\usepackage{enumitem}
%vezérlési szerkezetek
\usepackage{ifthen}
%\usepackage{pgffor} %\foreach parancshoz
%biblatex
% biber-ös fordítás esetén írjuk át a backend-et
\usepackage[style=numeric,%
backend=bibtex,sorting=nyt]{biblatex}
\addbibresource{dolgozat.bib}
\usepackage{csquotes}
%irodalomjegyzék bevétele a tartalomjegyzékbe, biblatex nélkül:
%\usepackage[nottoc]{tocbibind}
styles/java.sty · 1 KB
% Default fixed font does not support bold face
%\DeclareFixedFont{\ttb}{T1}{txtt}{bx}{n}{10} % for bold
%\DeclareFixedFont{\ttm}{T1}{txtt}{m}{n}{10} % for normal
\usepackage{listings}
% Custom colors
\usepackage{color}
\definecolor{deepblue}{rgb}{0,0,0.5}
\definecolor{deepred}{rgb}{0.6,0,0}
\definecolor{deepgreen}{rgb}{0,0.5,0}
\definecolor{codebg}{rgb}{0.95,0.95,0.95}
\definecolor{framecolor}{rgb}{0.85,0.85,0.85}
% Java style for highlighting
\newcommand\javastyle{\lstset{
language=java,
%basicstyle=\ttm,
backgroundcolor=\color{codebg},
otherkeywords={self}, % Add keywords here
keywordstyle=\color{deepblue},
emphstyle=\color{deepred}, % Custom highlighting style
stringstyle=\color{deepgreen},
frame=single, % Any extra options here
frameround=tttt,
showstringspaces=false, %
% numbers=left,
% numberstyle=\color{gray},
framesep=6pt,
rulecolor=\color{framecolor},
numbersep=16pt
}}
% Java environment
\lstnewenvironment{java}[1][]
{
\javastyle
\lstset{#1}
}
{}
% Java for external files
\newcommand\javaexternal[2][]{{
\javastyle
\lstinputlisting[#1]{#2}}}
% Java for inline
\newcommand\javainline[1]{{\pythonstyle\lstinline!#1!}}
styles/python.sty · 1 KB
% Default fixed font does not support bold face
\DeclareFixedFont{\ttb}{T1}{txtt}{bx}{n}{10} % for bold
\DeclareFixedFont{\ttm}{T1}{txtt}{m}{n}{10} % for normal
\RequirePackage{listings}
% Custom colors
\RequirePackage{xcolor}
\definecolor{deepblue}{rgb}{0,0,0.5}
\definecolor{deepred}{rgb}{0.6,0,0}
\definecolor{deepgreen}{rgb}{0,0.5,0}
\definecolor{codebg}{rgb}{0.95,0.95,0.95}
\definecolor{framecolor}{rgb}{0.85,0.85,0.85}
% Python style for highlighting
\newcommand\pythonstyle{\lstset{
language=Python,
basicstyle=\ttm,
backgroundcolor=\color{codebg},
otherkeywords={self}, % Add keywords here
keywordstyle=\ttb\color{deepblue},
emphstyle=\ttb\color{deepred}, % Custom highlighting style
stringstyle=\color{deepgreen},
frame=single, % Any extra options here
frameround=tttt,
showstringspaces=false, %
% numbers=left,
% numberstyle=\color{gray},
framesep=6pt,
rulecolor=\color{framecolor},
numbersep=16pt
}}
% Python environment
\lstnewenvironment{python}[1][]
{
\pythonstyle
\lstset{#1}
}
{}
% Python for external files
\newcommand\pythonexternal[2][]{{
\pythonstyle
\lstinputlisting[#1]{#2}}}
% Python for inline
\newcommand\pythoninline[1]{{\pythonstyle\lstinline!#1!}}
styles/refs.sty · 1 KB
%%hivatkozások beállítása, ``automatizálása''
% a tényleges munkát végző csomag
\usepackage{cleveref}
%% magyar formátumú hivatkozások: a/az névelő + sorszám + pont + szóköz + hivatkozott objektum típusa
% kis ill. nagy betűs verzió
\newcommand{\mref}[1]{\aref{#1}.\ \namecref{#1}}
\newcommand{\Mref}[1]{\Aref{#1}.\ \namecref{#1}}
% magyar oldalhivatkozás, kis-és nagybetűs verzió, ill. alias
\newcommand{\mpref}[1]{\apageref{#1}. oldal}
\newcommand{\Mpref}[1]{\Apageref{#1}. oldal}
\let\mpageref\mpref
\let\Mpageref\Mpref
% típusok magyar nevének beállítása
\crefname{part}{rész}{részek}
\crefname{chapter}{fejezet}{fejezetek}
\crefname{section}{szakasz}{szakaszok}
\crefname{subsection}{alszakasz}{alszakaszok}
%\crefname{subsubsection}{al-alszakasz}{al-alszakaszok}
%\crefname{paragraph}{paragrafus}{paragrafusok}
%\crefname{subparagraph}{al-paragrafus}{al-paragrafusok}
\crefname{figure}{ábra}{ábrák}
\crefname{table}{táblázat}{táblázatok}
\crefname{theorem}{tétel}{tételek}
\crefname{definition}{definíció}{definíciók}
\crefname{lemma}{lemma}{lemmák}
\crefname{corollary}{következmény}{következmények}
\crefname{remark}{megjegyzés}{megjegyzések}
\crefname{example}{példa}{példák}
\crefname{listing}{programkód}{programkódok}
%\crefname{algorithm}{algoritmus}{algoritmusok}
% ha saját floatot vagy tételkörnyezetet definiálunk, állítsuk be a nevét!
% \crefname{típus}{egyes szám}{többes szám}styles/rust.sty · 12 KB
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{rust}[2018/01/23 Custom Package]
\RequirePackage{color}
\RequirePackage{listings}
\lstdefinelanguage{Rust}{%
sensitive%
, morecomment=[l]{//}%
, morecomment=[s]{/*}{*/}%
, moredelim=[s][{\itshape\color[rgb]{0,0,0.75}}]{\#[}{]}%
, morestring=[b]{"}%
, alsodigit={}%
, alsoother={}%
, alsoletter={!}%
%
%
% [1] reserve keywords
% [2] traits
% [3] primitive types
% [4] type and value constructors
% [5] identifier
%
, morekeywords={break, continue, else, for, if, in, loop, match, return, while} % control flow keywords
, morekeywords={as, const, let, move, mut, ref, static} % in the context of variables
, morekeywords={dyn, enum, fn, impl, Self, self, struct, trait, type, union, use, where} % in the context of declarations
, morekeywords={crate, extern, mod, pub, super} % in the context of modularisation
, morekeywords={unsafe} % markers
, morekeywords={abstract, alignof, become, box, do, final, macro, offsetof, override, priv, proc, pure, sizeof, typeof, unsized, virtual, yield} % reserved identifiers
%
% grep 'pub trait [A-Za-z][A-Za-z0-9]*' -r . | sed 's/^.*pub trait \([A-Za-z][A-Za-z0-9]*\).*/\1/g' | sort -u | tr '\n' ',' | sed 's/^\(.*\),$/{\1}\n/g' | sed 's/,/, /g'
, morekeywords=[2]{Add, AddAssign, Any, AsciiExt, AsInner, AsInnerMut, AsMut, AsRawFd, AsRawHandle, AsRawSocket, AsRef, Binary, BitAnd, BitAndAssign, Bitor, BitOr, BitOrAssign, BitXor, BitXorAssign, Borrow, BorrowMut, Boxed, BoxPlace, BufRead, BuildHasher, CastInto, CharExt, Clone, CoerceUnsized, CommandExt, Copy, Debug, DecodableFloat, Default, Deref, DerefMut, DirBuilderExt, DirEntryExt, Display, Div, DivAssign, DoubleEndedIterator, DoubleEndedSearcher, Drop, EnvKey, Eq, Error, ExactSizeIterator, ExitStatusExt, Extend, FileExt, FileTypeExt, Float, Fn, FnBox, FnMut, FnOnce, Freeze, From, FromInner, FromIterator, FromRawFd, FromRawHandle, FromRawSocket, FromStr, FullOps, FusedIterator, Generator, Hash, Hasher, Index, IndexMut, InPlace, Int, Into, IntoCow, IntoInner, IntoIterator, IntoRawFd, IntoRawHandle, IntoRawSocket, IsMinusOne, IsZero, Iterator, JoinHandleExt, LargeInt, LowerExp, LowerHex, MetadataExt, Mul, MulAssign, Neg, Not, Octal, OpenOptionsExt, Ord, OsStrExt, OsStringExt, Packet, PartialEq, PartialOrd, Pattern, PermissionsExt, Place, Placer, Pointer, Product, Put, RangeArgument, RawFloat, Read, Rem, RemAssign, Seek, Shl, ShlAssign, Shr, ShrAssign, Sized, SliceConcatExt, SliceExt, SliceIndex, Stats, Step, StrExt, Sub, SubAssign, Sum, Sync, TDynBenchFn, Terminal, Termination, ToOwned, ToSocketAddrs, ToString, Try, TryFrom, TryInto, UnicodeStr, Unsize, UpperExp, UpperHex, WideInt, Write}
, morekeywords=[2]{Send} % additional traits
%
, morekeywords=[3]{bool, char, f32, f64, i8, i16, i32, i64, isize, str, u8, u16, u32, u64, unit, usize, i128, u128} % primitive types
%
, morekeywords=[4]{Err, false, None, Ok, Some, true} % prelude value constructors
% grep 'pub \(type\|struct\|enum\) [A-Za-z][A-Za-z0-9]*' -r . | sed 's/^.*pub \(type\|struct\|enum\) \([A-Za-z][A-Za-z0-9]*\).*/\2/g' | sort -u | tr '\n' ',' | sed 's/^\(.*\),$/{\1}\n/g' | sed 's/,/, /g'
, morekeywords=[3]{AccessError, Adddf3, AddI128, AddoI128, AddoU128, ADDRESS, ADDRESS64, addrinfo, ADDRINFOA, AddrParseError, Addsf3, AddU128, advice, aiocb, Alignment, AllocErr, AnonPipe, Answer, Arc, Args, ArgsInnerDebug, ArgsOs, Argument, Arguments, ArgumentV1, Ashldi3, Ashlti3, Ashrdi3, Ashrti3, AssertParamIsClone, AssertParamIsCopy, AssertParamIsEq, AssertUnwindSafe, AtomicBool, AtomicPtr, Attr, auxtype, auxv, BackPlace, BacktraceContext, Barrier, BarrierWaitResult, Bencher, BenchMode, BenchSamples, BinaryHeap, BinaryHeapPlace, blkcnt, blkcnt64, blksize, BOOL, boolean, BOOLEAN, BoolTrie, BorrowError, BorrowMutError, Bound, Box, bpf, BTreeMap, BTreeSet, Bucket, BucketState, Buf, BufReader, BufWriter, Builder, BuildHasherDefault, BY, BYTE, Bytes, CannotReallocInPlace, cc, Cell, Chain, CHAR, CharIndices, CharPredicateSearcher, Chars, CharSearcher, CharsError, CharSliceSearcher, CharTryFromError, Child, ChildPipes, ChildStderr, ChildStdin, ChildStdio, ChildStdout, Chunks, ChunksMut, ciovec, clock, clockid, Cloned, cmsgcred, cmsghdr, CodePoint, Color, ColorConfig, Command, CommandEnv, Component, Components, CONDITION, condvar, Condvar, CONSOLE, CONTEXT, Count, Cow, cpu, CRITICAL, CStr, CString, CStringArray, Cursor, Cycle, CycleIter, daddr, DebugList, DebugMap, DebugSet, DebugStruct, DebugTuple, Decimal, Decoded, DecodeUtf16, DecodeUtf16Error, DecodeUtf8, DefaultEnvKey, DefaultHasher, dev, device, Difference, Digit32, DIR, DirBuilder, dircookie, dirent, dirent64, DirEntry, Discriminant, DISPATCHER, Display, Divdf3, Divdi3, Divmoddi4, Divmodsi4, Divsf3, Divsi3, Divti3, dl, Dl, Dlmalloc, Dns, DnsAnswer, DnsQuery, dqblk, Drain, DrainFilter, Dtor, Duration, DwarfReader, DWORD, DWORDLONG, DynamicLibrary, Edge, EHAction, EHContext, Elf32, Elf64, Empty, EmptyBucket, EncodeUtf16, EncodeWide, Entry, EntryPlace, Enumerate, Env, epoll, errno, Error, ErrorKind, EscapeDebug, EscapeDefault, EscapeUnicode, event, Event, eventrwflags, eventtype, ExactChunks, ExactChunksMut, EXCEPTION, Excess, ExchangeHeapSingleton, exit, exitcode, ExitStatus, Failure, fd, fdflags, fdsflags, fdstat, ff, fflags, File, FILE, FileAttr, filedelta, FileDesc, FilePermissions, filesize, filestat, FILETIME, filetype, FileType, Filter, FilterMap, Fixdfdi, Fixdfsi, Fixdfti, Fixsfdi, Fixsfsi, Fixsfti, Fixunsdfdi, Fixunsdfsi, Fixunsdfti, Fixunssfdi, Fixunssfsi, Fixunssfti, Flag, FlatMap, Floatdidf, FLOATING, Floatsidf, Floatsisf, Floattidf, Floattisf, Floatundidf, Floatunsidf, Floatunsisf, Floatuntidf, Floatuntisf, flock, ForceResult, FormatSpec, Formatted, Formatter, Fp, FpCategory, fpos, fpos64, fpreg, fpregset, FPUControlWord, Frame, FromBytesWithNulError, FromUtf16Error, FromUtf8Error, FrontPlace, fsblkcnt, fsfilcnt, fsflags, fsid, fstore, fsword, FullBucket, FullBucketMut, FullDecoded, Fuse, GapThenFull, GeneratorState, gid, glob, glob64, GlobalDlmalloc, greg, group, GROUP, Guard, GUID, Handle, HANDLE, Handler, HashMap, HashSet, Heap, HINSTANCE, HMODULE, hostent, HRESULT, id, idtype, if, ifaddrs, IMAGEHLP, Immut, in, in6, Incoming, Infallible, Initializer, ino, ino64, inode, input, InsertResult, Inspect, Instant, int16, int32, int64, int8, integer, IntermediateBox, Internal, Intersection, intmax, IntoInnerError, IntoIter, IntoStringError, intptr, InvalidSequence, iovec, ip, IpAddr, ipc, Ipv4Addr, ipv6, Ipv6Addr, Ipv6MulticastScope, Iter, IterMut, itimerspec, itimerval, jail, JoinHandle, JoinPathsError, KDHELP64, kevent, kevent64, key, Key, Keys, KV, l4, LARGE, lastlog, launchpad, Layout, Lazy, lconv, Leaf, LeafOrInternal, Lines, LinesAny, LineWriter, linger, linkcount, LinkedList, load, locale, LocalKey, LocalKeyState, Location, lock, LockResult, loff, LONG, lookup, lookupflags, LookupHost, LPBOOL, LPBY, LPBYTE, LPCSTR, LPCVOID, LPCWSTR, LPDWORD, LPFILETIME, LPHANDLE, LPOVERLAPPED, LPPROCESS, LPPROGRESS, LPSECURITY, LPSTARTUPINFO, LPSTR, LPVOID, LPWCH, LPWIN32, LPWSADATA, LPWSAPROTOCOL, LPWSTR, Lshrdi3, Lshrti3, lwpid, M128A, mach, major, Map, mcontext, Metadata, Metric, MetricMap, mflags, minor, mmsghdr, Moddi3, mode, Modsi3, Modti3, MonitorMsg, MOUNT, mprot, mq, mqd, msflags, msghdr, msginfo, msglen, msgqnum, msqid, Muldf3, Mulodi4, Mulosi4, Muloti4, Mulsf3, Multi3, Mut, Mutex, MutexGuard, MyCollection, n16, NamePadding, NativeLibBoilerplate, nfds, nl, nlink, NodeRef, NoneError, NonNull, NonZero, nthreads, NulError, OccupiedEntry, off, off64, oflags, Once, OnceState, OpenOptions, Option, Options, OptRes, Ordering, OsStr, OsString, Output, OVERLAPPED, Owned, Packet, PanicInfo, Param, ParseBoolError, ParseCharError, ParseError, ParseFloatError, ParseIntError, ParseResult, Part, passwd, Path, PathBuf, PCONDITION, PCONSOLE, Peekable, PeekMut, Permissions, PhantomData, pid, Pipes, PlaceBack, PlaceFront, PLARGE, PoisonError, pollfd, PopResult, port, Position, Powidf2, Powisf2, Prefix, PrefixComponent, PrintFormat, proc, Process, PROCESS, processentry, protoent, PSRWLOCK, pthread, ptr, ptrdiff, PVECTORED, Queue, radvisory, RandomState, Range, RangeFrom, RangeFull, RangeInclusive, RangeMut, RangeTo, RangeToInclusive, RawBucket, RawFd, RawHandle, RawPthread, RawSocket, RawTable, RawVec, Rc, ReadDir, Receiver, recv, RecvError, RecvTimeoutError, ReentrantMutex, ReentrantMutexGuard, Ref, RefCell, RefMut, REPARSE, Repeat, Result, Rev, Reverse, riflags, rights, rlim, rlim64, rlimit, rlimit64, roflags, Root, RSplit, RSplitMut, RSplitN, RSplitNMut, RUNTIME, rusage, RwLock, RWLock, RwLockReadGuard, RwLockWriteGuard, sa, SafeHash, Scan, sched, scope, sdflags, SearchResult, SearchStep, SECURITY, SeekFrom, segment, Select, SelectionResult, sem, sembuf, send, Sender, SendError, servent, sf, Shared, shmatt, shmid, ShortReader, ShouldPanic, Shutdown, siflags, sigaction, SigAction, sigevent, sighandler, siginfo, Sign, signal, signalfd, SignalToken, sigset, sigval, Sink, SipHasher, SipHasher13, SipHasher24, size, SIZE, Skip, SkipWhile, Slice, SmallBoolTrie, sockaddr, SOCKADDR, sockcred, Socket, SOCKET, SocketAddr, SocketAddrV4, SocketAddrV6, socklen, speed, Splice, Split, SplitMut, SplitN, SplitNMut, SplitPaths, SplitWhitespace, spwd, SRWLOCK, ssize, stack, STACKFRAME64, StartResult, STARTUPINFO, stat, Stat, stat64, statfs, statfs64, StaticKey, statvfs, StatVfs, statvfs64, Stderr, StderrLock, StderrTerminal, Stdin, StdinLock, Stdio, StdioPipes, Stdout, StdoutLock, StdoutTerminal, StepBy, String, StripPrefixError, StrSearcher, subclockflags, Subdf3, SubI128, SuboI128, SuboU128, subrwflags, subscription, Subsf3, SubU128, Summary, suseconds, SYMBOL, SYMBOLIC, SymmetricDifference, SyncSender, sysinfo, System, SystemTime, SystemTimeError, Take, TakeWhile, tcb, tcflag, TcpListener, TcpStream, TempDir, TermInfo, TerminfoTerminal, termios, termios2, TestDesc, TestDescAndFn, TestEvent, TestFn, TestName, TestOpts, TestResult, Thread, threadattr, threadentry, ThreadId, tid, time, time64, timespec, TimeSpec, timestamp, timeval, timeval32, timezone, tm, tms, ToLowercase, ToUppercase, TraitObject, TryFromIntError, TryFromSliceError, TryIter, TryLockError, TryLockResult, TryRecvError, TrySendError, TypeId, U64x2, ucontext, ucred, Udivdi3, Udivmoddi4, Udivmodsi4, Udivmodti4, Udivsi3, Udivti3, UdpSocket, uid, UINT, uint16, uint32, uint64, uint8, uintmax, uintptr, ulflags, ULONG, ULONGLONG, Umoddi3, Umodsi3, Umodti3, UnicodeVersion, Union, Unique, UnixDatagram, UnixListener, UnixStream, Unpacked, UnsafeCell, UNWIND, UpgradeResult, useconds, user, userdata, USHORT, Utf16Encoder, Utf8Error, Utf8Lossy, Utf8LossyChunk, Utf8LossyChunksIter, utimbuf, utmp, utmpx, utsname, uuid, VacantEntry, Values, ValuesMut, VarError, Variables, Vars, VarsOs, Vec, VecDeque, vm, Void, WaitTimeoutResult, WaitToken, wchar, WCHAR, Weak, whence, WIN32, WinConsole, Windows, WindowsEnvKey, winsize, WORD, Wrapping, wrlen, WSADATA, WSAPROTOCOL, WSAPROTOCOLCHAIN, Wtf8, Wtf8Buf, Wtf8CodePoints, xsw, xucred, Zip, zx}
%
, morekeywords=[5]{assert!, assert_eq!, assert_ne!, cfg!, column!, compile_error!, concat!, concat_idents!, debug_assert!, debug_assert_eq!, debug_assert_ne!, env!, eprint!, eprintln!, file!, format!, format_args!, include!, include_bytes!, include_str!, line!, module_path!, option_env!, panic!, print!, println!, select!, stringify!, thread_local!, try!, unimplemented!, unreachable!, vec!, write!, writeln!} % prelude macros
}%
\lstdefinestyle{colouredRust}%
{ basicstyle=\ttfamily%
, identifierstyle=%
, commentstyle=\color[gray]{0.4}%
, stringstyle=\color[rgb]{0, 0, 0.5}%
, keywordstyle=\bfseries% reserved keywords
, keywordstyle=[2]\color[rgb]{0.75, 0, 0}% traits
, keywordstyle=[3]\color[rgb]{0, 0.5, 0}% primitive types
, keywordstyle=[4]\color[rgb]{0, 0.5, 0}% type and value constructors
, keywordstyle=[5]\color[rgb]{0, 0, 0.75}% macros
, columns=spaceflexible%
, keepspaces=true%
, showspaces=false%
, showtabs=false%
, showstringspaces=true%
}%
\lstdefinestyle{boxed}{
style=colouredRust%
, numbers=left%
, firstnumber=auto%
, numberblanklines=true%
, frame=trbL%
, numberstyle=\tiny%
, frame=leftline%
, numbersep=7pt%
, framesep=5pt%
, framerule=10pt%
, xleftmargin=15pt%
, backgroundcolor=\color[gray]{0.97}%
, rulecolor=\color[gray]{0.90}%
}
The first page, as this template compiles today. Click it to enlarge, and again to shrink. Open the file ↗