BME math LaTeX

Ez itt a LaTeX magyarításának oldala, és a BME Matematika Intézetében a TeX-hel kapcsolatos fejlesztések oldala is.

LateX-ről leírások, útmutatók

LaTeX-ről magyar nyelvű könyvek és leírások

Magyar nyelvű szöveg szedése MagyarLaTeX-hel (LaTeX használata magyar szöveg szedésére.) [PDF], benne leírás a magyar.ldf-ről és a huplain.bst-ről. Ez a legfrissebb változat, innen érdemes letölteni.

LaTeX kézikönyv (könyv) [leírás]

LaTeX kezdőknek és haladóknak (könyv) [leírás]

LaTeX 78 percben (= LaTeX nem túl röviden) [a képernyőn is jól olvasható PDF] (eredeti [link, PDF] [link, DVI] [link, forrás, tar.gz])

LaTeX 69 percben (= a régi LaTeX nem túl röviden) [PDF]

Magyar nyelvű műszaki--tudományos tipográfia [PDF]. A LaTeX magyarítását bemutató és elemző diplomaterv, 2004. Az írás egyben ismerteti, hogy a magyar és az angolszász tipográfia mely főbb pontokban térnek el egymástól.

LaTeX-ről angol nyelvű könyvek és leírások

Dokumentáció: Péter Szabó: Implementation Tricks in the Hungarian Babel Module. Megjelent a TUG 2004 konferenciakiadványban. [cikk, PDF] [cikk előzetes változata, PDF] [cikk előzetes változata, TeX forrás]

Dokumentáció: Péter Szabó: Implementation Tricks in the Hungarian Babel Module. Elhangzott a TUG 2004 konferencián. [diák, PDF]

Rövidebb leírások

bibtex_samples.bib: [BibTeX adatbázis minta] Angol nyelvű BibTeX adatbázisok készítéséhez minta: az összes bejegyzést és mezőt tartalmazza -- a mezők üresek.

MagyarLaTeX

A fájlok legfrissebb változatai az alábbi linkekről tölthetők le.

A MagyarLaTeX csomag az alábbi szoftvereket tartalmazza:

texmf/tex/generic/magyar/magyar.ldf
magyar Babel stílus LaTeX-hez (1.5-ös verzió). Figyelem! A legbiztosabb, ha a magyar.ldf-et a dokumentummal egyező könyvtárba helyezi el. Ha mégis a texmf fába helyezi, akkor az ugyanabban a texmf fában levő összes többi magyar.ldf-et (pl. texmf/generic/babel/magyar.ldf) le kell törölni, mert ellenkező esetben a LaTeX a régit találja meg a jó helyett. Rövid útmutató arról, hogyan kell betölteni itt.
texmf/tex/latex/uni8/uni8.sty
kényelmi stílus pdflatex-hez és lualatex-hez, amely minden környezet esetén megoldja a betűtípusok és az elválasztások helyes betöltését. Használható magyar.ldf-fel és más, LaTeX által támogatott nyelvekkel is. pdflatex esetén nincs rá szükség, viszont lualatex esetén erősen ajánlott. A TeX Live 2019-es verzióban levő pdflatex-hel és lualatex-hel lett tesztelve. [angol nyelvű leírás]
texmf/tex/generic/magyar/huhyph3.tex
a régi, fonetikus magyar elválasztási modul (La)TeX-hez. Az újabbakkal összehasonlítva sokat hibázik. Ez van a 3.7-es Babelben is.
texmf/tex/generic/magyar/huhyphc.tex
egy új, idegen szóösszetételen is szóhatáros magyar elválasztási modul (La)TeX-hez
texmf/tex/generic/magyar/huhyphf.tex
egy új fonetikus magyar elválasztási modul (La)TeX-hez
texmf/tex/generic/magyar/huhyphn.tex
egy még újabb magyar elválasztási modul (La)TeX-hez. Ez készült a legnagyobb szótár felhasználásával. A legfrissebb változatot a termék honlapjáról érdemes letölteni.
texmf/hbin/lafmtgen.pl
LaTeX formátumgeneráló Perl szkript, az elválasztási modulok telepítéséhez
texmf/hbin/ccs_extract.pl
LaTeX-hez dupla hosszú mássalhangzót kereső Perl szkript
texmf/hbin/husort.pl
makeindex(1)-et felváltó index processor, a magyar nyelvet követi, Perl szkript
texmf/xindy/lang/magyar/magyarp.xdy
xindy-hez félkész magyar nyelvű modul
texmf/bibtex/bst/hubib/huplain.bst
magyar nyelvű irodalomjegyzék-stílus BibTeX-hez
texmf/bibtex/bst/hubib/huszak.bst
magyar nyelvű irodalomjegyzék-stílus BibTeX-hez szakdolgozatokhoz; szerzők vezetéknevét kiskapitálissal szedi; használata jelenleg nem ajánlott, mert a huplain.bst-ben történt fontos javításokat nem tartalmaz, továbbá a folyóiratok neve elé In-t tesz, és az nem kell általánosan
ispell.pl
Az ispell, mspell és hunspell programokat hívó Perl szkript az Emacs-es és vi-os helyesírás-ellenőrzéshez. Telepítési útmutató angol nyelven a fájl elején.
pts-spell.el
Kiegészítő kód a .emacs fájlba az ispell, mspell és hunspell programokkal történő, Emacs-en belüli helyesírás-ellenőrzéshez.

A MagyarLaTeX legfrissebb dokumentációja innen tölthető le: [PDF],

Egyéb letölthető szoftverek:

LaTeX hibaelhárító varázsló

Hogyan kell magyar szöveget írni LaTeX-ben a legújabb magyar.ldf-fel?
Az új (v1.5-ös) magyar.ldf 2014 óta már része a TeX Live-nak (és a CTAN-en is fent van), ezért általában nem szükséges külön letölteni és telepíteni. Ha a legújabb (a TeX Live-ban levőnél is frissebb) változat kell, az innen tölthető le: [magyar.ldf], a letöltött magyar.ldf fájlt a .tex forrásfájl mellé kell másolni.

2014 óta már a magyar elválasztási minták is részei a TeX Live-nak (huhpyh.tex, hyph-hu.tex és hasonló neveken), de alapból nincsenek telepítve. (Telepítés nélkül az automatikus szóelválasztás nem fog működni.) Debian és Ubuntu rendszereken az sudo apt-get install texlive-lang-european vagy sudo apt-get install texlive-lang-hungarian paranccsal telepíthetők (mindkettőt ki kell próbálni).

latex és pdflatex esetén ezt kell írni a preambulumba a \documentclass sor alá:

\usepackage[utf8]{inputenc}
\usepackage{t1enc}
\def\magyarOptions{defaults=hu-min}
\usepackage[magyar]{babel}

lualatex esetén (feltéve, hogy a .tex fájl UTF-8 kódolású, 2010 óta általában az) ezt kell írni a preambulumba a \documentclass sor alá (t1enc-et és inputenc-et tilos):

\def\magyarOptions{defaults=hu-min}
\usepackage[magyar]{babel}

A fentiek alternatívájaként főleg lualatex esetén, de általában is ajánlott letölteni az uni8.sty-t, és ezután ezt kell írni a preambulumba a \documentclass sor alá:

\def\magyarOptions{defaults=hu-min}
\PassOptionsToPackage{magyar}{babel}
\usepackage[inputenc=utf8]{uni8}
[minta .tex fájl]. A mintafájl és a fenti uni8-as példa lualatex-hel, pdflatex-hel és latex-hel is működik, de csak lualatex esetén (és akkor is csak bizonyos esetekben, pl. nem Unicode-os betűtípusok használatához) van szükség rá, a másik kettő a fenti uni8 nélküli preambulummal is elmegy.
egy ékezetes betű sem jelenik meg (és a helyük sincs kihagyva)
Beírni a preambulumba: \usepackage[utf8]{inputenc}

Ha ettől megjelennek az ékezetes betűk, de rosszul, akkor inkább ezt beírni a preabulumba: \usepackage[latin2]{inputenc}

hullámvonalas õ és kalapos û jelenik meg
Beírni a preambulumba a hasonló sor helyére: \usepackage[latin2]{inputenc}. Ha ettől a többi ékezetes betű is elromlik, akkor a forrás UTF-8 kódolású, és a hibát a forrásfájlban kell javítani, például az alábbi Perl szkripttel:
perl -pi -e 'BEGIN{@H{"\xB5","\xBB","\x95","\x9B"}
  =("\x91","\xB1","\x90","\xB0")}s@\xC3([\xB5\xBB
  \x95\x9B])@\xC5$H{$1}@gx' forrás.tex
A hiba javítása után \usepackage[utf8]{inputenc} írandó a preambuluba.
minden ékezetes betű helyett két szimbólum jelenik meg
A forrásfájl UTF-8 kódolású. Az ucs csomag telepítése után beírni a preambulumba: \usepackage[utf8]{inputenc}. Figyelem! Egyes szövegszerkesztők ún. UTF-8 BOM-ot helyeznek el a fájl elejére (3 bájt: 0xEF, 0xBB, xBF). Ezt a LaTeX-fordítás előtt el kell távolítani. Alternatív megoldások a LaTeX kézikönyvben.
a LaTeX rosszul választja el a szavakat, vagy nem választ el egyáltalán

2008. novemberi vagy újabb magyar.ldf szükséges (lásd fent a letöltéseket). Ez már együttműködik a TeXlive-val, ahol a magyar elválasztási mintákat hungarian-nek hívják (és nem magyar-nak).

Írjuk be a preambulumba: \usepackage[magyar]{babel} . Ha a dokumentum többnyelvű (és pl. \selectlanguage-dzsel váltogatunk a nyelvek között), és a magyar a főnyelv, akkor a magyar legyen az utolsó, például \usepackage[english,german,magyar]{babel} . Ha se a t1enc, se a fontenc csomagot nem használja dokumentum, akkor töltsük be a t1enc-et: \usepackage{t1enc} . Ettől megjavul az ékezetes betűket tartalmazó szavak elválasztása. Az inputenc csomag betöltése nincs hatással az elválasztásra.

Ha ezután a .log fájlban levő Babel ... and hyphenation patterns for ..., loaded-ben nem szerepel se a magyar, se a hungarian nyelv, vagy a \showhyphens{integetnem} nem azt írja a .log fájlba, hogy in-te-get-nem, akkor az elválasztási mintákat telepíteni kell, és a formátumot újra kell generálni.

Az elválasztási minták akkor vannak telepítve, ha az alábbi fájlok egyike létezik a texmf könyvtáron belül valahol: huhyphn.tex, huhyph.tex, huhyph3.tex, huhyphf.tex, huhyphc.tex. Egy ilyen fájl megkereshető például a kpsewhich huhyphn.tex paranccsal, vagy egy .tex fájl lefordításakor az \input huhyphn.tex parancs hatására a fájlnév belekerül a .log fájlba. Az amerikai angol elválasztási mintákat a hyphen.tex fájl tartalmazza, ami mindig telepítve van. Ugyanabban a könyvtárban szoktak lenni a magyar minták is (ha telepítve vannak).

A magyar elválasztási mintákat Debian vagy Ubuntu rendszeren futó TeXlive alatt a apt-get install --reinstall texlive-lang-hungarian paranccsal telepíthetjük. (Ez egyben a formátumot is újragenerálja.) MikTeX alatt a MikTeX beállító programjának (Start menü, Programok, MikTeX / MikTeX options) menüjében jelöljük be a magyar nyelvet (és generáljuk újra a formátumot, lásd itt). Más operációs rendszer vagy TeX-disztribúció esetén keressük olyan csomagnevet, ami tartalmazza hungarian, magyar, hyphen vagy pattern szavak valamelyikét, telepítsük, majd a language.dat-ban (megkereshetjük kpsewhich language.dat parancsal) a magyar vagy hungarian-t tartalmazó sorok elejéről töröljük a százalékjelet vagy az egyéb írásjeleket (ezután általában magyar huhyph.tex vagy hungarian huhyphn.tex lesz a sorban), és végül generáljuk újra a formátumot (lásd itt).

a LaTeX az ékezet nélküli szavakat jól, az ékezeteseket rosszul választja el
Ha se a t1enc, se a fontenc csomagot nem használja dokumentum, akkor töltsük be a t1enc-et: \usepackage{t1enc} .
Hogyan kell újragenerálni a LaTeX-formátumot?

Unix-os TeXlive esetén root-ként futtatni kell az update-language parancsot (ez újragenerálja a language.dat fájlt), majd a fmtutil-sys --all parancsot (ez újragenerálja a *.fmt fájlokat). Ez utóbbi a régebbi gépeken eltarthat egy percig.

Unix-os teTeX esetén root-ként futtatni kell az fmtutil-sys --all (vagy ha ez nincs, akkor az fmtutil --all) parancsot. Ez eltart egy-két percig.

(Az alábbi útmutatás lehet, hogy csak régi MikTeX-hel működik.) MikTeX esetén a Start menüből indítsuk a MikTeX / MikTeX options programot, amiben az itt látható módon generáljuk újra (a latex kiválasztása után a Build gombra kattintva) a latex formátumot (és a biztonság kedvéért a többi, latex-et tartalmazó formátumot is).

a legújabb huhyphn-nel szeretnék elválasztani MikTeX alatt
Például a meggyültetvény szót csak a huhyphn választja el helyesen: meggy-ül-tet-vény. Az ezt kipróbáló LaTeX tesztdokumentum:
\documentclass{article}
\usepackage{t1enc}
\usepackage[latin2]{inputenc}
\def\magyarOptions{hyphenation=huhyphn}
\usepackage[magyar]{babel}
\begin{document}
  proba
  \showhyphens{meggy\"ultetv\'eny}
\end{document}
Az elválasztás akkor helyes, ha a dokumentum lefordítása után a .log fájlban jól elválasztva jelenik meg a szó, továbbá a Babel ... and hyphenation patterns for ..., loaded sorban szerepel a magyarn nyelv. A 3-as teTeX már alapból a huhyphn-t tartalmazza. (Az alábbi útmutatás lehet, hogy csak régi MikTeX-hel működik.)

A huhyphn telepítéséhez először erről a weboldalról töltsük le a legújabb huhyphn*.tar.gz-t. Az letöltött archív fájlból pl. Total Commanderrel kimásolt huhyphn.tex-et (jelenleg 400 kB-nál is hosszabb!) másoljuk a MikTeX temxf\tex\generic\hyphen könyvtárába a már ott levő huhyph.tex mellé. (Ha szükséges, írjuk felül a már ott levő huhyphn.tex-et.) Ezután a texmf\tex\generic\config\language.dat fájlból (ez a Debian rendszerek 3-as teTeX-jében /etc/texmf/language.d/10tetex.cnf), töröljük ki az összes magyar-t és hungarian-t tartalmazó sort, majd a fájl végére vegyük fel ezeket a sorokat:

magyarn huhyphn.tex
magyar3 huhyph3.tex
magyarc huhyphc.tex
magyarf huhyphf.tex
magyar huhyph.tex
=hungarian
A szövegfájlokat ne Notepad-ben (Jegyzettömb), hanem bármi másban, pl. a Wordpad-ben módosítsuk. Ennek oka, hogy a Notepad nem kezeli jól a Unix-os soremeléseket. Ezután generáljuk újra a formátumot (lásd az erre vonatkozó kérdést)). A Start menüből indítsuk a MikTeX / MikTeX options programot, amiben az itt látható módon generáljuk újra (a latex kiválasztása után a Build gombra kattintva) a latex formátumot (és a biztonság kedvéért a többi, latex-et tartalmazó formátumot is). Végül a tesztdokumentum újrafordításával ellenőrizzük a telepítés sikerességét.
az ékezetes betűket tartalmazó szavakat a LaTeX nem válaszja el
Beírni a preambulumba: \usepackage{t1enc} (vagy \usepackage[T1]{fontenc}).
a nyitó idézőjel (,,) középen szélesebb a záró idézőjelnél ('')
Beírni a preambulumba: \usepackage{t1enc} (vagy \usepackage[T1]{fontenc}).
Van egy dokumentumom, ami az új (1.5) magyar.ldf-fel nem fordul le, vagy megváltozik. Hogyan kaphatom meg az új magyar.ldf-fel a régi (1.4) magyar.ldf-nek megfelelő kimenetet?
Az egyik lehetőség, hogy bemásoljuk a régi magyar.ldf-et abba a könyvtárba, ahol a .tex fájl van. A másik lehetőség az új magyar.ldf használata \def\magyarOptions{...} nélkül. A harmadik lehetőség, hogy ez kerül a preambulumba:
\def\magyarOptions{defaults=compat-1.4}
\usepackage[magyar]{babel}
Találtam egy LaTeX-csomagot, ami csak magyar.ldf nélkül (\usepackage[magyar]{babel} nélkül) működik jól.
Biztos, hogy a legújabb magyar.ldf van használatban? A régi (1.4-es) magyar.ldf rengeteg csomaggal összeakad (alapcsomagokkal is). A biztonság kedvéért töltsük le a legújabb magyar.ldf fájlt a fenti linkről ugyanabba a könyvtárba, ahol a .tex-fájl van. Ha ez nem oldja meg a problémát, akkor próbáljuk ki az új magyar.ldf legkevésbé összeakadó beállítását: ez kerüljön a preambulumba:
\def\magyarOptions{defaults=safest}
\usepackage[magyar]{babel}
Ha még mindig rossz, akkor jelezzük a hibát a magyar.ldf szerzőjének, mellékelve a .tex-fájlt, a használt magyar.ldf-et, a jó (magyar.ldf nélküli) .pdf-et és a rossz .pdf-et. Ha a defaults=safest megjavította, akkor próbáljuk egyenként kikapcsolni a magyar.ldf opcióit, hogy lássuk, melyik a ludas. Ehhez segítséget nyújt, ha a dokumentumba elhelyezzük a \magyarDumpHuMin parancsot, és újrafordítjuk. Ennek hatására a .log-fájlban megjelenik egy soksoros \def\magyarOptions{...} utasítás, ami a defaults=hu-min összes változtatását tartalmazza a defaults=safest-hez képest. Másoljuk az utasítást a preambulumban a \usepackage[magyar]{babel} fölé, és ha ettől elromlik, akkor egyenként kommentezzük ki (tegyünk százalékjelet a sore elejére) a benne felsorolt opciókat, fordítsuk újra a dokumentumot, és ellenőrizzük. Előbb-utóbb megjavul. Így meg tudjuk találni azt az opciót a magyar.ldf-ben, amivel összeakad a problémás csomag. A magyar.ldf fájlban az over-1.4 stringre rákeresve megtaláljuk az opció alapértékét. Állítsuk be az alapértéket.
Azt szeretném, ha a dokumentum csak a legújabb (1.5-ös) magyar.ldf-fel fordulna le.
Használni kell a \def\magyarOptions-t, és preambulumba a \usepackage[...magyar...]{babel} után kódot kell beszúrni. Pl. így:
\def\magyarOptions{defaults=hu-min}
\usepackage[magyar]{babel}
\ifx\magyarOptions\relax\else 
  \PackageError{magyar.ldf}{Download newest magyar.ldf from
    \MessageBreak http://www.math.bme.hu/latex/ }{}        
  \csname @@end\endcsname \fi
túl nagy a margó
a geometry és anysize csomagokkal lehet játszani. Ha ezt írjuk a preambulumba, akkor A4-es lapon, minden irányban 2cm-es margót kapunk:
% \documentclass[a4paper,...]{...}
\usepackage{anysize}
\paperwidth=21cm \paperheight29.7cm
\marginsize{2cm}{2cm}{2cm}{2cm} % {bal}{jobb}{felső}{alsó}
\addtolength\topmargin{-\headheight} \addtolength\topmargin{-\headsep}
\addtolength\textheight{\headheight} \addtolength\textheight{\headsep}
\addtolength\textheight{\footskip}
\footskip=15pt
\ifx\pdfoutput\UnDefined \newcount\pdfoutput \fi
\ifnum0<\pdfoutput
  \pdfpagewidth\paperwidth \pdfpageheight\paperheight \pdfcompresslevel9
\else \special{papersize=21cm,29.7cm} \fi
a BibTeX irodalomjegyzék sorrendje rossz vagy tipográfiája helytelen
a plain.bst stílus helyett a huplain.bst-t kell használni (a letöltést lásd fent): \bibliographystyle{huplain}
az oldalak tetejére élőfejet szeretnék
Beírni a preambulumba: \pagestyle{headings} .
minden oldal kapjon élőfejet (a fejezetkező és az üres oldalak is)
Beírni a preambulumba:
\begingroup\makeatletter\@firstofone{\endgroup
\let\ps@empty\ps@headings \let\ps@plain\ps@headings}
\pagestyle{headings}
Ezzel szemben a magyar tipográfia előírja, hogy az üres oldalra semmilyen fejléc nem kerülhet.
a hyperref csomag furcsa hibákat produkál (pl. a dokumentum le se fordul vagy a PDF tartalomjegyzéke hibásan generálódik)
Frissítés a magyar.ldf 1.5-ös verziójára (a letöltést lásd fent). A hiba oka az, hogy a babel aktív karakterei összeakadnak a hyperref csomaggal.
a graphicx csomag nem tölthető be pdflatex-hel
Frissítés a magyar.ldf 1.5-ös verziójára (a letöltést lásd fent). A hiba oka az, hogy a babel aktív karakterei összeakadnak a graphics csomaggal. Ha a frissítés nem lehetséges, akkor a babel csomagot minél később kell betölteni.
a tételszerű környezetek tipográfiája hibás (pl. Tétel 1 jelenik meg 1. tétel. helyett)
Frissítés a magyar.ldf 1.5-ös verziójára (a letöltést lásd fent). A theorem vagy ntheorem csomagok használatakor a csomagok és a babel csomag betöltése után, de még az első \newtheorem parancs elé el kell helyezni a \theoremstyle{magyar-plain} hívást.
az amsmath, amsthm csomagok vagy az AMS osztályai (pl. amsart.cls) nem tölthetők be
Frissítés a magyar.ldf 1.5-ös verziójára (a letöltést lásd fent). A hiba oka az, hogy a babel aktív karakterei (és az 1.4-es magyar.ldf egyéb kódrészletei) összeakadnak az AMS-es kódrészletekkel.
egyes fejezetcímekben fordított aposztróf van a tartalomjegyzékben, mások elől hiányzik a pont
Frissítés a magyar.ldf 1.5-ös verziójára (a letöltést lásd fent). A hiba oka az, hogy a babel átgondalatlan nyelvváltási stratégiája.
hogyan tehető jó névelő az utalások elé? (pl. a(z) \ref{ige}.\ fejezetben helyett, ami vagy a-t, vagy az-t generál)
A preambulumba: \usepackage[magyar]{babel}, ezután a magyar.ldf \az, \Az, \aref, \Aref, \apageref, \Apageref, \acite és \Acite parancsai használhatók, például \aref{ige}.\ fejezetben, \aref({jo}). képlet szerint. Érdemes az 1.5-ös magyar.ldf-et használni, mert stabilabb -- a letöltését lásd fent.
hogyan tehető hangrend szerint is jó toldalék az utalások mögé? (pl. ,,(5)-höz hozzáadva (3)-at'')
Lásd az 1.5-ös magyar.ldf \told parancsát a MagyarLaTeX dokumentációjában.
hogyan generálható a fejezetre utalás névelővel és toldalékkal?
Lásd az 1.5-ös magyar.ldf \refstruc parancsát a MagyarLaTeX dokumentációjában. Például \az+\refstruc{ige+ben} generálhatja azt, hogy az 5. fejezetben, vagy a a 6.1. szakaszban, az ige utalástól függően.
a keletkező PDF lassan jelenik meg, a betűk nehezen olvashatók, szőrösek
Ha a preambulumba elhelyezett \usepackage{times} megoldja a problémát, akkor -- miután kivettük a fenti sort a preambulumból -- fel kell rakni az lmodern fontcsomagot (lásd fent), és a \usepackage{lmodern} parancsot elhelyezni a preambulumba. Alternatív megoldás: a cm-super fontcsomag telepítése és engedélyezése -- ekkor a preambulum változatlan. A probléma oka mindkét esetben az, hogy az EC fontoknak (T1 kódolású CM fontok) nincs Type1 változatuk, és a PDF-be kerülő raszteres fontot az Acrobat Reader lassan és csúnyán jeleníti meg. További irodalom az említett fontcsomagok dokumentációjában, lásd még TeXtrace.
bizonyos parancsok nem működnek fejezetcímben
A fejezetcím ún. mozgó argumentum (lásd még a LaTeX kézikönyvben), ahol csak ún. robust parancsok használhatók korlátozás nélkül. Az egyéb parancsok elé (és esetleg egyes belső parancstokenek elé) \protect-et téve lehet, hogy megjavul. A \verb persze ettől sem javul meg.
a LaTeX-fordítás megszakad, mert kevés a memória
a texmf.cnf fájlban növelni kell a számértékeket. A .context-es nagy értékek általában elég nagyok. Ha a hibaüzenet nem változik, akkor a növelés után fmtutil --all paranccsal újra kell generálni a formátumokat. Egyes értékek környezeti változókban is megadhatók, lásd a kpathsea programkönyvtár leírását.
a fordítási hiba után a javított dokumentum se fordul le, és fura hibaüzenet jelenik meg
Az újrafordítás előtt le kell törölni a dokumentumhoz tartozó .aux, .toc, .lof, .lot és esetleg egyéb fájlokat.
Lehetséges-e két csillag jelű lábjegyzetet készíteni, és hogyan?
MUSIXTEX-ben fogalmam sincs, LaTeX-ben pedig a legújabb magyar.ldf tudja ezt, letöltés és leírás a MagyarLaTeX honlapján (ld. Google). Ezt kell kiadni a preambulumban a magyar babel betöltése előtt: \def\magyarOptions{footnote=starplain}
Eddig nem sikerült akármekkora betűméretet létrehoznom. Van felső határa, vagy csak nem értek hozzá?
Nincs se alsó, se felső határ! De a LaTeX bizonyos betűtípusoknál csak fix méretet enged meg (buta korlátozás). Ha kiadod a \usepackage{times}-ot, akkor a Times, Helvetica stb. betűtípusok válnak aktívvá, melyeket a LaTeX nem korlátoz, itt korlátlanul használhatod a \fontsize parancsot, pl. így
\fontsize{10}{12}\selectfont
vagy
\fontsize{10pt}{12pt}\selectfont

Ezek 10pt-os betűméretetet állítanak be 12pt-os sortávolsággal.

Ha nem tetszik a Time betűtípus, akkor az ot1cmr.fd és a t1cmr.fd fájlokba (és a többi .fd fájlban, amit a LaTeX fordításkor betölt -- nevük látszik a .log fájban) kell az intervallumokat (-) beszúrni. Például a t1cmr.fd fájlban a

   \providecommand{\EC@family}[5]{%
     \DeclareFontShape{#1}{#2}{#3}{#4}%
     {<5><6><7><8><9><10><10.95><12><14.4>%
      <17.28><20.74><24.88><29.86><35.83>genb*#5}{}}
sorokat kell erre cserélni:
   \makeatletter
   \providecommand{\EC@family}[5]{%
     \DeclareFontShape{#1}{#2}{#3}{#4}%
     {<2-6><6-><7-><8-><9-><10-><10.95-><12-><14.4->%
      <17.28-><20.74-><24.88-><29.86-><35.83->genb*#5}{}}

Azért 2-6 és nem 1-6, mert az 1-es betűméret generálásával a METAFONT-nak problémái vannak :-(. Az eredeti fájlt nem illik módosítani, ehelyett jobb lemásolni az aktuális könyvtárba, és ott módosítani.

Ezután az alábbi dokumentummal lehet tesztelni:

   \documentclass{article}  % anyfontsize.tex
   \usepackage{t1enc} % -> t1*.fd
   \input t1cmr.fd
   \begin{document}
   \newdimen\DD
   \DD=2pt \loop\ifdim\DD<51pt
     \fontsize{\DD}{1.2\DD}\selectfont
     \par Font size is \the\DD.
     \advance\DD by1pt
   \repeat
   \end{document}

Figyeld meg a példában, hogy a t1cmr.fd-t kézzel újra be kell tölteni. Ez azért van, mert az alap t1cmr.fd a formátum része, tehát nem tölti be magától a dokumentum fordításakor -- de a többi .fd fájlt általában betölti.

Azt is figyeld meg, hogy a t1enc csomag miatt használja a t1cmr.fd-t, egyébként az ot1cmr.fd-t keresné.

Problémás olykor a lapméret kikényszerítése nem pdf-ben. A/5-tel sikerül, de A/6-tal nem, és szabványtól eltérő méretekben sem. Csupán kirajzolódik a megadott lapméret az A/4-es lapon. Nyomdában jelent ez valamit?
Ez a dvips miatt van így. A config.ps-be fel kell venni az összes használandó lapméretet. Keress rá az A4-re és az A5-re, és vedd vel az A6-ot hasonló szintaxissal.
Az angol tudásom sem elégséges. Azt írtad, hogy az utóbbi létszükséglet. Biztosan sok problémás helyzetem akad még, ezért nem tudom, hogy az angol nyelvet tanuljam, vagy a TeX-hel hagyjak fel?
Hosszú távon tanulj meg angolul (kiegészítő adat: a webes tartalom >60%-a angolul van -- ha érted a nyelvet, ezeket mind megtanulhatod)! A TeX-hel pedig ne hagy fel! Nagyon messzire el lehet benne jutni kevés angoltudással is. És amikor már nagyon messze jársz, addigra már angolul is jobban beszélsz. Persze végig hátrányban vagy azokhoz képest, akik eleve jól tudnak angolul, de ettől még nem veszett fejsze.
\documentclass{amsart} mellett az élőfejben a kiskapitális miatt csúnya az í betű.
Használd a legújabb magyar.ldf-et, ami megjavítja, vagy írd a preambulumba: \usepackage{textcase} .
\documentclass{amsart} mellett az élőfejben középen megjelenik az aktuális Babel nyelv neve (pl. magyar, english).
Használd a legújabb magyar.ldf-et, ami megjavítja. Egyébként a gondot az okozza, hogy az amsart.cls és a 3.8-as Babel összeakadóan definiálják át a \markboth parancsksot.
Mit kell újrafordítani, miután a \cite parancsok módosultak?
Általában elég: latex; bibtex; latex; latex. A huplain.bst használata mellett, a preambulumba az alábbiakat elhelyezve elég ennyi: latex; bibtex; latex.
\let\bibEarlyBegin\hfuzz \InputIfFileExists{\jobname.bbl}{}{}
Használhatok ékezetes betűket az \includegraphics-szel betöltött fájl nevében?
Igen, de csak akkor működik, ha az inputenc és t1enc is be van töltve. UTF-8-cal nem próbáltuk... Ha csak az inputenc van, akkor ilyesmi hibaüzenet lesz: LaTeX Error: File `saj\IeC {\'a}tk\IeC {\'e}pe.eps' not found. Fórumtéma itt.
A LaTeX rosszul számozza az ábrákat és a táblázatokat: a fejezet vagy a szakasz számát adja nekik (ezek jelennek meg \ref-ben), ahelyett, hogy saját számokat kapnának.
A \label parancsot a \caption után kell írni.
A PDF tartalomjegyzékében (outline, bookmarks) az ő és ű betűkről hiányzik az ékezet.
A hyperref csomagot a unicode opcióval kell betölteni, például \usepackage[unicode]{hyperref} . Ha nem így töltjük be, akkor az alábbi hibaüzenet utal az ékezet lemaradására: Glyph not defined in PD1 encoding, removing `\H' .
A tárgymutatóban rossz helyre kerülnek az ékezetes betűvel kezdődő szavak.
A latexes tárgymutatók rendezésére általános használt makeindex nevű program nem ismeri a magyar betűsorrendet (pl. n < o = ó < ö = ő < p). Magyar szöveghez a makeindex helyett a husort.pl ajánlott. A dokumentum ekkor így fordítható, feltéve, hogy a husort.pl az aktuális könyvtárban van:
latex dok
perl -x husort.pl dok
latex dok
A fenti parancs Unixon és Windowson is működik. Unixon perl -x husort.pl helyett elég csak husort.pl-t írni, ha a husort.pl a PATH-on van. Windows alatt szükséges még a perl.exe és az általa használt perl*.dll. A legegyszerűbben úgy rakhatjuk fel őket, hogy a perl.exe-t és a perl58.dll-t letöltjük, és a husort.pl mellé másoljuk. (Egyéb megoldások is lehetségesek, például a LaTeX kézikönyv a Strawberry Perl telepítését javasolja.)

Egyes LaTeX szövegszerkesztők (pl. a TeXniccenter) a dokumentum fordításakor automatikusan lefuttatják a makeindex-et. Amíg ez a funkciójuk be van kapcsolva, addig az adott szövegszerkesztőt nem használhatjuk husort.pl-es doumentum fordítására. A TeXworks nevű LaTeX szövegszerkesztőben nincs automatikus makeindex-funkció.

Minta .tex-dokumentum a husort.pl kipróbálásához:

\documentclass{article}
\usepackage{t1enc}
\usepackage{makeidx}\makeindex
\index{|run husort.pl -C novowelequiv -C groupheadings}
\begin{document}
Hello \index{nos} \index{oszt} \index{\'olom} \index{\"oleb}
\index{\H ofels\'ege} \index{poszt} World
\printindex
\end{document}

Minta AMS-osztályos .tex-dokumentum a husort.pl kipróbálásához:

\documentclass{amsbook}
\usepackage{t1enc}
\makeindex
\index{|run husort.pl -C novowelequiv -C groupheadings}
\begin{document}
Hello \index{nos} \index{oszt} \index{\'olom} \index{\"oleb}
\index{\H ofels\'ege} \index{poszt} World
\printindex
\end{document}
A fenti dokumentumokban a |run husort.pl sorban fölösleges a husort.pl teljes elérési útvonát megadni, mert a sor értelmezésekor már vagy a husort.pl fut, és nem fog maga helyett másikat indítani, vagy a makeindex fut, amely figyelmen kívül hagyja a sort.

Úgy ellenőrizhetjük, hogy a husort.pl sikeresen lefutott, hogy megnézzük, létrejött-e a megfelelő, \IdxPages tartalmazó dok.ind fájl. Ha ez a fájl létrejött, de \IdxPages-t nem tartalmaz, akkor valósznűleg a makeindex futott le a husort.pl helyett.

Hogyan lehet egészoldalas képet létrehozni margó nélkül?
\shipout\vbox{\parindent0pt\kern-1in\moveleft1in\vbox{
\includegraphics[width=\paperwidth,height=\paperheight]{képfájl}}}
Hogyan érhető el, hogy az ékezetes betűk is közelebb kerüljenek egymáshoz (pl. V és é között is ugyanolyan kevés távolság legyen, mint V és e között)?
Válaszom a TeX 2004-es állapotát tükrözi. Az új TeX-implementációkban (LuaTeX és XeTeX) egészen máshogy (is) megy a fontkezelés, főleg az OpenType fontok.

A kerning párok a fontfájlokan találhatók meg. TrueType font esetén a .ttf fájl tartalmaz mindent (a betűk formáját, szélességét és a kerning párokat is), OpenType font esetén az .otf fájl tartalmaz mindent (a betűk formáját, szélességét és a kerning párokat is), Type 1 font esetén legalább 2 fájl van, és ezek redundánsak: a .pfa vagy .pfb fájl tartalmazza pl. a betűk formáját és szélességét, az .afm fájl tartalmazza pl. a betűk szélességét (WX parancs) és a kernig párokat (KPX parancs).

Az alap TeX (és pdfTeX is, de a LuaTeX és XeTeX nem mindig) a fontfájlt teljesen figyelmen kívül hagyja, amikor arról dönt, hogy melyik betű hová kerüljön az oldalon (ekkor egyben arról is dönt, hogy milyen messze legyenek egymástól a szomszédos betűk). A döntéshez a TeX-nek szüksége van a betűk szélességére és a kerning párokra, és mivel a fontfájlt figyelmen kívül hagyja, máshonnan kell vennie: a .tfm fájlból veszi. Külön átalakító programok vannak (pl. afm2tfm, ttf2tfm), melyek a fontfájlból legenerálják a .tfm fájlt.

Valójában egy fontfájlból (pl. bchb8a.afm) több .tfm fájl generálódik (pl. bchb7t.tfm, bchb8c.tfm, bchb8r.tfm, bchb8t.tfm), minden fontkódoláshoz egy. A LaTeX-ben latin betűs európai nyelvekhez ajánlott fontkódolás a T1 (betölthető így: \usepackage{t1enc} vagy \usepackage[T1]{fontenc}), a példában bchb8t.tfm. Azért van szükség fontkódolásokra, mert a TeX fontonként 256 karaktert tud csak kezelni, és sok fontfájlban ennél több van (300 és 400 között), és a betűtípus összes karaktere TeX-ből csak 256-os darabokban érhető el, különböző kódolásokkal lefedve.

LaTeX-ben egy betűtípus-családot (\fontfamily) egy .fd fájl ír le, például a t1bch.fd fájl egyes sorainak jelentése:

TeX és LaTeX esetén szokásos a betűtípus-családokat és a betűváltozatokat csupa kisbetűkkel rövidíteni, pl. a bchb a ,,Bitstream Charter Bold'' rövidítése, de ez jól el van rejtve, csak a bchb8a.afm fájlból olvashatjuk ki: ,,FullName Bitstream Charter Bold''.

A .tfm és egyéb fájlok előre le vannak generálva, és a TeX-csomagkezelő a megfelelő helyre telepíti őket. A felhasználónak csak annyit kell tudnia, hogy a Bitstream Charter betűtípus-családot a \fontfamily{bch} paranccsal használhatja LaTeX-ből, és pl. Ubuntun az ,,apt-get install texlive-fonts-recommended'' paranccsal kell előbb telepítenie.

A TeX-ből generált .pdf és .ps fájlok általában tartalmazzák a betűtípusokat (de legalábbis a dokumentumban használt karaktereiket). Tehát a .pdf és .ps fájlok elkészítéséhez szükség van a betűk formáját tartalmazó fontfájlra (.ttf, .otf, .pfa vagy .pfb, a példában bchb8a.pfb), melyet szintén a TeX-csomagkezelő telepít, és a TeX-es eszközök megtalálnak.

Ismétlem, hogy az szomszédos betűk közötti távolság TeX-ben egyedül a .tfm fájlon múlik. A .tfm fájlban benne van minden betű (karakter) szélessége, és alapból a következő karakter annyival kerül jobbra, mint az aktuális karakter szélessége. Ezt módosítják a kerning párok, melyeket karakterpáronként lehet felsorolni a .tfm fájlban, pl. ha a T és az e betűk egy negatív számmal vannak megemlítve, akkor ha T után e van a szövegben, akkor ez a két bet közelebb kerül egymáshoz (mintha a T kevésbé széles lenne, tehát az e becsúszik a T jobb oldali fedele alá).

Az ékezetes betűk külön betűnek számít, tehát hiába szerepel a T--e pár a kerning párok között, ennek nem lesz hatása pl. T--é párra, ez utóbbit külön fel kéne venni. Ez így többféle módon lehetséges:

Ha elkészült az új .tfm fájl, akkor már felül is lehet írni vele a régit (vagy az újat a .tex fájllal azonos könyvtárban tartani, mert ott keresi először a TeX), és TeX-hel újrafordítva a .tex fájlt máris közelebb kerülnek egymáshoz a T és é betűk az adott betűtípusban. Általános megoldás nincs, meg kell ismételni minden betűtípusra. A .tfm fájlok felülírása hosszú távon nem ajánlott, mert később kavarodást okozhat, hogy melyik verzióból melyik keletkezett. Hosszú távon érdemesebb inkább más néven elmenteni a .tfm fájlt (és ekkor a többi fontfájlról is másolatot kell csinálni, vagy egy .vf fájlt kell készíteni, amely az eredetire hivatkozik).

A fentiek alapján az ékezetes betűket tartalmazó kerning párok felvétele TeX-hez fáradságos, és sok résztechnológia megtanulását és figyelmes alkalmazását igénylő feladat.

A választban említett fájlok:

Ezekhez a fájlokhoz 2004-ben nyúltam utoljára, már el is felejtettem, hogy pontosan hogyan működnek.

A MagyarLaTeX régi, stabil változata

Ez a bekezdés 2005 év eleje óta idejétmúlt. A MagyarLaTeX stabil változatának letöltését és használatát nem ajánljuk. Helyette a legfressebb fájlok ajánlottak (a linkeket lásd fent).

A stabil változat automatikus telepítése Debian-ra. Az alábbi megoldás Debian Woody, Sarge és Sid disztribúciókon is működik.

echo 'deb http://www.math.bme.hu/latex/dl ./' >>/etc/apt/sources.list
apt-get update
apt-get install magyarlatex

A stabil változat kézi telelepítése Debian-ra. A megoldás Debian Woody, Sarge és Sid disztribúciókon is működik. A stabil .deb erről a [letöltés] linkről érhető el közvetlenül. Az összes stabil csomag a [a letölthető file-ok listája] linkről érhető el. A legfrissebb magyarlatex_*.deb-et, és esetleg a magyarlatex-doc-*.deb-et érdemes telepíteni.

Az egyik stabil változat telepítése Mandriva Linux 2008-ra. Ez a megoldás nem a mindenkori legfrissebb változatot telepítni, hanem azt, amiből készült Mandriva-s RPM csomag. Az RPM csomagokat Lukács Árpád (az e-mail cím végéről hiányzik az u) készíti, tőle lehet kérni újabb változatot. A telepítéshez először fel kell venni az új forrást az alábbi paranccsal:

urpmi.addmedia magyarlatex http://szofi.elte.hu/~rpsoft/magyarlatex/ with hdlist.cz
Ezután a letöltés és a telepítés automatikusan végezhető az rpmdrake programmal (akár a Mandrake Control Centerből, akár önállóan indítva), a csomagok neve magyarlatex és magyarlatex-doc. A telepítés parancssorból is indítható:
urpmi magyarlatex magyarlatex-doc

Az egyik stabil változat telepítése Mandrake Linux 10.1-re. Ez a megoldás nem a mindenkori legfrissebb változatot telepítni, hanem azt, amiből készült Mandrake-es RPM csomag. Az RPM csomagokat Lukács Árpád (az e-mail cím végéről hiányzik az u) készíti, tőle lehet kérni újabb változatot. A telepítéshez először fel kell venni az új forrást az alábbi paranccsal:

urpmi.addmedia magyarlatex http://www.math.bme.hu/latex/dl/mandrake/10.1 with hdlist.cz
Ezután a letöltés és a telepítés automatikusan végezhető az rpmdrake programmal (akár a Mandrake Control Centerből, akár önállóan indítva), a csomagok neve magyarlatex és magyarlatex-doc. A telepítés parancssorból is indítható:
urpmi magyarlatex magyarlatex-doc

A stabil változat kézi telepítése egyéb Unix-ra. A MagyarLaTeX csomag stabil változata innen tölthető le, Debian .deb csomagformátumban: [letöltés] [a letölthető file-ok listája]. Az ar x FILENÉV.deb paranccsal tudja kibontani a .deb file-t (két .tar.gz file keletkezik, melyeket, de főleg a data.tar.gz-t a tar xzvf FILENÉV.tar.gz paranccsal lehet tovább bontani).

A stabil változat kézi telepítése Windows-ra. A MagyarLaTeX csomag stabil változata innen tölthető le, Debian .deb csomagformátumban: [letöltés] [a letölthető file-ok listája]. Az untarka.exe letöltése után az untarka -x FILENÉV paranccsal tudja kibontani a .deb csomagot, majd a keletkező .tar.gz file-okat is az untarka -x FILENÉV paranccsal bonthatja ki. Például ha a C:\konyv\main.tex LaTeX forrásfájl lefordítása a cél, és a MagyarLaTeX disztribúció a C:\temp\magyarlatex-latest.deb néven, az untarka.exe pedig C:\temp\untarka.exe néven lett letöltve, akkor egy parancssori ablakban az alábbi parancsokat kell kiadni:

C:
cd \temp
untarka -x magyarlatex-latest.deb
untarka -x data.tar.gz
copy usr\share\texmf\tex\generic\magyar\magyar.ldf C:\konyv\
C:
cd \konyv
latex main
Még egyszer hangsúlyozzunk, hogy nem ajánlott a magyarlatex-latest.deb letöltése, mert a MagyarLaTeX fájljainak legújabb változata nem abban található, hanem a fent látható linkeken keresztül érhető el.

A MagyarLaTeX stabil változatának dokumentációja PDF forátumban innen tölthető le: [.deb, letöltés]. Az utóbbi is egy Debian csomag, és lementés után belőle a PDF a fent leírt módon bontható ki.

Linkek egyéb magyar vonatkozású LaTeX-hes oldalakra, projektekre

A magyar TeX társaság honlapja új cím (régi cím)

A TypoTeX könyvkiadó LaTeX-hel kapcsolatos honlapja

TeX Live CD: Linux-on, Windows-on és MacOS X-en futó egy CD-s TeX (és LaTeX) disztribúció a legfrissebb csomagokkal.

MikTeX Windows-os TeX disztribúció.

Német CTAN mirror, a legfrisebb TeX-hel kapcsolatos szofteverek letöltése

TeX és LaTeX magyarul, Csárdi Gábor

Hasznos TeX-es programok és linkek, Németh László

Huhyphn: nagy szótárból készített elválasztási modul (La)TeX-hez. Sokkal kevesebb hibát vét, mint a 3.7-es Babelben található huhyph.tex.

Magyar nyelvű hivatkozások Harvard formátumban, daroczig

EuroTeX 2006