LaTeX még egyszer

LaTeX még egyszer

Cikkünk a korábbi rész folytatása.

A LaTeX fájl szerkezete

A LaTeX dokumentum alapvetően két részből áll. Az első rész a LaTeX dokumentum beállításait tartalmazza (ezt preambulumnak nevezik), a második rész maga a dokumentum.

A preambulum első sora \documentclass paranccsal kezdődik, ez határozza meg, hogy az írásunknak mi a jellege. Lehetne könyv vagy jelentés vagy sok más egyéb, de mi a cikk (article) formátumot választottuk. Opcionálisan azt is megadhatjuk, hogy mekkora legyen a dokumentum betűmérete, mi a [12pt] opcióval a 12 pontos betűméretet választottuk, de választhattunk volna még 10 vagy 11 pontost is. Mást azonban nem.

A következő sorokban a \usepackage paranccsal olyan „csomagokat” hívunk be a LaTeX-be, amelyek egy adott parancstípushoz tartozó beállításokat és LaTeX parancsok definíciót tartalmazzák.

Az inputenc csomag segítségével a LaTeX értelmezi a billentyűzetről begépelt karaktert (amelynek főleg az ékezetesek beírása során vesszük hasznát), azt is megadtuk opcióként, hogy UTF8 karakterkódolást szeretnénk használni. Más kódolások is vannak, de ez a legkényelmesebb számunkra.

A t1enc csomag segítségével a LaTeX a fontkészlet betűkódolását állítja be. Ez teszi lehetővé például, hogy megfelelő betűként használhassuk a begépelt UTF8 karaktereket, például a magyar ékezetes betűket is.

A babel csomag a nyelvi sajátosságokat állítja be, a „magyar” opcióval pedig a nyelvet állítjuk be.

Az ams kezdetű csomagok az Amerikai Matematikai Társulat által támogatott matematikai sajátosságok beállítását tartalmazzák. Ezeket egyetlen \usepackage utasításban hívtuk be (így is lehet csomagokat behívni). Az amsmath a kiemelt matematikai képletekhez nyújt segítséget, az amssymb különféle matematikai szimbólumokat, az amsfonts speciális matematikai betűkészleteket tartalmaz, az amsthm segítségével pedig tételkörnyezeteket tudunk definiálni.

Végül a \frenchspacing parancs a tördelés nálunk szabványos szóközméretét állítja be (ami megegyezik a franciáknál szokásossal).

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{t1enc}
\usepackage[magyar]{babel}
\usepackage{amsmath,amssymb,amsfonts,amsthm}
\frenchspacing

A \begin{document} és az \end{document} utasítások közé kerül a dokumentum. Ha további beállításokat szeretnénk beírni, azokat a jobb áttekinthetőség érdekében érdemes lehetőség szerint mindig a preambulumba tenni.

A dokumentumot lezáró parancs után bármit írhatunk, azt a LaTeX nem fogja tekintetbe venni. Megjegyzem, ennek nagy hasznát vehetjük, ha például valamit fel akarunk jegyezni, de nem akarjuk, hogy megjelenjen nyomtatásban, például egy félbehagyott megoldás, egy ötlet stb.

A kiemelt képlet

Mint az első részben említettük, a TeX-ben a matematikai képleteket dollárjelpár közé zárva kellett beírni, míg a kiemelt, középrezárt képletek beírására a dupla dollárjelpár szolgált.

A LaTeX-ben a kiemelt képletet dupla dollárjelpár helyett még \[ és \] jelcsoportok közé zárva is be lehet írni.

Gondoljuk végig, hogy mely esetekben lehet szükség arra, hogy egy képletet a szövegből kiemelve, középrezárva tördeljünk!

Lehet, hogy fel akarjuk hívni rá a figyelmet. Ilyenkor előfordulhat, hogy a fontos eredményre később hivatkozni akarunk, ezért megszámozzuk a képletet, és adott helyen ezzel a számmal hivatkozunk rá. De az is lehet, hogy olyan hosszú a képlet, hogy képtelenség normálisan betördelni a szövegbe, esetleg olyan hosszú átalakításokat tartalmaz, hogy nem is férne el egy sorban. Az is lehetséges, hogy több, egymással szorosan összefüggő eredményt szeretnénk beírni.

Eszerint a kiemelt képlet lehet egysoros vagy többsoros, lehet számozott vagy számozatlan. Ha többsoros, akkor lehet, hogy minden egyes sorát számozni akarjuk, vagy csak némelyeket, de az is lehet, hogy az egésznek egyetlen számot akarunk adni.

Többsoros kiemelt képlet esetén az is fontos, hogy miként igazodnak egymáshoz a sorok: mindet középre zárjuk, vagy minden sort egy-egy jelre igazítunk (például hosszú átalakítás esetén a sorok elején lévő egyenlőségjelre).

Minden felsorolt esetben más-más módon, más-más „környezetben” kell beírni a kiemelt képletet. A használt környezetek neve az egyes esetekben:

  egysoros többsoros
  középre zárt középre zárt jelre igazított
(soronként) számozott equation gather align
számozatlan equation* gather* align*
közösen számozott   equation+gathered equation+aligned

 

Ezek használatát egy-egy példán mutatjuk be. Előtte azonban néhány fontos tudnivaló:

1. A környezeteket \begin{...} és \end{...} módon írjuk be.

2. Az equation, az align és a gather környezetek automatikusan matematikai módba váltanak, ezzel szemben a gathered és az aligned nem (ezért ezeket például equation környezetbe tesszük).

3. A jelre igazításhoz a & jelet kell használni, nevezetesen az igazítás jele elé kell betenni.

4. Többsoros képletek esetén a sorokat \\ jellel választjuk el egymástól.

Akkor tehát nézzük a példákat:

Számozott egysoros képlet:

$\displaystyle ax^2+bx+c=0$ (1)

berírása:

\begin{equation}
ax^2+bx+c=0
\end{equation}

 

Számozatlan egysoros képlet:

$\displaystyle ax^2+bx+c=0$    

beírása:

\begin{equation*}
ax^2+bx+c=0
\end{equation*}

vagy persze:

\[
ax^2+bx+c=0
\]

 

Számozott középre zárt képlet:

$\displaystyle a^3+b^3=(a+b)(a^2-ab+b^2)$ (2)
$\displaystyle a^3-b^3=a^3+(-b)^3=(a-b)(a^2+ab+b^2)$ (3)

Beírása:

\begin{gather}
a^3+b^3=(a+b)(a^2-ab+b^2)\\
a^3-b^3=a^3+(-b)^3=(a-b)(a^2+ab+b^2)
\end{gather}

Ugyanez számozás nélkül így írható be:

\begin{gather*}
a^3+b^3=(a+b)(a^2-ab+b^2)\\
a^3-b^3=a^3+(-b)^3=(a-b)(a^2+ab+b^2)
\end{gather*}

 

Ha viszont egyetlen számmal akarjuk beírni:

\begin{displaymath}\begin{gathered}
 a^3+b^3=(a+b)(a^2-ab+b^2)\\ 
 a^3-b^3=a^3+(-b)^3=(a-b)(a^2+ab+b^2)
 \end{gathered}\end{displaymath} (4)

Beírása:

\begin{equation}\begin{gathered}
a^3+b^3=(a+b)(a^2-ab+b^2)\\
a^3-b^3=a^3+(-b)^3=(a-b)(a^2+ab+b^2)
\end{gathered}\end{equation}

 

Jelre igazított képletek:

Soronként számozva:

$\displaystyle a^2-b^2$ $\displaystyle =(a-b)(a+b)$ (5)
$\displaystyle a^3-b^3$ $\displaystyle =(a-b)(a^2+ab+b^2)$ (6)

Beírása:

\begin{align}
a^2-b^2&=(a-b)(a+b)\\
a^3-b^3&=(a-b)(a^2+ab+b^2)
\end{align}

Számozás nélkül:

\begin{align*}
a^2-b^2&=(a-b)(a+b)\\
a^3-b^3&=(a-b)(a^2+ab+b^2)
\end{align*}

Egyetlen közös számmal:

\begin{equation}\begin{aligned}
a^2-b^2&=(a-b)(a+b)\\
a^3-b^3&=(a-b)(a^2+ab+b^2)
\end{aligned}\end{equation}

Így jelenik meg:

\begin{equation*}\begin{aligned}
 a^2-b^2&=(a-b)(a+b)\\ 
 a^3-b^3&=(a-b)(a^2+ab+b^2)
 \end{aligned}\end{equation*}

Ritka kivétel. Előfordulhat, hogy a kiemelt többsoros képlet sorait számozni akarjuk, de mondjuk valamelyik(ek)et mégsem. Ekkor annak a sornak a végére, amelyet nem akarunk számozni (de még az esetleges sorelválasztó \\ előtt) kiadjuk a LaTeX parancsot: \nonumber. Ez letiltja az aktuális sor számozását. Vigyázzunk, gathered és aligned környezetekben a közös számot tiltjuk le vele.

És most tessék bátran kipróbálni! Arra bíztatom a kedves olvasót, hogy keressen olyan anyagokat (neten, tankönyvben, saját munkájában), amelyen kipróbálhatja a tanultakat.

Címkék és hivatkozások

Nem csak az egyenleteknek lehet száma, hanem tételeknek (vagy ahhoz hasonló objektumoknak), ábráknak, táblázatoknak stb. Aminek száma van, arra hivatkozhatunk is. Ahhoz, hogy ezt automatikusan megtehessük, fel kell címkézni a számmal ellátott objektumot, és később a szám helyett ezzel a címkével hivatkozhatunk rá. Ennek az az előnye, hogy ha beszúrás vagy törlés miatt átszámozódnak az objektumok, a címke akkor is ugyanaz marad.

Többsoros számozott képletben minden számozott sornak adhatunk címkét.

Minden címkének egyedinek kell lennie. Ha véletlenül több objektumnak is ugyanazt a címkét adjuk, a LaTeX figyelmeztetést küld. (Minden hibaüzenetet és figyelmeztetést olvassunk el, és javítsuk a hibákat.)

A címkét általában a megfelelő környezeten belül helyezzük el, de többsoros képletnél több szám is lehet egy képleten (azaz a környezeten) belül, ezért ott soronként (a sor lezárása előtt) adjuk ki a címkét. (Nem minden objektum van \begin{...}...\end{...} környezetben, amikor nincs, akkor például az objektum után helyezhetjük el a címkét.)

A címke formátuma: \label{ }, ahol a kapcsos zárójelek közé kell beírni az egyedi nevet. Például:

\begin{equation}
ax^2+bx+c=0\label{másodfokú}
\end{equation}

Ettől kezdve a \ref{másodfokú} hivatkozás az egyenlet számát írja ki. Csak a számát, mást (például az egyenletszámot körülvevő zárójelet) nem. Azt az \eqref{másodfokú} paranccsal, esetleg (\ref{másodfokú}) módon lehet kiírni.

Fontos! Ha címkéket és hivatkozásokat használunk, akkor érdemes legalább háromszor befordítani a LaTeX fájlt, mielőtt megnézzük a pdf-et. Az első fordításkor a LaTeX kigyűjti a címkéket az oldalszámaikkal, a második fordításkor beilleszti ezeket, de mivel ekkor átalakulhat a tördelés, érdemes harmadszor is befordítani a dokumentumot.

További felcímkézhető objektumok

Ennek a cikknek a keretei túl szűkek ahhoz, hogy mindenre kitérjünk. Ezért csak megemlítünk néhány további, számozást használó (tehát címkézhető, hivatkozható) objektumot.

Ábrák, táblázatok. Az ábrák, táblázatok beillesztésekor azokat rendszerint nem tudjuk mindig pontosan oda helyezni, ahol éppen a szöveg szerint a helyük lenne (sőt, előfordulhat, hogy több helyen is akarunk hivatkozni egy-egy ábrára, táblázatra). Az a szokásos nyomdai megoldás erre, hogy ezek az objektumok máshol kapnak helyet, és a számukkal lehet hivatkozni rájuk.

Ábrát, táblázatot nagyon sokféle módon lehet beilleszteni, készíteni LaTeX-ben.

Fontos azonban tudni, hogy mindkettőhöz szükség lehet további csomagok behívására (természetesen a preambulumban).

Definíciók, tételek. A definíciók, tételek, illetve az ahhoz hasonló típusú objektumok is rendszerint számozottak, ezekre is lehet hivatkozni. (A bizonyítás nem számozott, nem is szokás hivatkozni rá.)

A tétel-szerű környezetek használatát az amsthm csomag segíti.

Címek. A cikkben használt címek (a három címfokozat: \section{}, \subsection{}, \subsubsection{}) is számozottak, ezeknek is lehet címkét adni, és lehet rájuk hivatkozni.

Oldalszám. Az oldalszámra a \ref helyett a \pageref{} paranccsal lehet hivatkozni, ahol a kapcsos zárójeleken belül tetszőleges létező címke szerepelhet, ekkor a címkének megfelelő objektum oldalszámát kapjuk meg.

Számozott, betűzött listák. Számozott, betűzött listák készítése is lehetséges, és ezekre is lehet hivatkozni.

Irodalom. Készíthetünk irodalomjegyzéket. Az irodalomjegyzék egy speciális lista, ennek az elemeire \ref helyett \cite paranccsal lehet hivatkozni.

Hogyan tovább?

Az eddigiekben olyan dolgokról esett szó, amelyre mindenkinek szüksége lehet. Innentől kezdve viszont ahány felhasználó, annyiféle igény. Minden elvárásnak persze nem tudunk eleget tenni.

Elengedjük tehát az olvasó kezét, és sok sikert kívánunk az előtte álló rögös úton.

Útravalóul néhány tanáccsal szolgálunk.

I. A tipográfia az esztétikus megjelenés tudománya, nem öncélú. Az olvashatóságot teszi élvezetesebbé, egyszerűbbé. Nagyon fontos, hogy ne lépjük át a tipográfia alapvető szabályait. Ne találjunk ki új tipográfiai megoldásokat, ne bíráljuk felül a LaTeX adta lehetőségeket (vagy legalább nézzünk utána, jogosan akarunk-e változtatni).

II. A helyesírás közmegegyezés alapján jött létre, ez sem öncélú. A legnagyobb hiba, amit elkövethetünk, az a szöveg hibás központozása. Sok szó írásmódja változott drasztikusan az elmúlt 50 évben, de a központozás, amely a beszédben hallható hangsúlyokat hivatott visszaadni, nem változott szinte semmit.

III. Kerüljük a szükségtelenül bonyolult tördelési megoldásokat. Inkább járjunk utána, mi a hivatalos javaslat.

IV. Végül ajánlunk néhány honlapot, amelyeken választ találhatnak a felmerülő kérdéseikre. És bár sok olyan honlap van, amelyről megkaphatjuk azt a segítséget, amelyre szükségünk lehet a LaTeX-hez, biztosan lesz olyan problémánk is, amelyre nem – vagy csak nagyon sokára – kapunk választ.

1. Szerencsére ma már nincs szükség arra, hogy bármit telepítsünk a számítógépünkre, elegendő egy böngésző. Több olyan szolgáltatás is van, amely nagyon komolyan támogatja az online LaTeX-elést. (Pl. sharelatex.com, overleaf.com) Ezeknek az oldalaknak nagy előnye (és nagyon kevesek számára hátránya), hogy nem kell csomagokat installálni, ha használni akarjuk azokat, és azzal sem kell foglalkoznunk, hogy a legfrissebb verziót használhassuk. Ezeket ugyanis a szolgáltató biztosítja. Ráadásul szerkesztés közben automatikusan láthatjuk a dokumentumot, mert az auto-compile funkciónak köszönhetően lehetőség van arra, hogy az osztott képernyő egyik ablakában szerkesszük a forrást, a másikban pedig nézzük az aktuális pdf-et.

2. Magyar nyelven segítséget találhatunk a LaTeX-hez például a KöMaL honalpján: www.komal.hu/forum?a=tk. Sokrétű és alapos leírást nyújt a LaTeX parancsokhoz. Tipográfiai kérdésekben nem mérvadó.

3. A legtöbb honlap azonban angol nyelvű. Két jól használható (angol nyelvű) honlap például:

wikibooks.org/wiki/LaTeX (dokumentáció mintapéldákkal)

sharelatex.com/learn/

4. Azoknak pedig, akik elég bátrak ahhoz, hogy (akár angol nyelven is) segítséget merjenek kérni, ajánlom a tex.stackexchange.com/ TeX fórumot.

5. Végül egy magyar nyelvű LaTeX könyv:

Wettl Ferenc, Mayer Gyula, Szabó Péter: LaTeX kézikönyv

(ISBN 963545398-1), Panem Kft., Budapest, 2004 (780 oldal CD melléklettel)

Fried Katalin