| BME Híradástechnika Tanszék Üzleti Adatbiztonság Labor |
Tihanyi Sándor V. Info |
Ez a támogatás vonatkozik:
A továbbiakban a teTeX-1.0 LaTeX csomag beállítását és használatát fogom bemutatni. Feltételezem, hogy a csomag a /usr/share/texmf/ könyvtárban foglal helyet.
A magyar elválasztás engedélyezéséhez a következő feladatokat kell végrehajtani:
%magyar huhyph.texsor elől. Ha nincs ilyen sor, akkor be kell írni, ilyenkor célszerű megnézni, hogy a
/usr/share/texmf/tex/generic/hyphen/könyvtárban megvan-e egyáltalán a huhyph.tex állomány!
cd /usr/share/texmf initex 'latex.ltx \dump'A keletkező fájlok:
cd /usr/share/texmf/web2c mkdir old mv latex.fmt latex.log old/ # Biztonsági másolat a régiről cd /usr/share/texmf mv latex.fmt latex.log /usr/share/texmf/web2c/
A magyar nyelv esetében is ez a helyzet. A megfelelő fájl a magyar.ldf.
Lássuk például a generált szövegek fordítását:
| Angol | Magyar | HIBA! | Megjegyzés |
|---|---|---|---|
| Preface | Előszó | ||
| References | Hivatkozások | (article dokumentum-osztályban) | |
| Abstract | Kivonat | ||
| Bibliography | Irodalomjegyzék | (report és book dokumentum-osztályban) | |
| Chapter | Fejezet | Fejezet 1 | |
| Appendix | Függelék | ||
| Contents | Tartalomjegyzék | ||
| List of Figures | Ábrák jegyzéke | ||
| List of Tables | Táblázatok jegyzéke | ||
| Index | Tárgymutató | ||
| Figure | ábra | ábra 2.1 | |
| Table | Táblázat | Táblázat 3.4 | |
| Part | Rész | Rész 1 | (article dokumetum-osztályban nincs) |
| encl | Melléklet | (csak letter dokumentum-osztályban) | |
| cc | Körlevél-címzettek | (csak letter dokumentum-osztályban) | |
| To | Címzett | (csak letter dokumentum-osztályban) | |
| Page | oldal | ||
| see | Lásd | (kisbetűvel kellene) | |
| see also | Lásd még | (kisbetűvel kellene) | |
| Proof | Bizonyítás |
(A táblázatban látható kifejezéseken kívül a dátum magyarítását is tartalmazza a magyar.ldf.)
A harmadik oszlopban jelöltem azokat a helyeket, ahol téves a magyarítás.
A probléma az, hogy nem elég a szavakat lefordítani, az egész generált szerkezetet át kell ültetni az adott nyelvre. Így például a ,,Chapter 1''-nek nem ,,Fejezet 1'' a magyar megfelelője, hanem ,,1. fejezet''. (Tagok sorrendjének cseréje és pont elhelyezése a sorszám után.) Hasonló a helyzet az ,,ábra 1.1'' esetében: a helyes az ,,1.1. ábra'' lenne. (Itt az angol megfelelő a ,,Figure 1.1'' volt.) A probléma úgy oldható meg, hogy a Babel csomaghoz tartozó magyar.ldf-et átírjuk, illetve lecseréljük. Szerencsére Bérces József (jozsi@dosc4.mht.bme.hu) megírta a módosításokat, ezzel nem kell törődnünk. (A kibővített magyar.ldf letölthető többek között a http://www.math.bme.hu/latex/magyar/magyar.ldf címről.) Az újabb tetex disztibúciókban (0.9, 1.0) ezt a fájlt használat előtt módosítani kell, mert a LaTeX belső átalakítása miatt a
\declare@shorthand{magyar}{``}{\glqq}
sort nem értelmezi a rendszer (a LaTeX futása hibával leáll) -- tegyünk
elé komment jelet (%).
A sor jelentése: az angol felső idézőjelet (két ,,6-os'' alakú felsővessző) feleltesse meg a magyar nyitó idézőjelnek (két ,,9-es'' alakú alsóvessző). Ez csak kényelmi funkció lenne, hiszen a magyar nyelvű LaTeX szövegben két vesszővel jelöljük a nyitó idézőjelet, két szimpla (,,9-es'' alakú) felsővesszővel a záró zárójelet. (A normál kettős felső idézőjel használata (ami a billentyűzeten is szerepel) tipográfiailag nem helyes a magyar nyelvben, helyette használjuk az előbbi módszert!)
A módosított magyar.ldf az eredetihez képest több mindent is tartalmaz. Az első része a kijavított automatikusan generált szövegek megadása, beleértve a dátum magyar formáját (változatlanul), a második blokk az említett sorrend-cserékkel és pont (.) beszúrásokkal foglalkozik. A harmadik rész olyan makrókat definiál, ami megkönnyíti a hivatkozások (főleg számok) névelővel való kiegészítését, ami a kétféle határozott névelő (,,a'' és ,,az'') miatt nem is olyan egyszerű. A makrók fejezet-hivatkozások, oldalhivatkozások, ábrahivatkozások, irodalom-hivatkozások névelős beillesztését teszi lehetővé. A negyedik rész olyan segédeszközt nyújt, amivel a hosszú kettős mássalhangzók helyes elválasztását segíthetjük elő. Ez is magyar sajátosság, és nem mindegy, hogy a ,,vissza'' elválasztva ,,viss-za'' vagy ,,visz-sza''! Ha megjelöljük az ilyen helyeket ,?6-os'' alakú felsővesszővel (angol billentyűzeten az 1-es mellet, magyar billentyűzeten AltGr-7, például ,,vi`ssza''), akkor a makró az elválasztást intéző résznek érthető formára hozza a forrásszöveg ilyen részeit. (Ebben a részben található meg az említett hibát okozó sor is.)
A Babel a nyelvnek megfelelő ldf-fájlt először az aktuális könyvtárban, majd a ,,hivatalos'' helyén keresi, így módunkban áll a mi általunk készített/beszerzett magyar.ldf-et használni, ha a LaTeX forrás könyvtárába helyezzük fordításkor.
Egy rövidke részlet (forráskód-váz) legyen a segítségünkre!
\documentclass[a4paper]{article} % A4-es papír USLetter helyett (az a default)
\usepackage[magyar]{babel} % a Babel csomagot a magyar nyelvvel használjuk
\usepackage[latin2]{inputenc} % Latin-2-es kódolású ez a forrás
\usepackage{t1enc} % a belső ábrázolás és a kimeneti font-kódolás
% a T1 kódolás
\usepackage{indentfirst} % az első bekezdés is behúzott legyen, ne csak a 2-tól
\frenchspacing % a mondatköz ugyanakkora nagy, mint a szóköz
\setlength{\parskip}{\smallskipamount} % bekezdések közötti távolság beállítása
% (gumi-méret: 3pt plus 1pt minus 1 pt)
\title{Cím} % mi kerüljön a cím részbe?
\date{Dátum}
\begin{document} % itt kezdődik a dokumentumunk
\maketitle % először a címrészt beillesztjük
Szöveg\ldots % Lehet alkotni!
\end{document} % vége a dokumentumnak és a fájlnak
(Lehetőség van közvetlen lézernyomtató kimenetet is előállítani a dvilj paranccsal, ezt azonban még nem használtam. Van még számtalan segédprogram a DVI formátum másra átalakítására.)
Létezik segédprogram HTML és RTF formátumra való kódoláshoz, ezt azonban nem DVI kimenetből, hanem az eredeti LaTeX forrásból készítik. A csomagok neve latex2html, latex2rtf. Ezek a csomagok PERL nyelvű (szövegátalakító) modulokból állnak. Főleg az elterjedtebb nyelveket támogatják (angol, német, francia), ezért lehet, hogy magyar nyelvű dokumentumok konvertálásánál nem a várt eredményt kapjuk. A három nyelvet leíró PERL modul alapján el lehetne készíteni a magyar nyelvet támogató változatot is, főleg a kibővített magyar.ldf-beli makrókat kell megírnunk. (Mivel ezek a segédprogramok nem használják a LaTeX-et és a Babel kiegészítést, ezért a magyar.ldf-ben definiált megfeleltetéseket itt is meg kell írni, a nem standard makrókat hasonlóan.)
A latex2html (paraméterezéstől függően) bizonyos logikai egységenként új HTML lapot generál, és kiegészíti navigációs linkekkel, ikonokkal. Így elérhető, hogy pl. fejezetenként léptethető HTML dokumentum-csomagot generáltassunk a segítségével LaTeX forrású publikációnkból.