L A T E X kernelprogramozási tippek

Hasonló dokumentumok
Magyar nyelvű tipográfia L A T E X-hel

Tartalomjegyzék. Táblázatok jegyzéke

XUBUNTU Linux (ami majdnem UBUNTU)

Java I. A Java programozási nyelv

txi-hu.tex: Texinfo Package for Hungarian Language

L A TEX. Tómács Tibor

13. Fájlformátumok. Schulcz Róbert Madarassy László 13. Fájlformátumok v

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

Magyar nyelvű szöveg szedése MagyarL A TEX-hel

Technikai információk fejlesztőknek

L A TEX. Informatika 1. Első L A TEX előadás. Wettl Ferenc. Budapesti Műszaki és Gazdaságtudományi Egyetem Algebra Tanszék

Dokumentumformátumok Jelölő nyelvek XML XML. Sass Bálint Bevezetés a nyelvtechnológiába 2. gyakorlat szeptember 20.

Kiszolgálók üzemeltetése. Iványi Péter

Thesis class for the Eszterházy Károly College Osztályfájl szakdolgozat készítéséhez az Eszterházy Károly Főiskola részére thesis-ekf.cls v1.

Tartalomjegyzék. Budapest, Bevezetés 2

Bevezetés a Python programozási nyelvbe

Opensuse automatikus telepítése

1_Linux_bevezeto_bash

Komputeralgebra Rendszerek

Programozási nyelvek JAVA EA+GY 1. gyakolat

2017/01/27 08:59 1/6 Gettext Rendszer

Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

Ismerkedjünk meg a Linuxszal!

OpenOffice.org irodai programcsomag

Kedvenc Linkek a témakörben: MySQL mindenkinek Vizuális adatbázis tervezés

Tartalomjegyzék. 2.3 A GTK+ telepítése Tennivalók Windows alatt... 21

Miért lehet nagyon szeretni

Dokumentumok konvertálása PHP-vel parancssorból. A feladat a következő:

1. DVNAV letöltése és telepítése

Az R használata (tárgyalt R verzió: ) Jeszenszky Péter Debrecen Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.hu

Komputeralgebra rendszerek

A PiFast program használata. Nagy Lajos

A FileZilla program beállítása az első belépés alkalmával

Programzás I gyakorlat

Thesis class for the Eszterházy Károly University thesis-ekf.cls Version /04/08

chmod umask chown, chgrp

A LaTeX néhány alkalmazási lehetõsége esszéírásban

The elteikthesis osztály *

Programozás alapjai Bevezetés

A L i n u x r u h á j a

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

Delphi programozás I.

3. modul - Szövegszerkesztés

Telepítési és Használati Útmutató

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata

w w w. h a n s a g i i s k. h u

Apache, MySQL, PHP/Perl NetWare-n

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

Munka a fájlokkal. Az általánosan használt fájltípusok. Programfájlok. Adatfájlok

Hardver és szoftver követelmények

Debian mint Desktop Operációs rendszer

A Debian, mint Desktop Operációs Rendszer

Szavakon innen, Wordön túl

Az Ön kézikönyve XEROX PHASER 3130

Linux Mint felhasználói kézikönyv

Java I. A Java programozási nyelv

Adóhátralék kezelés egyszerűen. Telepítési útmutató. A program futtatásához Windows XP, Windows 7, 8 operációs rendszer szükséges.

Apache OpenOffice telepítési útmutató

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

Informatikai alkalmazások - levelező

Importálás. más típusú (pl:.imp,.xml,.xkr,.xcz) állomány beimportálása a nyomtatványkitöltő programba

Adatbázis és szoftverfejlesztés elmélet

Számítógépes Hálózatok GY 3-4.hét

A fejlesztendő tananyagok formai követelményei

Kommunikációs rendszerek teljesítőképesség-vizsgálata

QGIS Gyakorló. 1. kép: Koordináta levétel plugin bekapcsolása.

RapidMiner telepítés i. RapidMiner telepítés

Mobil Informatikai Rendszerek

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

Webes alkalmazások fejlesztése

S z á m í t ó g é p e s a l a p i s m e r e t e k

Operációs Rendszerek Gyakorlat Triviális segédfeladatok június PERL Tömbök és hashek Feladat: május 26-i beugró

BarAck.Net. Internetes csomagkezel. Felhasználói kézikönyv V 1.0. (2011. július 20.)

AWK programozás, minták, vezérlési szerkezetek

Ez a programrendszer (beleértve a forráskódokat is) nem üzleti célból való használat esetén teljesen ingyenes. Ebből két fontos dolog következik:

A Wiki lényege, hogy könnyen kialakítható Website-ot lehet benne megvalósítani, amelyben az egyes oldalak között linkek mutatnak.

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

DAT adatcserefájl AutoCAD MAP DWG mapobject konvertáló program dokumentáció

1. fejezet: Bevezetés. 2. fejezet: Első lépések

LINUX PMB LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

AWK programozás Bevezetés

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Fájlműveletek, könytárszerkezet Fájlkezelés a Total Commanderrel

Metamodellezés. Simon Balázs BME IIT, 2011.

BME Gyártástudomány és technológia Tanszék. Az Edgecam 2014 R2 SU4 HUN diákverziójában előforduló problémák és megoldásaik

DRUPAL 7. újdonságai. Hojtsy Gábor Drupal Hétvége, Budapest november 14. Angela Byron fóliái alapján

Automatizált Java Build. ApacheAnt használatával

Telepítés Linux alatt röviden - általánosan

Smarty AJAX. Miért jó ez? Ha utálsz gépelni, akkor tudod. Milyen műveletet tudunk elvégezni velük:

Pere László Linux: felhasználói ismeretek I. Az alapok

Írásjogtól Rootig AIX-on

Dspace fejlesztési tapasztalatok, problémák és megoldások

A Matarka szerszámosládája

Új technológiák az Ubuntuban. Új fejlesztések Amik egy éven belül jelenhetnek meg az Ubuntuban

iseries Client Access Express - Mielőtt elkezdi

Java Programozás 5. Gy: Java alapok. Adatkezelő 1.rész

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Átírás:

L A T E X kernelprogramozási tippek Szabó Péter <pts@fazekas.hu> BME Számítástudományi és Információelméleti Tanszék Második magyar TEX-konferencia 2005-12-03 13:20 Budapest, ELTE déli tömb

T E X, L A T E X, e-t E X T E X, L A T E X, e-t E X És még ezek is Kik programozzák a L A T E X-et Források Források (2) TEX: Knuth szedőprogramja (typesetting system). A TEXbook 1983-ban jelent meg. Kapcsolódik hozzá a METAFONT betűtípus-fordítóprogram. A TEX alapértelmezett fontcsaládját, Computer Modern-t Knuth digitalizálta METAFONT-tal. plain TEX: az első TEX-formátum (= alapvető makrócsomog). Knuth írta. Ezzel készült a TEXbook. L A TEX: strukturált, programozói tudás nélkül is jól használható TEX-formátum. Legfrissebb stabil verzióját, a L A TEX 2εt Leslie Lamport írta 1993-ban. (A L A TEX3 azóta is készül, 2005-ben új lendületet véve.) ε-tex: a TEX alapprogram bővítése kétirányú írással, betűszéthúzással és kényelmesebb programozási eszközökkel. A L A TEX újabban már ε-tex fölött fut, bár külső csomagok nélkül a sima TEX is elég neki. L A TEX kernelprogramozási tippek 2. TEX-konf, Budapest, 2005 1 / 14

És még ezek is T E X, L A T E X, e-t E X És még ezek is Kik programozzák a L A T E X-et Források Források (2) pdftex: a TEX alapprogram bővítése direkt PDF generálással, haladó fontkezeléssel és mikrotipográfiai eszközökkel. PDF azonban pdftex nélkül is készíthető, pl. a DVI-ból dvips-sel PostScript, majd Ghostscript-tel PDF lesz. Ezek a fóliák is így készültek. Ω: egy teljesen újratervezett és újraimplementált, TEX-kompatíbilis szedőprogram fejlett fontkezeléssel, Unicode-támogatással és a világ összes írásrendszerét befogadni képes modellel. Fejlesztése folyamatos, még nem stabilizálódott. tetex: a UNIX-okon szokásos TEX-disztribúció. Tartalmaza a fentieket és egyéb segédprogramokat is. TEX Live: CD-ről telepítés nélkül is futtatható, többplatformos (pl. Linux, MacOS X, Windows) TEX-disztribúció. CTAN: jól indexelt és tükrözött FTP szerver, az összes TEX-hel kapcsolat fejlesztés tárháza L A TEX kernelprogramozási tippek 2. TEX-konf, Budapest, 2005 2 / 14

Kik programozzák a L A T E X-et T E X, L A T E X, e-t E X És még ezek is Kik programozzák a L A T E X-et Források Források (2) a L A TEX fejlesztői a csomagok (package, style) fejlesztői. A csomagok a L A TEX funkcióit bővítik és javítják. az egyéni dokumentumosztályok fejlesztői: pl. könyv- és folyóiratkiadóknál egy mű tipográfiai tervéből ők készítenek.cls fájlt. honosítók: feladatuk, hogy az adott nyelven történő szedéshez rendelkezésre álljanak a betűtípusok, karakterkészletek és segédparancsok. szerzők: általában kisebb, kényelmi makrókat írnak vagy már meglevő csomagokat paramétereznek művük beviteléhez. tartalomkezelő szakemberek: pl. L A TEX és egyéb formátumok (pl. OpenDocument, HTML, XML,.doc) közötti konverzió L A TEX kernelprogramozási tippek 2. TEX-konf, Budapest, 2005 3 / 14

Források T E X, L A T E X, e-t E X És még ezek is Kik programozzák a L A T E X-et Források Források (2) Megalapozott L A TEX programozói tudáshoz: LaTEX 78 percben: felhasználóknak szóló könnyed leírás, fenn van a MagyarL A TEX honlapon: http://www.math.bme.hu/ latex/. TEXbook: a veszélyes és duplán veszélyesnek jelzett részeket is el kell olvasni (beleértve az ilyen feladatokat is), és meg kell érteni, mert ezekben vannak elcsepegtetve a TEX makróprogramozási fortélyok az ε-tex dokumentációja: az új primitív programázi parancsok leírása van itt. a L A TEX kernel fejlesztői leírása: Letöltendő a ftp://ftp. ctan.org/pub/tex/macros/latex/base.zip, az ebben levő.dtx L A TEX-hel DVI-vé fordítandók. Tartalmazza az alap dokumentumosztályok fejlesztői leírását is. L A TEX kernelprogramozási tippek 2. TEX-konf, Budapest, 2005 4 / 14

Források (2) T E X, L A T E X, e-t E X És még ezek is Kik programozzák a L A T E X-et Források Források (2) fájlkiterjesztések jegyzéke a L A TEX kézikönyvben (> 40 oldal) bonyolultabb csomagok leírása: pl. babel, varioref, amsmath, graphicx, hyperref, powerdot, nath, magyar.ldf. Megkeresendő a CTAN-en a csomag forrása, L A TEX-hel lefordítandók a benne levő.dtx fájlok. Tanulás mások forráskódjából. Vannak feladatok, melyek nem oldhatók meg TEX makróprogramozással. Tájékozódás a TEX-disztribúciók egyéb szokásos programjainak leírásában: METAFONT (van META- FONTbook), METAPOST, kpathsea (kpse), afm2tfm, fontinst, dvips, pdftex, dvipdfm (bár ez régi, és már nem fejlesztik), bibtex, makeindex. A TEX makrókifejtés (expansion) trükkös használatára jó példa a binhex.tex csomag, és David Kastrup hozzá kapcsolódó cikke az EuroTEX 2001 konferenciaanyagában. L A TEX kernelprogramozási tippek 2. TEX-konf, Budapest, 2005 5 / 14

Forrásfájlok Forrásfájlok (2) Amit titokban tölt be alkotóelemei alkotóelemei (2) alkotóelemei (3) szövegfájlok: A legtöbb szóba jövő fájl szöveges formátumú, vagy szöveges fájlból generálódott. Ezért a L A TEX-programozó fő munkaeszköze egy produktív szövegszerkesztő (pl. Vim, Emacs vagy akár Kate is). Jól jön egy fájlkezelő, amely rekurzívan keres szövegfájlokban (például Midnight Commander). a texmf fa: A telepített forrrásfájlok a texmf fában foglalnak helyet (ez UNIX alatt a /usr/share/texmf könyvtár és egyéb texmf nevű könyvtárak uniója). kpsewhich: Adott nevű fájlt keres a texmf fában. Csak az első, az érvényes találatot adja vissza. Néha meg kell adni a fájl típusát. Pl. kpsewhich -format="dvips config" config.ps. texmf.cnf: Itt van leírva, hogy a kpsewhich és a többi TEX-es program melyik fájlt hol keres, továbbá egyéb konfigurációs adatokat is tartalmaz (pl. max. memóriaméretek). L A TEX kernelprogramozási tippek 2. TEX-konf, Budapest, 2005 6 / 14

Forrásfájlok (2) Amit titokban tölt be alkotóelemei alkotóelemei (2) alkotóelemei (3) Fordítsuk le az alábbi példadokumentumot (próba.tex): \documentclass{article} \usepackage{t1enc} \usepackage[latin2]{inputenc} \usepackage[english,magyar]{babel} \begin{document} Hello, World! \end{document} A betöltött fájlok neve megtekinthető a konzolon és a.log fájlban. article.cls: a dokumentumosztály. Pl. a \section és \make title parancsok definíciója van itt. size10.clo: A 10 pontos szövegbetű-méretnek megfelelő betűméret- és térközbeállítások. t1enc.sty, fontenc.sty: a L A TEX-karakterparancsokat képezik le fontkódokká L A TEX kernelprogramozási tippek 2. TEX-konf, Budapest, 2005 7 / 14

(2) Forrásfájlok (2) Amit titokban tölt be alkotóelemei alkotóelemei (2) alkotóelemei (3) babel.sty, babel.def: a Babel (többnyelvű honosító keretrendszer) makródefiníciói english.ldf, magyar.ldf: honosítás az adott nyelvre próba.aux: a L A TEX előző futtatásakor keletkezett segédfájl, a mostani \ref-ek és \pageref-ek innen kapják az értéküket. A.tex fájl lefordíátása után a L A TEX újragenerálja. Az irodalomjegyzékhez a.bib és.bbl, a tárgymutatóhoz a.idx és.ind, a jegyzékekhez a.toc,.lof és.lot kiterjesztésű fájlok tartoznak. Ezek csak akkor jönnek létre, ha az adott szolgáltatást a dokumentum ténylegesen használja. Egyéb csomagok további fájlokat is létrehozhatnak (pl. a hyperref az.out-ot, és a powerdot a.bm-et). A texmf.cnf határozza meg, melyik fájl honnan töltődik be. Az aktuális könyvtár fájljai előnyt élveznek, így egy módosításhoz nincs szükség adminisztrátori jogokra. L A TEX kernelprogramozási tippek 2. TEX-konf, Budapest, 2005 8 / 14

Amit titokban tölt be Forrásfájlok (2) Amit titokban tölt be alkotóelemei alkotóelemei (2) alkotóelemei (3) Linux alatt a strace -e open latex próba paranccsal még néhány olyan fájl betöltésére is fény derül, melyet a L A TEX neem jelez a.log fájlban. texmf.cnf: már láttuk. sok ls-r fájl: a texmf fa könyvtárstruktúrájának gyorsítótára. Változás esetén az mktexlsr paranccsal root-ként újra kell generálni. aliases: álneveket képez le valódi fájlnevekre, a UNIX-os symlinkek helyett. latex.fmt: a L A TEX formátum. Egy bináris fájl, amely előre lefordított makródefiníciókat és elválasztási mintákat tartalmaz. Az elválasztási minták a 80-as években hatékonysági okokból kerültek ide, ma már ez hátrány. A forrásul szolgáló szövegfájlokról később. L A TEX kernelprogramozási tippek 2. TEX-konf, Budapest, 2005 9 / 14

alkotóelemei Forrásfájlok (2) Amit titokban tölt be alkotóelemei alkotóelemei (2) alkotóelemei (3) Az initex latex.ini paranccsal újragenerálhatjuk a formátumot (latex.fmt). (Van pdfinitex is.) A fmtutil all minden formátumot újragenerál, és a generált.fmt fájlokat a texmf könyvtárba másolja. A L A TEX formátum generálásához használt szövegfájlok (szintén a strace segítségével): tex.pool: TEX hibaüzenetek és egyéb stringek tilos szerkeszteni! latex.ini: csak a latex.ltx-et tölti be. latex.ltx: a L A TEX kernel fő makródefinícói, kb. 250 kb-nyi tömény TEX programforrás. A hozzá tartozó leírás a már említett base.zip-ben olvasható. texsys.cfg: rendszerspecifikus paraméterek (pl. fájlnevek formátuma), telepítés után nincs értelme módosítani. fonttext.cfg: csak a fonttext.ltx-et tölti be. L A TEX kernelprogramozási tippek 2. TEX-konf, Budapest, 2005 10 / 14

alkotóelemei (2) Forrásfájlok (2) Amit titokban tölt be alkotóelemei alkotóelemei (2) alkotóelemei (3) fonttext.ltx: az alapvető fontkódolás-definíciós fájlokat tölti be, és kijelöli a Computer Modern családot alapfontnak. omlenc.sty, t1enc.sty, ot1enc.sty, omsenc.sty: fontkódolás-definíciós fájlok. t1cmr.fd, ot1cmr.fd, ot1cmss.fd, ot1cmtt.fd: a Computer Modern fontcsalád L A TEX szöveges fontdefiníciós fájljai. Korai betöltésük csak gyorsításra szolgál, később még akármilyen.fd fájl betölthető szükség szerint. fontmath.cfg: csak a fontmath.ltx-et tölti be. fontmath.ltx: alapfontnak jelöli a Computer Modern matematikai fontokat, és definiálja az alapvető matematikai szimbólumokat és parancsokat (pl. \sigma, de \sin nem). omlcmm.fd, omscmsy.fd, omxcmex.fd, ucmr.fd: Computer Modern fontcsalád L A TEX matematikai fontdefiníciós fájljai. Korai betöltésük csak gyorsítás. L A TEX kernelprogramozási tippek 2. TEX-konf, Budapest, 2005 11 / 14

alkotóelemei (3) Forrásfájlok (2) Amit titokban tölt be alkotóelemei alkotóelemei (2) alkotóelemei (3) preload.cfg: csak a preload.ltx-et tölti be. preload.ltx: gyorsító céllal fontméret-leírókat (TFM). cmex10.tfm, line*.tfm, cmr*.tfm, cmmi*.tfm, cmsy*.tfm: gyorsító céllal betölöltött TFM-ek. A TFM egy bináris formátum, lásd a METAFONT leírásában. hyphen.cfg: alapvető, formátumfüggetlen makrók, melyek lehetővé teszik a nyelvek (szűkebb értelemben az elválasztási minták) közötti váltogatást. language.dat: szövegfájl, amely felsorolja, mely nyelvek elválasztási mintáit kell betölteni. Legyen benne komment nélküli magyar huhyph.tex sor. Utána újragenerálás. hpyhen.tex, frhyph.tex, dehyph*.tex, huhyph.tex és zerohyph.tex: nyelvek elválasztási mintái \patterns parancsok formájában. Az első a Knuth-féle, angol mintafájl. ltpatch.ltx: utólagos javítások helye, most üres. L A TEX kernelprogramozási tippek 2. TEX-konf, Budapest, 2005 12 / 14

Feladat és vázlat Feladat és vázlat A feladat: Csökkentse a \section-ben a szakasszám utáni közt 1ex-re, és igazítsa balra a szakasszámot. Hol van definiálva a \section parancs? A fájlkezelő túl sok a találatot ad. \def, \newcommand, \providecommand?? Csak azokat a fájlokat vegyük, melyeket a L A TEX betölt. Megvan: article.cls. A \@startsection már a latex.ltx-ben van. A \@sect és \@ssect parancsokat kell módosítanunk. Ha baj van: \tracingmacros1 és társai írnak a.log-ba. Aktív diagnosztika: \makeatletter, \expandafter\show \csname, \typeout{\meaning, \errmessage. Kompatíbilis-e a módosított változat? Babellel megy-e? AMS dokumentumosztályokkal megy-e? L A TEX kernelprogramozási tippek 2. TEX-konf, Budapest, 2005 13 / 14

?