Üzemeltető: Blogger.
2011. február 3., csütörtök

postheadericon PRC készítés házilag 6.rész - .prc4 - Tartalomjegyzék megoldások

PRC készítés 4.

Tartalomjegyzék megoldások
 
A mobi rendszerében a tartalomjegyzék egy külön html fájlban tárolt lista, amivel így néhány extra dolgot is megtehetünk.


1. Egyéni tartalomjegyzék

Akkor van rá szükség, ha a könyvszöveg címsorozása és az általunk elképzelt tartalomjegyzék között valami eltérés van, azaz nem pontosan ugyanazt akarjuk a tartalomjegyzékben látni, mint ami a könyvben van.
A mobi tartalomjegyzékelésének ismeretében nulláról is gyártható TOC-fájl, de annyi a hibalehetősége, hogy inkább bízzuk a Creator-ra: szép szabályosan linkelje össze a két fájl összetartozó címeit, majd utána mi a saját elképzelésünk szerint módosítjuk az mbp_toc.html fájlt. Tehát első lépésként a Creator-ral készíttessük el az mbp_toc.html fájl. Csináljunk róla egy másolatot és nevezzük el mondjuk sajat_toc.html-nek.
Nyissuk meg a saját fájlt egy html-szerkesztővel. Mivel a Creator egy ömlesztett HTML kódot gyárt, a tartalomjegyzék fájlban kézzel kell a megfelelő sortöréseket beszurkálni az átláthatóság kedvéért. Én a sorok rendberakását egybekötöm egy kis strukturálással is, hogy jobban látszódjon a html szerkezete:
Figyeljük meg, hogy az automatikusan generált TOC fájl a HTML <ul> <li> felsorolás elemeit használja a tartalomjegyzék bejegyzések rendezésére. Érdemes önszorgalmúlag utánanézni ezek szabályos használatának, főleg az egymásba ágyazott listák esetén, ugyanis a többszintű tartalomjegyzékek ilyen HTML felsorolások lesznek.
A következő fontos lépésként a hivatkozásokból töröljük ki az abszolút mappacímzés anyagát, hogy csak a főszöveg fájlneve maradjon a #-jeles belső azonosítóval.
A legegyszerűbb ezt keresés-cserével végrehajtani: a törölni kívánt karaktersort másold a keresés mezőbe, a csere mező legyen üres, így a karaktersort semmire fogod cserélni, azaz automatikusan törlődik minden találatból. Ezzel az átalakítással tulajdonképpen az abszolút címzésről (ami csak kimondottan nálad működne) átálltunk relatív címzésre, ami mindenkinél működik, hiszen a programok ha egy linkben lévő fájlnévvel találkoznak, akkor első lépésként az adott mappában keresik (és esetünkben meg is találják) a cél-fájlt.
Innentől szabad a vásár, a hivatkozások <a...> fejezetcím </a> blokkjában lévő címekkel azt csinálhatsz, amit szeretnél. Figyelem, az <a....> tag-en belül semmit ne változtass meg, de főleg a "#mbp_toc_1" stb azonosítókra vigyázz! Ha minden címsor módosítást elvégeztél, akkor mentsd el a fájlt.
Nyisd meg a Creator-t és töltsd be a könyv OPF fájlját! A fájl-listából töröld ki a "Table of Contents" elemet:
Majd az "Add..." menüponttal vedd fel a listába a saját_toc.html fájlt és mozgasd a lista megfelelő pozíciójába:
Hasonlóan az automatikus tartalomjegyzékhez, a saját fájlt is vegyük fel a "Guide" listába a "New guide item" nyomógombbal:
A "Title" mezőbe írjuk be a Tartalom vagy a Tartalomjegyzék szót (ez fog a navigáció menüben szerepelni). A "Type" mező legördülő listájában válasszuk ki a toc típust. A "Filename" mezőbe pedig a "Browse"-al keressük meg a sajat_toc.html fájlt. További beállítások nem kellenek, így használjuk az "Update"-et a módosítások rögzítésére.

A végén mentsük el az egész publikáció-beállítást a "Save" ikonnal.
Fontos, hogy ezután a publikációban ne használd az automatikus TOC generálást és a főszövegben sem szabad olyan átalakításokat végezni, amely a tartalomjegyzékre is kihatna! (Ha mégis ilyesmire lenne szükség, akkor javasolt a fenti művelet megismétlése elölről.) Tehát értelemszerűen a saját tartalomjegyzék készítésére javasolt a leges-legutolsó műveletként belefogni, hogy ne kelljen a főszöveg valamilyen hibája miatt megismételni.



2. Tartalomjegyzék PRC végén

Alapértelmezésben az automatikusan generált TOC fájl megelőzi a főszöveg HTML-jét, ami elég faramuci képet mutat a PRC-ben. Például beékelődik a borítókép és a szerzőt-regénycímet tartalmazó címlap közé. Javasolt a TOC fájlt a publikációs fájl-lista végére száműzni azaz a PRC végére befordíttatni, így nincs olyan zavaróan a szem előtt, de a Reader-programok navigációs menüjéből elérhető marad. A művelet a listaelem kijelölése után a "Move down" utasítással végezhető el:
Persze jól jönne egy kis utalás a tartalomjegyzékre már a regény címlapját követően is. Erre szolgál a Candlekeep PRC-k esetében a regénycímet követő "Tartalom" link, ami HTML-kódban így néz ki:
<a href="mbp_toc.html">Tartalom</a>
Természetesen a "href=..." hivatkozás a valódi TOC fájlra mutasson, azaz ha saját változatra cserélted, akkor annak a neve kell itt szerepeljen.
A linket már eleve a könyv szövegének DOC felkészítésekor berakhatod a megfelelő helyre a Word "Beszúrás/Hiperhivatkozás" menüpontjával, ahol a párbeszédablakban "fájlt vagy weblap"-ot kell választani és beírni a fájlnevet (ami automatikusan generált TOC esetén mpb_toc.html). A Word link esetén a Creator-ral készített HTML fájlban ismét csak abszolút címzést fogunk találni, úgyhogy a PRC elkészítése előtt tartalomjegyzék <a ...> tag-jéből mindenképpen ki kell törölni mindent, hogy a hivatkozás a fenti mintához hasonlóan csak a TOC fájlnevet tartalmazza.
A másik lehetőség persze, hogy egyszerűen a HTML fájlba írjuk be utólag a tartalomjegyzék linket egy szabályos bekezdésként, például így:
<p align="center">(<a href="mbp_toc.html">Tartalom</a>)</p>

Ha jól dolgoztál, akkor a kész PRC-ben az adott helyen egy működő link van, amely ugyanahhoz a tartalomjegyzékhez ugrik, mint ami a navigációs menüből elérhető.
3. Tartalomjegyzék a főszövegben

A papírkönyvekben gyakran van a tartalomjegyzék a könyv belső címlapja után és ezt az elrendezést néha érdemes a PRC-ben is alkalmazni.
Első lépésként a megfelelően felkészített DOC anyagból Creator-ral HTML-t, majd ugyanúgy automatikusan generált tartalomjegyzéket készítünk, mint szokott esetben.
Nyissuk meg a főszöveg HTML fájlját és nyissunk egy üres HTML fájlt is. A főszöveg teljes <head> részét másoljuk az üres fájlba, majd másoljuk hozzá a főszöveg elejéről mindazt, amit a könyv címlapjának szánunk:
Az új fájlban zárjuk le a még nyitott HTML tag-eket kézzel. Mentsük el az új fájlt mondjuk cimlap.html néven.
Most térjünk vissza a főszöveg HTML-jéhez és a címlap szövegrészét töröljük belőle úgy, hogy a HTML szerkezete ne sérüljön:
Ezek után nyissuk meg a Creator-t és töltsük be a publikációs beállításokat. A fájl-listába "Add..." művelettel vegyük fel az újonnan készült cimlap.html fájlt. A fájlok helyének átvariálásával állítsuk elő ezt a sorrendet:
Azaz a PRC befordítása után a könyv kezdődik a borítóképpel, ezt követi a szöveges címlap, majd jön a tartalomjegyzék, és utána következik a könyv főszövege.



4. Tartalomjegyzék felbontása lapokra

Többszintű tartalomjegyzék esetén kényelmetlen lehet, ha az alsó szinteken rengeteg bejegyzés van, így mindenkinek többképernyőnyit kell lapoznia, ha egy olyan részt keres, ami a könyv végefelé található. Ezt elkerülhetjük, ha a TOC fájlt funkcionálisan részekre bontjuk. Ekkor első blikkre csak a rész-címzés listáját kapja az olvasó, majd ebből a listából léphet tovább az al-tartalomjegyzékekbe, amelyek már csak a konkrét részbe tartozó fejezetcímeket tartalmazzák:
A megoldás itt is egy automatikusan generált szabályos többszintű TOC fájllal kezdődik. Készítsünk egy másolatot a tartalomjegyzék HTML-jéről, majd nyissuk meg szerkesztésre. Csináljuk meg a sorokra tördelést és az abszolút címet is töröljük a hivatkozásokból, ugyanúgy, ahogy az 1. pont egyéni tartalomjegyzékénél csináltuk. A végeredményül egy átlátható strukturált TOC fájlt kapunk.
A "Tartalom" címsor és a bejegyzések listája közé fogjuk kézzel elkészíteni a "fő"-tartalomjegyzék lapot. Csinálhatjuk úgy, hogy a tartalomjegyzék bejegyzésekből az első szint <ul> blokkjában található <li>-vel kezdődő listaelemeket egyenként másolással összegyűjtjük erre a kijelölt pontra. A példaanyagban ezek az első szintű elemek az "ELŐSZÓ", a "PROLÓGUS", az "ELSŐ KÖNYV" stb. A sorok tartalmával még ne csináljunk semmit csak másoljuk (nem kivág/beilleszt!) össze egy listába ezeket.
Ha megvan a szűkített lista, akkor eléje írjunk egy <ul> tag-et, mögéje pedig egy lezáró </ul>-t, hogy szabályos HTML felsorolássá váljon. Mivel nem szeretnénk, ha a "fő"-tartalomjegyzékből át lehetne lapozni a többi "tartalomjegyzék-lapra", az új listánk aljára írjunk egy speciális mobi utasítást, ami egy átléphetetlen laptörést okoz: <mbp:pagebreak crossable="no"/>
Tehát a "fő"-tartalomjegyzék elkészítése után így néz ki:
Mivel a "fő"-tartalomjegyzékünk nem a könyvszövegbe, hanem a további "tartalomjegyzék-lapokra" fog mutatni, ezért az új listánk hivatkozásait cseréljük le a tartalomjegyzék HTML-jébe mutató címekkel. Ehhez rakjunk össze a fájlnévből és egy egyéni azonosítóból minden listaelemhez egy címet így: "sajat_toc.html#azonosito01". Amire figyelni kell, hogy az azonosítók ne legyenek azonosak a mobi generált azonosítóival, amit az eredeti tartalomjegyzék felsorolás használ. A címzés átalakítása után így néz ki a "fő"-tartalomjegyzék listája:
Valójában a fenti példában van néhány részcím, aminek nincsen további felosztása, így ezeknek felesleges a külön "tartalomjegyzék-lap" és a hivatkozás címe is maradhatna a generált eredeti, de most az egyértelműség kedvéért ezt a dolgot figyelmen kívül hagyjuk.

A következő lépés az automatikus generálásból készen kapott egységes tartalomjegyzék-lista felbontása szabályos rész-listákká. Keressük meg ugyanazokat az elsőszintű <li> elemeket, amelyekből összemásoltuk a "fő"-tartalomjegyzék listáját. Mindegyik elé tűzzünk be négy üres sort.
Hogy a különálló lapok lista-blokkjai működjenek a HTML-ben, mindegyiket le kell zárni a végén </ul> tag-el, és meg kell nyitni az elején <ul> tag-el. Ugyanaz itt is érvényes, mint a "fő"-tartalomjegyzéknél, hogy az olvasót ne engedjük tovább az adott lapnál, így az </ul> zárás után ide is írjuk be a laptörés kódját.
A Creator-ral generált lista az átalakítások hatására ilyen lett:
Egy-egy "tartalomjegyzék-lap" pagebreak kódtól pagebreak kódig tart. Hogy idetaláljon az olvasó a "fő"-tartalomjegyzékből, ezért a nyitó <ul> tag-ekbe be kell írni az előbb meghatározott azonosítókat így: <ul id="azonosito01">. Még egy kényelmi szolgáltatás jól jön, egy link a lap alján, amivel vissza lehet jutni a "fő"-tartalomjegyzékbe:
<p align="right">(<a href="sajat_toc.html#vissza">vissza</a>)</p>
A teljes tartalomjegyzék ilyen átalakítása után az előbbi részlet már így néz ki:
A példaábrán a "vissza"-link a hely_00 azonosítót kapta, tehát a "fő"-tartalomjegyzék kezdőpontjára ezt az azonosítót be kell még írni, hogy a linkek működjenek is. Ez a pont természetesen a "Tartalom" felirat legyen a fájl elején:
Ezzel befejeztük a tartalomjegyzék lapokra bontását: a "fő" lista elemei a tartalomjegyzék belsejébe mutatnak, a "tartalomjegyzék-lapok" elemei a könyvszövegre mutatnak, és a "vissza"-linkek a "fő"-tartalomjegyzékre mutatnak. A legfontosabb itt is ugyanaz, mint az 1. pont egyéni tartalomjegyzékénél, hogy az átalakítás után a regényszövegben már nem szabad olyan változtatást csinálni, amely hatással lenne a tartalomjegyzékre!

"Elminster"

PRC gyártás házilag 1.rész - Javaslatok
PRC gyártás házilag 2.rész - Szövegjavítás
PRC gyártás házilag 3.rész - .prc1 - Bevezető
PRC gyártás házilag 4.rész - .prc2 - Konvertálás Creator-ral
PRC gyártás házilag 5.rész - .prc3 - Tartalomjegyzék alapfokon
PRC gyártás házilag 6.rész - .prc4 - Tartalomjegyzék megoldások
PRC gyártás házilag 7.rész - .prc5 - Szövegformázás
PRC gyártás házilag 8.rész - .prc6 - HTML tisztítás
PRC gyártás házilag 9.rész - .prc7 - Karakterek és kódlapok
PRC gyártás házilag 10.rész - .prc8 - Képek kezelése
PRC gyártás házilag 11.rész - .prc9 - Linkek és jegyzetek

0 megjegyzés: