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.