[[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)