[[oktatas:szövegszerkesztés:latex|< LaTeX]] ====== LaTeX szakdolgozat ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2019, 2022 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== Bevezetés ===== Rövid leírás, hogyan kezdjünk szakdolgozatot írni LaTeX-ben. Miért írnál LaTeX-ben szakdolgozatot? A LaTeX a szöveg-, bekezdés-, oldalformázási feladatokat megoldja helyetted. Neked csak dolgozatra kell koncentrálnod, és meg kell adnod, hogy mi fejezet cím, szakasz cím stb. Minden mást a LaTeX intéz helyetted. ===== Az alap struktúra kialakítása ===== Ajánlott osztályok: * report * memoir ==== A preambulum ==== \documentclass[12pt]{report} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[magyar]{babel} \usepackage{graphicx} \graphicspath{ {images/} } Jöhet a cím szerző és dátum információ: \title{ {Szakdolgozat cím}\\ {\large Intézmény neve}\\ {\includegraphics{iskola_logo.png}} } \author{Nagy JÁnos} \date{2019-01-02} A \maketitle paranccsal le fogjuk generálni a címoldalt. \begin{document} \maketitle \end{document} ==== Az első lépések ==== \chapter*{Áttekintés} Ide jön az áttekintés... \chapter*{Ajánlás} Ide jön az ajánlás... \chapter*{Nyilatkozat} Nyilatkozat jön ide... \chapter*{Köszönet} Köszönet... \tableofcontents ==== A tartalmi rész ==== Az egyes fejezeteket külön állományba tesszük. Minden fejezet a "fejezetek" nevű könyvtárba kerül. Az input parancsot a gyökér dokumentumban használjuk. Mielőtt használjuk ezt a parancsot, készítsük el a "fejezetek" nevű könyvtárat. \chapter{Bevezetés} \input{fejezetek/bevezetes} \chapter{Második fejezet} \input{fejezetek/fejezet02} \chapter{Harmadik fejezet} \input{fejezetek/fejezet03} \chapter{Negyedik fejezet} \input{fejezetek/fejezet04} \chapter{Befejezés} \input{fejezetek/befejezes} ==== Utolsó lépés ==== \appendix \chapter{Függelék cím} \input{fejezetek/fuggelek} ==== Végül a teljes fődokumentum ==== \documentclass[12pt,twoside]{report} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[magyar]{babel} \usepackage{graphicx} \graphicspath{ {images/} } \title{ {Szakdolgozat cím}\\ {\large Intézmény neve}\\ {\includegraphics{logo.png}} } \author{Nagy János} \date{2019-01-02} \begin{document} \maketitle \chapter*{Áttekintés} Ide jön az áttekintés... \chapter*{Ajánlás} Ide jön az ajánlás... \chapter*{Nyilatkozat} Ide jön a nyilatkozat... \chapter*{Köszönet} Ide jön a köszönet... \tableofcontents \chapter{Bevezetés} \input{fejezetek/bevezetes} \chapter{Második fejezet} \input{fejezetek/fejezet02} \chapter{Harmadik fejezet} \input{fejezetek/fejezet03} \chapter{Negyedik fejezet} \input{fejezetek/fejezet04} \chapter{Befejezés} \input{fejezetek/befejezes} \end{document} ===== A lapok testreszabása ===== A geometry és a fancyhdr csomagokat használjuk a testreszabáshoz. Az első lépés a dokumentumot kétoldalasra állítása, hogy nyomtatáskor mindkét oldalra nyomtassunk. Ehhez adjuk hozzá documentclass parancshoz a twoside kapcsolót: \documentclass[12pt,twoside]{report} ==== A geometry csomag ==== Betöltjük a geometry csomagot, majd szögletes zárójelben, leírjuk a lap elrendezését. Elsőként beállítjuk a papírméretet, amely a4paper lesz. A szöveg szélességét a width kulcsszóval állítjuk, egy egyenlőségjel után milliméterben megadjuk a szélességét. Ezt követően az alsó és felső margót határozzuk meg: \usepackage[a4paper,width=150mm,top=25mm,bottom=25mm]{geometry} Az eredményben megfigyelhető, hogy a belső margók kisebbek lesznek, mint a külső margók. Ez a twoside kapcsolónak köszönhető. Ha ennek ellenére a kötésmargónak szeretnénk kicsit többet, azt a bindingoffset kapcsolóval tehetjük meg: \usepackage[a4paper,width=150mm,top=25mm,bottom=25mm,bindingoffset=6mm]{geometry} ==== A fancyhdr csomag ==== A fancyhdr csomaggal előlábat és élőfejet adunk a dokumentumunknak. Elsőként betöltjük a fancyhdr csomagot, majd beállítjuk oldalstílusnak: \usepackage{fancyhdr} \pagestyle{fancy} Ha megnézzük az eredményt, láthatjuk, hogy minden oldal kapott élőfejet és élőlábat. Az élőfej alapértelmezésként tartalmazza a fejezet- és szakaszcímeket. Egy fejezet kezdő oldalán nem jelenik meg előfej. Ha a szöveg átnyúlik a következő oldalakra, akkor már látni fogjuk az élőfejet. Ha elégedettek vagyunk az eredménnyel, akkor így is hagyhatjuk. Ha szeretnénk testre szabni az élőfejet és az élőlábat, akkor a fancyhdr csomag fancyhead és fancyfoot parancsát fogjuk használni. A kapcsos zárójelben megadjuk a tartalmat, a szögletes zárójelben megmondjuk mi jelenjen meg. A fancyhdr csomag lehetővé teszi a R, L és C betűk használatával a jobb, bal és középső részre való hivatkozást. A páratlan oldalakra az O, a páros oldalakra az E betűvel hivatkozhatunk. \fancyhead{} % először mindent törlünk \fancyhead[RO,LE]{A kívánt cím} % megadjuk mindkét élőfejben páratlan oldalon "A kívánt cím" szöveg legyen, % a páros baloldalon szintén ez a szöveg Egyszerre az élőfej és az élőláb: \fancyhead{} \fancyhead[RO,LE]{A szakdolgozat címe} \fancyfoot{} \fancyfoot[LE,RO]{\thepage} \fancyfoot[LO,RE]{Fejezet \thechapter} \fancyfoot[CO,CE]{Nagy János} A parancsok sorra: * töröljük az egész élőfejet * RO -- páratlan oldalon a "A szakdolgozat címe" szöveg jobboldalon * LE -- páros oldalon a "A szakdolgozat címe" szöveg baloldalon * töröljük az egész élőlábat * LE -- páros oldalon balra az oldalszám * RO -- páratlan oldalon jobbra az oldalszám * LO -- páratlan oldalon balra a "Fejezet " szöveg és a fejezet száma * RE -- páros oldalon jobbra a "Fejezet " szöveg és a fejezet száma * CO,CE -- páratlan és páros oldalon középen a "Nagy János" szöveg Nézzük meg az eredményt. A fejlécek és láblécek vonalvastagsága: \renewcommand{\headrulewidth}{0.5pt} \renewcommand{\footrulewidth}{0.5pt} Így a láblécben is megjelenik egy vonal. ==== Oldalstílus ==== Ha szeretnénk egy oldalon a fejlécet és láblécet eltüntetni: \pagestyle{empty} Ha az oldalszámot meg akarjuk hagyni, csak az élőfej és az élőlábat szeretnénk eltüntetni: \pagestyle{plain} Ügyeljünk arra, hogy ez a következő oldalak stílusát is megváltoztatja. ==== A végül a teljes fődokumentum ==== \documentclass[12pt,twoside]{report} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[magyar]{babel} \usepackage{graphicx} \graphicspath{ {images/} } \usepackage[a4paper,width=150mm,top=25mm,bottom=25mm]{geometry} \usepackage{fancyhdr} \pagestyle{fancy} \fancyhead{} \fancyhead[RO,LE]{A szakdolgozat címe} \fancyfoot{} \fancyfoot[LE,RO]{\thepage} \fancyfoot[LO,RE]{Fejezet \thechapter} \fancyfoot[CO,CE]{Nagy János} \renewcommand{\headrulewidth}{0.4pt} \renewcommand{\footrulewidth}{0.4pt} \title{ {Szakdolgozat cím}\\ {\large Intézmény neve}\\ {\includegraphics{logo.png}} } \author{Nagy János} \date{2019-01-02} \usepackage{lipsum} \begin{document} \maketitle \chapter*{Áttekintés} Ide jön az áttekintés... \chapter*{Ajánlás} Ide jön az ajánlás... \chapter*{Nyilatkozat} Ide jön a nyilatkozat... \chapter*{Köszönet} Ide jön a köszönet... \tableofcontents \chapter{Bevezetés} \input{fejezetek/bevezetes} \chapter{Második fejezet} \input{fejezetek/fejezet02} \chapter{Harmadik fejezet} \input{fejezetek/fejezet03} \chapter{Negyedik fejezet} \input{fejezetek/fejezet04} \chapter{Befejezés} \input{fejezetek/befejezes} \end{document} ===== Ábrák, alábrák és táblázatok ===== ==== Kép ==== A képet abba a könyvtárba kell elhelyezni, amit megadunk a **\graphicspath** paranccsal. \usepackage{graphicx} \graphicspath{ {images/} } \begin{figure}[h] \centering \includegraphics[scale=0.5]{kepfajl} \caption{Példa kép} \label{fig:példakép01} \end{figure} A **\caption** parancs feliratot szúr be a kép számára. A **\label** egy hivatkozás célját készíti el. Egy **\ref** vagy egy **\pageref** hivatkozásban hivatkozhatunk a \label parancsban megadott szövegre. A felirat és az ábrajegyzékbe beírt szöveg eltérhet: \caption{jegyzékbe kerülő cím}{cím} Táblázatok jegyzéke: \listoftables Ábrák jegyzéke: \listoffigures ===== Bibliográfia ===== Lásd \cite{Programozás} és \cite[29.~oldal]{Adatbázis} ... \begin{thebibliography}{2} \bibitem{Programozás} Nagy János, Piros Géza: Bevezetés a programozásba, Budapest, 1995, Patent Kiadó. \bibitem{Adatbázis} Táncos Mihály, Fronter Attila: Adatbázis-fejlesztés, Budapest, 2009, Pátra Könyvkiadó. \end{thebibliography} ===== Címoldal ===== A címoldalt kicsit átalakíthatjuk. Külön állományba írhatjuk a leírását, például egy cimlap.tex fájlba. A fődokumentumban a maketitle parancsot cseréljük le egy input parancsra, amellyel beemeljük az új címlapot. %\maketitle \input{fejezetek/cimlap} \begin{titlepage} \begin{center} \vspace*{1cm} \textbf{Szakdolgozat címe} \vspace{0.5cm} Szakdolgozat alcíme \vspace{1.5cm} \textbf{Nagy János} \vfill Diplomamunka \vspace{0.8cm} \includegraphics[width=0.2\textwidth]{logo} Szakma neve\\ Iskola neve\\ Ország\\ Dátum \end{center} \end{titlepage} Megváltoztathatjuk a fontméreteket is: \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \Huge \begin{titlepage} \begin{center} \vspace*{1cm} \Huge \textbf{Szakdolgozat címe} \vspace{0.5cm} \LARGE Szakdolgozat alcíme \vspace{1.5cm} \textbf{Nagy János} \vfill Diplomamunka \vspace{0.8cm} \includegraphics[width=0.2\textwidth]{logo} \Large Szakma neve\\ Iskola neve\\ Ország\\ Dátum \end{center} \end{titlepage} ===== Összefoglaló ===== \newpage \thispagestyle{plain} \begin{center} \Large \textbf{A szakdolgozat címe} \vspace{0.4cm} \large A szakdolgozat alcíme \vspace{0.4cm} \textbf{Nagy János} \vspace{0.9cm} \textbf{Összefoglalás} \end{center} Lorem ipsum dolor set amet ... ===== Eredmény ===== ==== PDF ==== ==== Forrás ==== ===== Függelék ===== ==== Egyszerűsített példa ==== \documentclass[a4paper]{report} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[magyar]{babel} \usepackage{graphicx} \graphicspath{ {images/} } \author{Nagy János} \title{Hogyan írjuk jól formázott szakdolgozatot} \begin{document} \maketitle \tableofcontents \chapter{A használt nyelv bemutatása} \section{Programozási nyelvek} A programozási nyelvek... \chapter{A program bemutatása} \section{Hasonló programok} Hasonló programokat találunk számtalant... \end{document} ===== Források ===== * [[https://www.overleaf.com/learn/latex/How_to_Write_a_Thesis_in_LaTeX_(Part_1):_Basic_Structure]] * http://kb.mit.edu/confluence/pages/viewpage.action?pageId=3907016