[[oktatas:szövegszerkesztés:latex|< LaTeX]] ====== LaTeX ====== * **Szerző:** Sallai András * Copyright (c) 20128, Sallai András * Szerkesztve: 2018, 2019, 2022, 2023 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== A LaTeX-ről ===== Nyomdai minőségű dokumentumok formázására kitalált rendszer. Alkalmas tudományos és matematikai munkák, cikkek, könyvek, szakdolgozatok létrehozására. ===== Kezdés ===== \documentclass{minimal} \begin{document} Lorem ipsum dolor est amet \end{document} Minden dokumentum két részből áll: * preambulum * tartalom A LaTeX dokumentumok kiterjesztése ".tex". Egy .tex fájlba parancsokat írunk, amit mindig egy "\" karakterrel vezetünk be. Parancsokkal írjuk le a dokumentum szerkezetét. A preambulum minimális utasítása a documentclass. Minden dokumentumot ezzel kell kezdeni, ezzel adjuk meg a dokumentum osztályát. Esetünkben a dokumentum osztálya "minimal": \documentclass{minimal} A dokumentum tartalmi részét a begin és end parancsok közzé kell tenni: \begin{document} ide jön tartalom \end{document} A dokumentumosztályok: * minimal * article * report * book * beamer * letter * amsbook ===== Megjegyzés ===== Megjegyzéseket a % karakterrel tehetünk kódba: % megjegyzés szövege Ezeket a sorokat a LaTeX nem értelmezi. ===== Ékezetek ===== A magyar ékezetes betűk csak az UTF-8 kódolás megadásával lehetségesek. Ezt az inputenc csomag betöltésével, majd utf8 kapcsoló beállításával oldhatjuk meg. Tulajdonképpen a begépelt karakterek értelmezése UTF-8 formában. \usepackage[utf8]{inputenc} Beillesztve az eredeti dokumentumba, és tartalmat kicsit átírva: \documentclass[11pt]{minimal} \usepackage[utf8]{inputenc} \begin{document} Helló Világ \end{document} Az inputenc csomagot a \usepackage paranccsal töltjük be. A csomagot mindig kapcsos zárójelben adjuk meg. A csomagok betöltésekor kapcsolókat adhatunk meg, amivel szabályozhatjuk a csomag viselkedését. A kapcsolókat mindig szögletes zárójelben adjuk meg, Több kapcsoló is megadható vesszővel tagolva. A dokumentum egyes részeit a begin{} end{} kifejezésekkel tagoljuk. A dokumentum kezdetét is így adjuk meg: \begin{document} A dokumentum vége: \end{document} ===== Dokumentum osztályok ===== * minimal -- legrövidebb dokumentum nincs \paragraph, \section, \chapter és \part * article -- rövid dokumentumok létrehozása; nincs \chapter és \part * report -- diplomamunka, kisebb könyv, beszámoló; nincs \part * book -- könyv * letter -- magánlevél, üzleti levél * slides -- előadás fóliák * beamer -- bemutató * memoir -- a könyvosztályon alapszik, de bármi létrehozható vele * proc -- eljárások leírása az article osztály alapján A report inkább hasonlít egy könyvhöz, szemben az article típussal. A levél (letter) a magyar formai sajátosságoknak sajnos messze nem megfelelő. ===== Csomagok ===== A csomagok a usepackage utasítással tölthetők be. \usepackage{csomagnév} Például: \usepackage{lipsum} \usepackage{fullpage} A csomagok számára kapcsolók is megadhatók: \usepackage[utf8]{inputenc} Egy usepackage parancs számára több csomag is megadható, vesszővel szeparálva: \usepackage{lipsum,fullpage} ===== Magyar dokumentumok ===== A következőkben egy magyar nyelvű dokumentumhoz ajánlott csomagokat tekintjük át. Az ékezetes szövegek elválasztásához: \usepackage{t1enc} Az ékezetek a t1enc csomag nélkül is működnek, de így egy ékezetes karakter 1 karakterként lesz értelmezve. Az ékezetes problémák megoldására a t1enc csomaggal egyenértékű a fontenc csomag: \usepackage[T1]{fontenc} A \texttt{szöveg} azonos szélességű betűket eredményez, eközben "ő" és "ű" betűk helytelenül jelennek meg, ha nem töltjük be a fontenc csomagot, [T1] kapcsolóval. A babel csomag segítségével a nyelvi sajátosságok adhatók meg. Be kell állítanunk "magyar" kapcsolót: \usepackage[magyar]{babel} Magyar idézőjelek, magyar elválasztás, stb. A fejezet szót magyarul írja ki. A szabványos magyar szóközméret megegyezik a franciával, ezért: \frenchspacing Együtt a három: \usepackage{t1enc} \usepackage[magyar]{babel} \frenchspacing ===== Oldalbeállítások ===== A dokumentumtípus kapcsolójánál több kapcsoló is megadható, vesszővel tagolva. * betűméret **10pt**, **11pt**, **12pt** * oldalméret **a4paper**, **letterpaper** * az egész dokumentum kéthasábos: **twocolumn** * kétoldalas dokumnetum: **twoside** * dupla sorközt állít be: **draft** Papírméretek: * a4paper 210 mm 297 mm * a5paper 148 mm 210 mm * b5paper 176 mm 250 mm * letterpaper 8.5 in 11 in * legalpaper 8.5 in 14 in * executivepaper 7.25 in 10.5 in Tájolás az osztálynál állítva: \documentclass[a4paper,landscape]{article} Tájolás: \usepackage[a4paper,margin=1in,landscape]{geometry} Előfej és élőláb kikapcsolása: \pagestyle{empty} A számozás így is kikapcsolható: \pagenumbering{gobble} Vagy visszakapcsolható: \pagenumbering{arbic} Vegy oldalanként váltogatható: \pagenumbering{gobble} \newpage \pagenumbering{arabic} 1 inches margók \usepackage{fullpage} ==== Margó ==== Margó beállítása: \usepackage[margin=2cm]{geometry} Két sorba is megadható, több adattal: \usepackage{geometry} \geometry{top=3cm,bottom=1cm,right=1cm,left=1cm} Minden oldal, majd egy kivétel: \usepackage[margin=2.50cm,top=1.25cm]{geometry} Ajánlás: \documentclass[12pt,a4paper]{article} \usepackage[margin=2.50cm,top=2.25cm]{geometry} Fontos, hogy a geometry a ducumentumclass után legyen. ===== Dokumentum struktúrák ===== Rész: \part{cím} Fejezet: \chapter{cím} fejezet Szakasz: \section{cím} Alszakasz: \subsection{cím} Alalszakasz: \subsubsection{cím} Bekezdés: \paragraph{cím} Albekezdés: \subparagraph{cím} Függelék: \appendix ^ 7 szint ^^^ ^ Parancs ^ Szint ^ Megjegyzés ^ | \part{rész} | -1 | nincs levélben | | \chapter{ fejezet } | 0 | csak könyvben és riportban | | \section{ szakasz } | 1 | nincs levélben | | \subsection{ alszakasz } | 2 | nincs levélben | | \subsubsection{ al-alszakasz } | 3 | nincs levélben | | \paragraph{ bekezdés } | 4 | nincs levélben | | \subparagraph{ albekezdés } | 5 | nincs levélben | ==== Listák ==== Számozott lista: \begin{enumerate} Felsorolás: \begin{itemize} Kiemelt lista (első szavak kiemelve): \begin{description} Kiemelt lista, ahol az első (néhány) szó kiemelten szerepel Egy elem az item paranccsal tehető be: \item Egy komplett példa: \begin{itemize} \item alma \item körte \item szilva \item barack \end{itemize} Allista: \begin{itemize} \item alma \begin{itemize} \item birs \item jonatán \end{itemize} \item körte \item szilva \item barack \end{itemize} ==== Idézetek ==== Megjegyzés, ami nem látszik a nyomtatásban: \begin{comment} Idézetek \begin{quote} Hosszabb idézetek: \begin{quotation} Versidézetek: \begin{verse} ===== Formázás, igazítás ===== ==== Középreigazítás ==== \begin{center} szöveg \end{center} ==== Balra igazítás ==== \begin{flushleft} szöveg \end{flushleft} ==== Jobbra igazítás ==== \begin{flushright} szöveg \end{flushright} ==== Formázás ==== \textbf{szöveg} \underline{szöveg} \textit{szöveg} \textbf{\textit{szöveg}} ==== Szövegméret ==== \Huge \huge \LARGE \Large \large \normalsize (default) \small \footnotesize \scriptsize \tiny ==== Font ==== \usepackage{txfonts} \usepackage{lmodern} Times betűk: \usepackage{times} ===== Bekezdés ===== ==== Első sor ==== Első sor ne legyen behúzás: \setlength{\parindent}{0pt} ==== Sorok közötti távolság ==== \setlength{\parskip}{1em} ==== Behúzás ==== Behúzás kihagyása: \noindent szöveg Ha egy szöveget nem kívánunk formázni használjuk a verbatim kulcsszót: \begin{verbatim} #include main() { printf("Helló Világ\n"); } \end{verbatim} ===== Hiperhivatkozás ===== \usepackage{hyperref} \href{https://valami.lan}{Valami} ===== Képlet ===== Soron belül: A $A = 3 * r$ képlet mutatja ... Külön sorba: A $$A = 3 * r$$ képlet mutatja ... ===== Kép beillesztése ===== Képet a graphicx csomaggal illeszthetünk be. PNG formátumú képek illeszthetők be. \usepackage{graphicx} Beillesztés: \includegraphics[width=x]{fajl} Példa: \includegraphics[width=10cm]{halozat.png} Komplett példa: \begin{figure}[h] \centering \includegraphics[width=0.7\linewidth]{topologiaB} \caption{} \label{fig:topologia01} \end{figure} * [h] here -- azaz ide helyben * [t] top -- az oldal tetején * [b] bottom -- az oldal alján * [p] a tutajok oldalán (tutaj: táblázatok, ábrák oldala) * [!] ha nem néz ki jól, akkor is; a többivel együtt használandó ===== Kódlista ===== \documentclass[12pt]{article} \usepackage[utf8]{inputenc} \usepackage[magyar]{babel} \usepackage{listings} \begin{document} \begin{lstlisting} #include int main() { printf("Valami\n"); return 0; } \end{lstlisting} \end{document} ===== Dokumentumadatok ===== A preambulumban írjuk le a dokumentum néhány tulajdonságát, a dokumentumadatokat. Néhány példa: Tulajdonos: \author{Nagy János} A dokumentum címe: \title{Cím} Dátum: \date{} \date{2018} \date{2018-12-29} ===== Cikk ===== \documentclass{article} \usepackage[utf8]{inputenc} \usepackage{t1enc} \title{A cikk címe} \date{2018-12-29} \author{Nagy János} \begin{document} \maketitle \pagenumbering{gobble} \newpage \pagenumbering{arabic} \section{Szakasz1} A cikk... \subsection{Alszakasz} A cikk alrészei \end{document} ===== Kitöltő szöveg ===== A lipsum csomag lehetővé teszik a Lorem ipsum kitőltőszöveg 150 bekezdésének a bemásolását. A szögletes zárójelek között lehet megadni melyik paragrafustól, melyik paragrafusig másolja be a dokumentumba. * [2-4] A 2., 3. és 4. bekezdés bemásolása * [2-2] A 2. bekezdés bemásolása * [1-1] Az első bekezdés bemásolása \usepackage{lipsum} ... \lipsum[1-5] ===== Forgatás ===== \usepackage{rotating} \begin{document} \begin{sideways} Szöveg \end{sideways} \end{document} ===== Többoszlopos ===== ==== Egész oldal ==== Az egész lap legyen kétoldalas: \documentclass[12pt,twocolumn,a4paper,landscape]{report} A documentclass parancsban megadjuk **twocolumn** beállítást. ==== Az oldal egy része ==== Oldalon belül többoszlopos szöveg a multicol csomaggal hozható létre: \usepackage{multicol} A dokumentum tartalmában a multicols paranccsal állíthatjuk be több oszlopot, megadva hány oszlopot szeretnénk. \documentclass[12pt]{article} \usepackage[utf8]{inputenc} \usepackage{t1enc} \usepackage{lipsum} \usepackage{multicol} \begin{document} \lipsum[1-1] \begin{multicols}{2} \lipsum[1-1] \end{multicols} \end{document} ===== Élőfej, élőláb ===== ==== Előfej ==== \usepackage{fancyhdr} \pagestyle{fancy} \setlength\headheight{60.9pt} \lhead{ \includegraphics[width=2cm]{valami_logo.png} } \rhead{ Intézménynév\\ Intézménycím\\ azonosító } \chead{ szöveg } Ha nincs külön bal és jobb oldal: \chead{\makebox[\headwidth][c]{\includegraphics{valami_logo.png}}} ==== Élőláb ==== \rfoot{ szöveg jobbra } \lfoot{ szöveg balra } ==== Magasabb élőfej ==== Ha több soro élőfejet készítünk, vagy logó képet illesztünk be, az élőfejre rálóghat az oldal tartalma. Ilyenkor szeretnénk az élőfej magasságát megemelni: \setlength\headheight{60.9pt} ==== Vonal ==== Vonal kikapcsolása: \renewcommand{\headrulewidth}{0pt} ===== Lábjegyzet ===== \usepackage{hyperref} szöveg\footnote{ Valami szöveg } text\footnote{ \href{http://pelda.hu}{http://pelda.hu} } ===== Helykitöltés ===== \vspace{3cm} \hspace{3cm} Kitöltés ponttal: Szöveg:\dotfill Szöveg:\dotfill másik szöveg ===== Táblázat ===== \documentclass{article} \usepackage[table]{xcolor} \begin{document} \begin{tabular}{l|c|r} \hline Some & \cellcolor{blue!25}színes & tartalom \\ \hline \end{tabular} \end{document} ===== Függelék ===== ==== Programok ==== A Tex használatát nagyban megkönnyíti a textmaker használata. apt install texmaker Magyar nyelvű babel csomaghoz: apt install texlive-lang-european ==== Többnyelvű dokumentum ==== Több nyelv betöltése: \usepackage[english,german,magyar]{babel} Az éppen használt nyelv kiválasztása: \selectlanguage{magyar} ===== Linkek ===== * https://www.latextemplates.com/ (2018) * https://hu.wikibooks.org/wiki/Szerkeszt%C3%A9sek_LaTeXben (2018) * https://www.latex-tutorial.com/ (2018) * https://www.latex-tutorial.com/tutorials/sections/ * https://en.wikibooks.org/wiki/LaTeX/ * https://en.wikibooks.org/wiki/LaTeX/Document_Structure (2018) * https://en.wikibooks.org/wiki/LaTeX/Page_Layout (Egy lap rétegei; 2018)