Magyar LaTeX áttekintés

Az utóbbi években lassú, kicsinyke, ám mégis jelentős változáson ment keresztül a LaTeX rendszer. Ezen a kis oldalon megpróbálom összefoglalni azt, ami újdonság lehet a LaTeX-et rég óta használó emberek számára, különösen nagy hangsúlyt fektetve a magyar nyelvi támogatásra.

documentclass

Régen a LaTeX dokumentumokat \documentstyle makróval kellett kezdeni. Ezt idővel átkeresztelték \documentclass-ra (a jelentése, paraméterezése nagyjából változatlan maradt). A régi fejléc láttán hosszú figyelmeztetést ír ki a LaTeX a fordítás során, és elképzelhető, hogy hamarosan már nem fog működni a régi változat. Úgyhogy érdemes átállni az újra.

sloppy

Sajnos sokszor látunk jobbra kilógó sort LaTeX-hel készült művekben. Amikor nem jön ki szépen a sor vége, akkor két eset közül választhat a LaTeX: vagy jobbra kilóg a sor, vagy ha az utolsó szavát pedig már a következő sorba teszi, akkor túlzottan nagy szóköz lesz az egyes szavak között. Sajnos a LaTeX jobban szereti a jobbra kilógó sorokat, mint a nagyon szellőseket. Erről a hülye szokásáról lebeszélhetjük, ha a dokumentum fejlécébe teszünk egy \sloppy parancsot, ilyenkor inkább a túlzottan széthúzott sort választja, ami jóval kevésbé igénytelen.

frenchspacing

Az angol nyomda a mondatvégi pont után nagyobb szóközt hagy. A LaTeX is erre készül fel alap esetben. Ebből adódnak olyan gondok, hogy mondjuk a „kb.” vagy „pl.” rövidítés után is nagyobb szóközt rak a TeX, és ez nagyon csúnyán néz ki. Természetesen erről ott helyben is le lehet beszélni, de ez kényelmetlen.

A magyar tipográfiai szabályok szerint a mondat végén nem hagyunk nagyobb szóközt. Ezt a fejlécben elhelyezett \frenchspacing paranccsal tudathatjuk a LaTeX-hel. Adjuk ki ezt a parancsot, és így nyomdatechnikailag is helyesebb lesz a magyar szöveg, és nem kell többé a „kb.”, „pl.” stb. utáni szóközzel sem bajlódni.

(Megjegyzés: a magyar babel csomag (lásd később) betöltése igazán bekapcsolhatná magától a frenchspacinget... de nem teszi.)

inputenc

Az \'ekezetes bet\H uk kiszed\'es\'ere a r\'egi TeX-ez\H ok szinte mind az ilyen id\'etlen jel\"ol\'st haszn\'alj\'ak.

Ezzel a jelöléssel sok gond is van. Kényelmetlen és lassú így gépelni a szöveget, tapasztalatom szerint óriási a félregépelés (tipikusan a lemaradó ékezet) veszélye, és ha lemaradt egy ékezet, azt utólag már teljesen reménytelen észrevenni. Egyébként fent is el van gépelve, véletlenül, de most már úgy hagyom :-)

Szerencsére „igazi” ékezetes betűket is írhatunk a LaTeX fájlba. Ehhez mindössze egy \usepackage[kódkészlet]{inputenc} direktívát kell elhelyezni a dokumentum fejlécébe, ahol a „kódkészlet” a fájlban használt kódolást nevezi meg. Ez modern Linux rendszereken „utf8”, régebbi magyar nyelvű Linux rendszereken „latin2”. Ha valaki esetleg DOS alatt TeX-ezik, akkor valószínűleg „cp852” karakterkészletet kell megnevezni.

Ha átszokunk az igazi ékezetek írására, akkor sokkal könnyebben olvasható lesz a LaTeX fájl, csökken az ékezethibák gyakorisága, könnyebb lesz máshonnan/máshova „copy-paste”-elni szöveget, vagy éppen a helyesírást ellenőrizni.

Az átszokás nem jelenti azt, hogy rögtön az egész dokumentumot át kellene írni (bár szerintem érdemes). Ha a \usepackage[utf8]{inputenc} sort betettük a dokumentum elejére, attól a r\'egi \'ekezetjel\"ol\'es még ugyanúgy működni fog, semmilyen baja nincs a LaTeX-nek a félig ilyen, félig olyan karaktereket tartalmazó fájlokkal.

Hogyan állítsuk be az ékezeteket? Klikk ide!

fontenc

Nagyon régen valamit csúnyán elgányoltak a TeX-ben, így bekerültek olyasmi dolgok, hogy bizonyos környezetben a „<” és „>” jelek hibásan jelennek meg, illetve hogy fix szélességű betűk (\texttt{...}) esetén nincsen magyar ő és ű betű, hanem valamelyik másik karakterkészlet ékezetét kell az o vagy u betűre varázsolni.

Ha a fontenc csomagot betöltjük, akkor ezeket a hülyeségeket mind elfelejthetjük: \usepackage[T1]{fontenc}, avagy az ezzel valószínűleg teljesen egyenértékű \usepackage{t1enc} parancs.

magyar babel

A \usepackage[magyar]{babel} direktívával betöltjük a magyar nyelvű támogatást. Ez többek között ezeket tartalmazza:

  • magyar elválasztás (lásd később);
  • „Section 1” illetve „Fejezet 1” helyett „1. fejezet”;
  • hivatkozásnál helyes névelő (lásd később);
  • lent kezdődő idézőjel (lásd később);
  • és még ki tudja, mi minden...

idézőjel

A magyar tipográfiai szabályok szerint az idézőjelet lent kell kezdeni és fent zárni, mindkét esetben 99-es kinézetűvel. A magyar támogatás a két egymás után álló „grave” ékezetet (amelyet tévesen visszafelé dőlő aposztrófnak, „backtick”-nek vagy „backquote”-nak is szoktak hívni; angol billentyűzeten a bal felső sarokban van, magyar billentyűzeten AltGr+7), valamint a két egymás után álló aposztróf karaktert (angol billentyűzeten az L-től kettővel jobbra, magyar billentyűzeten Shift+1) definiálja erre a célra. Tehát ilyesmit írhatunk a LaTeX fájlba: ez egy ``idézőjeles'' szó.

Sok esetben a két egymás után írt vessző is jól működik kezdő idézőjel gyanánt, viszont ennek definícióját nem találtam meg (a magyar.ldf-ben egészen biztos, hogy nincsen benne). Mintha egyszer valakitől azt hallottam volna, hogy ezt is a t1enc csomag tölti be.

UTF-8 karakterkészlet esetén (\usepackage[utf8]{inputenc}) használhatjuk közvetlenül a Unicode idézőjeleket is (U+201E és U+201D). Ezt nehezebb begépelni, viszont a szerkesztett szövegfájl jobban olvasható, megjelenése jobban hasonlít a végleges dokumentuméra.

aref

Egy hivatkozás első körben így nézhet ki: Lásd a \ref{sec:valamicim}. fejezetben.

És mi van, ha a fejezet mondjuk éppen az 5-ös? Akkor ez kerül a kész dokumentumba: „Lásd a 5. fejezetben”. A problémát kiküszöbölendő a magyar.ldf definiálja az \aref, \Aref, \apageref, \Apageref makrókat. Használjuk ezeket a sima \ref helyett, valahányszor névelő előzi meg a számot.

Lásd \aref{sec:valamicim}. fejezetben.

\Apageref{fig:xblast}. oldal ábráján...

elválasztás

Ez a pont csak rendszergazdáknak szól.

Sajnos rendszergazdai beavatkozás is szükséges ahhoz, hogy működjön a magyar elválasztás. Ezt kell tenni:

root# export EDITOR=kedvenc_szövegszerkesztőd
root# texconfig hyphen latex

A kapott fájlban a „magyar” opció elől eltávolítani a százalék jelet. Ha a fájlon érdemlegesen változtatunk (de csak ekkor!) látványosan dolgozik picit a TeX rendszer, és már kész is.


sablon

Itt letölthető egy sablon kiindulási fájl.


2002. január 5.

Frissítve: 2006. január 16.

egmont@cs.bme.hu