Czasami odczuwamy potrzebę poprawienia czy zmodyfikowania spisu treści jakiegoś e-booka, lub wręcz stworzenia go od podstaw – w przypadku jego braku.
Postaram się dzisiaj wyjaśnić, jak można to zrobić w miarę szybko i bez znajomości HTML-u w programie Sigil (mówimy oczywiście o e-booku w formacie ePub).
Sposób #1 – automatycznie
Na początku pokażę Wam, jak robić taki spis treści automatycznie. Trzeba przyznać, że Sigil dość nam to ułatwia – istnieje funkcja, która automatycznie wykona taki spis.
Zanim do tego przystąpimy, niezbędne jest, by poszczególnym tytułom rozdziałów przyporządkować odpowiednie nagłówki.
Robi się to w prosty sposób; zaznaczamy tytuł danego rozdziału:
I klikamy na ikonkę wybranego nagłówka:
Warto pamiętać, że używając odpowiednio nagłówków możemy zbudować hierarchiczny spis treści – czym większa cyfra w nagłówku, tym bardziej zagnieżdżony tytuł.
Czynność powtarzamy z każdym tytułem rozdziału.
Następnie korzystamy z polecenia, które znajdziemy w menu: Menu > Narzędzia > Spis Treści > Wygeneruj Spis Treści…
Pojawia się okno dialogowe, w którym poprzez zaznaczenie możemy wybrać, które tytuły mają się znaleźć w naszym Spisie treści – tytuły, których nie chcemy w spisie mają być odznaczone.
Ciekawostka: po najechaniu kursorem myszy na dany tytuł, mamy możliwość zobaczyć jak wygląda on w HTML-u.
Rozwijalna lista na dole okna dialogowego pozwala nam przyśpieszyć zaznaczanie:
„Brak” – odznacza wszystkie
„Do poziomu 1” – zaznacza wszystkie o poziomie h1
„Do poziomu 2” – zaznacza wszystkie o poziomie h2
„Wszystkie” – zaznacza wszystkie tytuły
Jeżeli ktoś na tym etapie chce zmienić tytuł, jaki pojawi się w spisie treści, wystarczy kliknąć dwukrotnie na danym tytule i go zmienić.
Został jeszcze do omówienia ostatni element okna dialogowego:
Po zaznaczeniu opcji „Pokaż tylko dane TOC” – zobaczymy w oknie dialogowym tylko tytuły które zaznaczyliśmy do Spisu Treści.
Po ustaleniu wszystkiego i potwierdzeniu przyciskiem OK, w oknie Sigila pojawi się wybrany przez nas Spis treści…
Sposób #2 – ręcznie
No dobrze, ale co zrobić, kiedy po zaznaczeniu tytułów rozdziałów i nadaniu im odpowiedniej kategorii nagłówka stracimy całe wybrane przez nas formatowanie?
Tak się zdarza na skutek zastosowania w ebooku specyficznych stylów – pozostaje wtedy druga metoda wykonania spisu treści, niestety, można to określić raczej manufakturą…
Zacznę od powiedzenia trochę o samym formacie ePub. Jest to coś, co można nazwać kontenerem – spakowanym przy pomocy ZIP (techniczne szczegóły znajdziecie w Wikipedii). Gdybyśmy tą zawartość rozpakowali, otrzymalibyśmy kilka plików i/lub/także folderów, o organizacji zależnej od programu, w jakim ten ebook został stworzony. Całą tę zawartość możemy zobaczyć programem Sigil w oknie „Zawartość Książki”.
Nas interesuje część „Text”. Od zawartości tej części zależy, jak będziemy robić spis treści (no, robi się tak samo… ale…). W zalezności od wykonania ebooka widać tam jeden plik html lub kilka, do tego różnie nazwanych. Omówię obydwa przypadki.
W pierwszym przypadku, kiedy cały ebook jest w jednym pliku, a my chcemy mu „dorobić” spis treści, posłużymy się poleceniem już poznanym w poprzednim moim wpisie: „Nazwa ID” (taaak, wiem, są lepsze nazwy niż ta, ale ta przynajmniej coś „mówi” – tak myślę…).
Wyświetlamy nazwę rozdziału i zaznaczamy ją:
Z menu Sigila wybieramy: Menu > Wstaw > Nazwa ID…
Po wybraniu tego polecenia pojawi się okienko z pytaniem o nazwę. Dla ułatwienia nawigacji można nadawać podobne nazwy. Pamiętajmy o nieużywaniu spacji.
Zatwierdzamy klawiszem OK i powtarzamy powyższe czynności przy następnych rodziałach (i podrozdziałach).
Reszta już z górki. Z menu Sigila wybieramy: Menu > Narzędzia > Spis Treści > Edytuj Spis treści:
W wyniku tego działania pojawi się okno edycji Spisu treści.
W okienku mamy dwie kolumny, „Pozycje TOC” oraz „Cel”.
„Pozycje TOC” to nazwy, jakie będziemy nadawać w spisie treści, „Cel” to odnośniki do plików/nazw jakie przedtem przygotowaliśmy.
Wiersz „Start” i odnośnik „Text/ch01.xhtml”, Sigil wstawia standardowo, by ebook nie miał pustego spisu treści (stąd po uruchomieniu Sigila, przy pustym ebooku, w oknie Spisu treści widać „Start”).
Dla wyjaśnienia: przycisk „Dodaj powyżej” – dodaje pusty wpis powyżej zaznaczonego wiersza, przycisk „Dodaj poniżej” – analogicznie dodaje pusty wpis poniżej zaznaczonego wiersza, przycisk „Kasuj” – usuwa zaznaczony wiersz.
Możemy zaznaczyć cały wiersz:
I korzystając z przycisku „Dodaj poniżej” wstawić nowy wiersz.
Klikając podwójnie (w pustym wierszu) w kolumnie „Pozycje TOC” pojawia się okienko edycji, w które wpisujemy naszą nazwę, tu „Rozdział 1”:
Zatwierdzamy Enterem:
Mamy już nadaną nazwę, teraz korzystając z przycisku „Wybierz cel” wybieramy miejsce, do którego dana część spisu treści ma się odnosić. Ponownie pojawia się okienko z pytaniem:
Zauważamy w tym spisie nazwę pliku wraz z nazwą jaką przedtem nadaliśmy – „ch01.xhtml#Rozdzial_1”. Jeżeli jest to nowy e-book, w spisie może być tylko jeden plik z nazwą, chyba że dodaliśmy ich więcej. Następnie klikamy na wybraną nazwę:
W dolnej części okienka pojawia się wybrana nazwa. Zatwierdzamy przyciskiem OK, wracając do okna edycji spisu treści:
I w ten sposób nazwa „Rozdział 1” ma swój odnośnik. (Wiersz z nazwą „Start” można skasować…)
W ten sam sposób dodajemy kolejne odnośniki to spisu treści. Po zakończeniu pracy zatwierdzamy przyciskiem OK i wracamy do okna głównego programu.
W okienku „Spis treści” widać wszystkie pozycje, które wpisaliśmy. Każde kliknięcie w daną pozycję przeniesie nas na początek wybranego rozdziału.
Warto teraz wspomnieć o drugim przypadku, kiedy każdy rozdział/podrozdział/część książki to osobny plik. Sprawa jest wtedy o tyle prostsza, że nie musimy nadawać nazw na początkach rozdziałów czy podrozdziałów książki. Wszystko wykonujemy tak samo jak powyżej, z tym że w oknie celu wybieramy nazwę interesującego nas pliku, nie patrząc na nazwy w ebooku – zamiast „ch01.xhtml#Rozdzial_1” wybieramy „ch01.xhtml” (gdyby to była okładka to wybieramy „cover.xhtml”).
Całość będzie funkcjonowała tak samo jak w pierwszym przypadku.
Do szczęścia brakuje jeszcze tylko strony ze spisem treści… ;) Ale to program też za nas zrobi. Wybieramy polecenie: Menu > Narzędzia > Spis treści > Stwórz Spis Treści HTML:
Sigil wygeneruje teraz dodatkową sekcję (po lewej pojawi się plik „TOC.xhtml”), w której znajduje się cały spis treści. Proszę pamiętać, że plik ten zależy od tego, jak przygotujemy sam Spis treści.
Plik ten możemy przeciągnąć w dowolne miejsce pomiędzy sekcjami ebooka. Jeśli wolicie spis treści na początku książki – należy przesunąć go tak, aby był zaraz po stronie tytułowej. Jeśli na koncu – należy go przesunąć na sam koniec.
Na koniec drobnostka odnośnie nazw plików. Co zrobić, gdy wypieściliśmy Spis treści, a teraz trzeba zmienić nazwę tej czy innej sekcji? Nic nie trzeba robić. :) Sigil sam zmienia odnośniki w spisie treści (przy zmianie nazw sekcji). Niestety plik HTML ze spisem musimy wygenerować/stworzyć jeszcze raz.
Wyżej opisane sposoby edycji możemy wykorzystać do zmiany/edycji Spisu treści – możemy go poprawiać, wyciąć zbędne wpisy, dodać nowe – bez znajomości HTML…
I tak, da się to zrobić szybciej znając HTML… :) Ale jak zwykle wszystko zależy od inwencji twórczej używającego.
Przy pisaniu tego przewodnika korzystałem z ebooka pt. Dziedzictwo przodków. Tod mit uns, napisanego przez Suren Cormudiana.
Pozdrawiam Wszystkich,
Robert Hnatiuk
Dopisek od R.D.:
- Gorąco zachęcam do próbowania najpierw sposobu automatycznego – po to wymyślono komputery, żeby za nas robiły pracę – oczywiście problem formatowania będzie, ale trzeba po prostu trzymać się styli. W Sigilu generowanie spisu treści wygląda bardzo podobnie jak w Wordzie – tam też musimy określić nagłówki różnych poziomów. Jeśli w e-booku mamy konsekwentnie stosowane nagłówki, to będziemy też w stanie wygenerować spis w Calibre – jak pokazałem to np. przy przepisie na konwersję PDF.
- Tydzień temu ukazała się wersja 0.8.1 Sigila.
- Pojawiła się też nowa wtyczka – epubcheck do sprawdzania poprawności pliku, wymaga w systemie Pythona i Javy.
Czytaj dalej:
- Chocolatey – czyli jak automatycznie aktualizować takie programy jak Calibre czy Sigil?
- Przetłumacz sobie e-booka! Wtyczka Ebook Translator do Calibre używa ChatGPT, DeepL lub Google i radzi sobie bardzo dobrze
- Czytaj Kraków – kolejna odsłona akcji CzytajPL! Lista książek do przeczytania bezpłatnie i kod QR
- „To tylko teoria” zniechęca do czytania e-booków. Czytelnicza bzdura roku?
- Calibre 7.0 – kolejna „duża” wersja programu do zarządzania e-bookami
- Internet Archive przegrało proces z wydawcami w sprawie „kontrolowanego wypożyczania” e-booków
Dobra robota!
Da się to zrobić szybciej nie znając HTML. Wystarczy użyć ebook-edit.exe z folderu Calibre. :)
Jak mamy każdy rozdział w osobnym pliku to program ma opcję Wygeneruj spis treści na podstawie plików. Działa bardzo dobrze.
Jak nie mamy to wystarczy otworzyć plik z tekstem i go podzielić. Po prawej pod podglądem książki jest opcja „Podziel plik w wybranym miejscu”. Szukamy więc kolejnych rozdziałów przez CTRL+F, dzielimy a później używamy wspomnianego generowania.
Jak chcemy spis kilkupoziomowy to wybrane elementy przenosimy kombinacją CTRL + strzałka w prawo.
To samo robi Sigil (tzn podział pliku z tekstem), można zrobić to ręcznie lub automatycznie. Ale to zrobimy w następnym wpisie…
A może zrobisz osobne wpisy dotyczące programów dołączonych do Calibre? Myślę że byłoby to pomocne.
Czyli wychodzi na to, że jednak i tu i tu tak samo szybko to idzie. :) Teksty może jakieś napiszę, ale to za jakiś czas i nic nie obiecuję. Poza tym cały czas uczę się nowych rzeczy przez praktykę i na pewno jeszcze wielu nie wiem.
Właśnie, chodzi o podanie praktyki… Wiadomo że kalkulatorem wbijesz gwóźdź w deskę, ale lepiej do tego użyć młotka. Ja też, jak widzisz, nie jestem super-znawcą tematu, niemniej pewne rzeczy sobie wypracowałem i tu piszę o tym… Dlatego zachęcamy też innych. Może docelowo z tego powstanie zbiór pod tytułem „Jak szybko i skutecznie…”. :)
(No tak, są osoby które więcej wiedzą, ale… jakoś brakuje takich poradników…)
Nie wiem czy to kwestia przyzwyczajenia do Calibre, ale ebook-edit jest dla mnie uboższy w opcje i mniej intuicyjny.
Ja zwykle strukturę książki (nagłówki) przygotowuję w Libre Office, eksportuję do formatu html i ten html zaciągam do Calibre.
Calibre generuje wtedy spis treści? Ja sobie dłubię w OO, potem Calibre z tym że mam taki problem: jeżeli nie stworzę Spisu Treści w dokumencie OO, Calibre nie radzi sobie z generowaniem automatycznego (w ogóle go nie tworzy). Jeżeli zrobię spis treści za pomocą OO, powiedzmy na początku dokumentu, dopiero wtedy Calibre tworzy automatyczny. Tak jakby zauważał nagłówki dopiero kiedy są w gotowym spisie treści.
Druga sprawa, jak się pozbyć niepotrzebnych Enterów z pliku po przeniesieniu tekstu z PDFa do TXT/ODT? Wystarczyło by mi gdyby udało się wyeliminować nawet tylko te w środku zdania. Mam taki pomysł żeby zamienić ciąg „[.][Enter]” na jakiś inny (powiedzmy „XYZZZ”, potem wywalić wszystkie [Enter]y i zamienić z powrotem na „[.][Enter]” tyle że za bardzo nie wiem czym ;)
Jakaś podpowiedź?
Bardzo dobrze w takich sprawach radzi sobie Sigil. Możesz zamieniać „całe ciągi z Enterem” na „całe inne ciągi z Enterem”. Ale z tego co wiem, musisz skopiować je z „natury” i skorzystać z Znajdź/Zastąp… Przy czym pamiętaj o ustawieniach szukania…
Jednak nic z tego, Sigil widzi te bloki jako paragrafy, już łatwiej w OO z włączonymi znakami niedrukowalnymi usunąć te niepotrzebne entery na piechotę.
Ktoś wie jak wstawić ten znaczek Entera do okienka „Zamień”?
O ile dobrze pamiętam, to Sigil obsługuje tzw. znaki escape, czyli w tym wypadku będzie to \n lub \r
Żeby calibre (edit e-book) sobie poradził ze stworzeniem spisu to masz dwie możliwości:
1. CTRL+Enter przed rozdziałem – czyli Nowa strona. Calibre na podstawie tego dzieli na pliki. A jak masz rozdziały osobno to spis treści robisz tak jak opisałem wyżej.
2. Sposób z powyższego artykułu – robienie z rozdziałów nagłówków. Żeby calibre je zobaczył przy konwersji wejdź w Spis treści -> pierwszy poziom spisu treści (wyrażenie Xpath) i wpisz tam //h:h1 (ew. zamiast h1 daj h2/h3 itd. jeśli używasz stylu Nagłówek 2/3). Ważne – plik z OO zapisz jako .html a nie .odt czy inny tekstowy, bo inaczej coś to nie chce działać. :D
Co do źle złamanych linii to tutaj masz odpowiednie wyrażenia regularne do ebook edit (w Sigilu pewnie też zadziałają) i instrukcje:
http://forum.eksiazki.org/epub-f157/epub-laczenie-zle-zlamanych-linii-t13511.html
ale jak je dostosować do LibreOffice niestety nie wiem.
zawsze używam Ctrl+Enter przed rozdziałem, nagłówki też były ustawione tyle że nie wpisywałem tych wyrażeń (h/h1 itd.), teraz działa jak należy, zarówno z HTML jak i z ODT poszło bez problemów, ogromne dzięki za pomoc, z Sigilem powalczę jutro bo już późno :)
Zachęcam do wypróbowania narzędzia BackTypo (dostępnego pod adresem: http://www.backtypo.com). Pozwala na szybkie i intuicyjne tworzenie ebooków (epub, mobi, pdf). Wystarcza na ogół znajomość edytora tekstu. Oczywiście narzędzie jest bezpłatne.
Mam pytanie. Przekonwertowałem sobie książkę z html do mobi, zależało mi na tym aby był odpowiedni wielopoziomowy spis treści więc podczas konwersji ustawiłem nagłówki w calibre. Wszystko wydaje się być ok ale że tak to ujmę nie mam rozwijanego spisu treści w go to na kindle pw 2. Z kolei w calibre ten spis treści jest rozwijany i wydaje się być ok. Co muszę zrobić aby spis treści na pw2 wyglądał na rozwijany tak jak w niektórych innych książkach które mam kupione?
Jak bardzo rozwijany? Kindle odsługuje tylko 2 poziomy. Daj plik *.ncx to zobaczę co tam w środku jest. Możesz go wziąć zapisując plik z calibre w formacie EPUB, a potem rozpakować (to ZIP ze zmienionym rozszerzeniem).
Kurcze chyba nie wrzucę tu tego pliku bo automatycznie generuje sam tekst. Proszę o usunięcie poprzedniego komentarza.
Niestety nie wrzucę tutaj w komentarzu treści tego pliku bo jest za długi i automatycznie znaki html są usuwane z komentarza.
Możesz wrzucić na jakiś serwis hostujący pliki (np. sendfile.es), a tu dać link.
Wrzuć może w pastebin.com albo w podobnym serwisie i podaj link.
Przy konwersji do mobi w Calibre w zakładce „Wyjściowy MOBI” ustaw pole „Typ pliku MOBI” na new lub both, domyślnie jest chyba old. Stary format mobi obsługiwał tylko jeden poziom nagłówków w spisie treści. Aha: jeśli ustawisz na „both”, w pliku mobi będą upchane dwa formaty, plik będzie znacznie większy.
Ewentualnie, jak już masz epub, możesz przekonwertować programem kindlegen:
https://www.amazon.com/gp/feature.html?docId=1000765211
Spróbuje dzięki
A jak mam wysłać ten plik poza kablem na czytnik skoro ani Kindle dla PC ani poprzez email nie da się wysłać plik mobi w wersji new oraz both? Bo ciągle krzyczy takim tekstem:
The Kindle Personal Document Service can convert and deliver the following types of documents:
Microsoft Word (.doc, .docx)
Rich Text Format (.rtf)
HTML (.htm, .html)
Text (.txt) documents
Archived documents (zip , x-zip) and compressed archived documents
Mobi book
Wersja old wysyła się bez problemu.
Mam Kindla PW2
Jak masz plik z kindlegen to spokojnie można wysłać. Jeśli nie to znaczy że uszkodzony/niezgodny ze specyfikacją.
Musisz wgrać po kablu, niestety. „Send to Kindle” nie przyjmuje ebooków w „nowym” formacie , ta sprawa jest tak stara, że myślałem że dawno ją naprawiono. Nawet to kiedyś zgłaszałem, tak ze trzy lata temu :-(
Oki to na razie sobie poczytam z taką nawigacją a w domu zobaczę czy ten nowy mobi już wyświetla rozwijane menu. Dzięki wielkie tak czy siak.
OK, sprawdziłem i przy konwersji w Calibre format „both” przechodzi mailem, a „new” jest odrzucany. Plik z kindlegena (domyślne parametry) przechodzi.
Spis treści jest zagnieżdzony do dwóch poziomów, jak wyżej pisał Athame, ale tego nie przeskoczysz. Zresztą tak jest czytelniej.
Problem w tym że u mnie zagnieżdżenia tego pliku konkretnego w Kindle nie widać tylko jest normalnie:
1.Tytuł
1.1. Podtytuł
2. BlbaBla
i tak dalej….
A w Calibre są strzałki z zagnieżdżeniem czyli jest ok.
O kurcze zadziałało z mobi both :))) dzięki wielkie.. wcześniej wydawało mi się że nie przechodziła ta wersja mobi.
Czyli aby wyświetlać poprawnie zagnieżdżone spisy treści to trzeba używać new mobi. :)) (both żeby wysłać mailem) THX
Konwersja mobi „new” tworzy plik AZW3, wysyłka na Amazon nie obsługuje tego. Natomiast „both” tworzy w jednym pliku mobi dwa formaty „stary mobi” i nowy AZW3. Oczywiście pod jednym rozszerzeniem mobi. Takie pliki przechodzą na Amazonie.
Nawiasem mówiąc, Robert tu poruszał już temat wysyłki ebooków przez Amazon, wraz z wyjaśnieniem co i jak.
Najlepiej użyć kindlegen / KindlePreviewer na pliku EPUB. Taka wersja będzie optymalna jeśli chodzi o czytniki Kindle i chmurę Amazon.
Nom może ale ja akurat miałem plik w wordzie i chciałem sobie zrobić dobry mobi ze spisem treści. A calibre sobie dobrze poradził.
Fakt ale moim zdaniem skoro Czytnik obsługuje dany format to narzędzia także powinny wspierać przesyłanie takich plików. Tu minus dla Amazonu.
Nie wiem czy zauważyłeś, przesyłany plik ma rozszerzenie AZW3. Ale już jest zakodowany… ;)
Nie wiem czy dobrze zrozumiałeś, ale to że „chmura” Amazon-a nie przyjmuje pliku zawierającego wyłącznie KF8 to skandal i nie ma co udawać, że jest dobrze jak jest.
Zrozumiałem. Podałem tylko ciekawostkę.
Niestety, jeżeli sprzedaje się czytniki po kosztach, by zarabiać na kupowanych treściach, to dyktuje się warunki…