Hopp til hovedinnhold
av Ørjan Persen — sist endret 2022-01-21T10:54:08+01:00
Har du en tekst du ønsker å gi ut som e-bok? Her er en guide på hvordan du kan lage din egen e-bok fra grunnen av.

 

Alle med grunnleggende IT-kunnskaper kan lage en e-bok. Vi bruker kun fri programvare, så det vil heller ikke koste deg noe å følge guiden vår. Det er riktignok en del steg på veien til ferdig e-bok, så du må regne med å bruke noen dager.

I guiden vår lager vi e-boken i tre formater, epub, mobi (for Kindle) og html (nettside). Det er en XML-fil som er utgangspunktet for alle utgavene. Det er også mulig å konvertere til andre formater, for eksempel PDF om du har behov for det.

1. Hva trenger du?

Utgangspunktet er en tekstfil uten formatering. Vi bruker programmet notisblokk eller Sublime Text 2. Sublime Text 2 gir et mer oversiktlig utgangspunkt. Sublime Text 2 kan lastes ned her.

 Kopier teksten som skal bli en e-bok over i Sublime Text 2 og lagre txt-filen. All formatering som overskrifter, kursiv og avsnitt, skal vi enten kode i XML eller hente fra en CSS-fil (gjennomgående stilark).

Har du teksten din i Word (.doc), lagre dokumentet som ren tekst (.txt): Fil -> lagre som ->velg filtype "Ren tekst" fra nedtrekksmenyen.

Hvis du har en PDF-fil kan du også lagre denne som en txt-fil. I Adobe Reader velger du fil -> lagre som annet -> "Tekst".

Hvis du skal konvertere en trykt bok til e-bok, må du først skanne boken og bruke et tekstgjenkjenningsprogram (OCR) for å hente ut teksten. Vi tar utgangspunkt i at du har en tekstfil og tar ikke dette med i guiden vår. Det er ikke vanskelig, men tar en god stund om du har en vanlig skanner. Vi har fått våre tekstfiler fra Nasjonalbiblioteket.

Hvis du ikke har en egen tekst du ønsker å arbeide med, kan du bruke denne korte teksten (15 sider) som eksempel. Det er to artikler fra boken Flagget av Nordahl Grieg.

2. Programmer

Det viktigste programmet og det du kommer til å jobbe mest med er en XML-editor. Vi bruker programmet XML Copy Editor, last ned programmet her.

Til å lage epub-filer og konvertere til andre formater har vi brukt disse programmene:

Sigil - Sigil brukes til å lage og redigere epub-filen og dele boken inn i kapitler.

Calibre - Calibre konverterer epub til mobi og andre formater.

Klikk på lenkene for å komme til en nedlastningsside for programmene.

 3. Kodebok

Vi trenger en oversikt over hvilke koder som skal brukes. I normal tekst brukes koden p, et avsnitt vil se slik ut:

<p>

Dette er en test. All tekst må stå inne i kodetagger og kodetaggene er avgrenset av skarpe klammer. Kodetaggene avsluttes normalt med en skråstrek først i taggen.

</p>

 

Vi bruker Bokselskap.no sin kodebok som du finner her.

4. Andre filer

Vi trenger også noen andre filer, en DTD-fil og to XLS-filer. Disse bruker vi i konverteringen fra XML til epub og html. Vi må også ha en CSS-fil som bestemmer utseende på e-boken.

last ned DTD-fil

Last ned XLST-fil for epub

Last ned XSLT-fil for html

Last ned CSS-fil

5. Oppstart

Begynn med å lage en mappe der du legger .txt-filen du skal bruke, DTD-filen, XSLT-filene og CSS-filen. Ikke bruk æ, ø, å eller mellomrom i mappe- og filnavnene. Eksempel på filnavn: stene_i_strommen

6. Eksempelfil i XML

Last ned eksempelfilen i XML. Lagre eksempelfilen i mappen

Eksempelfil

7. Grunnstruktur for XML fil 

 Alle xml-filene skal ha følgende grunnstruktur (klikk for større bilde) :

xml2 Hoveddelen av teksten kodes i

<body>

for eksempel alle kapitlene i en roman. I

<front>

plasserer man det som kommer før hoveddelen av teksten, det vil si informasjon om hvem som har skrevet boken og tittelen på boken.

8. Opplysninger om utgivelsen  <teiHeader>

Nå åpner du eksempelfilen i XML-editoren og begynner med å redigere opplysningene om utgivelsen. Opplysningene i <teiHeader> vises normalt ikke.

"FORFATTER_VERK" i linje 3 byttes ut med rett tittel og forfatter og eventuell. OBS! Her kan du ikke bruke mellomrom.

Legg til tittel i linje 9 (XML eksempelfil).

I linje 13 legger du til hvem som er utgiver eller forfatter.

I linje 16:

<sourceDesc>

legger du inn informasjon om hvor teksten er hentet fra. Har du brukt Nasjonalbiblioteket kan du legge inn nummeret til boken i bokhylla. Er det din egen tekst kan du slette all teksten slikt at linje 16 ser slik ut:

<p></p>

 

I linje 26 legger du inn forfatter og tittel på boka på nytt. I linje 13 legger du inn informasjon for hele XML-dokumentet, her legger du inn forfatter og tittel-informasjon for denne teksten.  Informasjonen vil som regel være lik, men en kan også ha flere tekster eller bøker i sammen XML-dokument. Legg inn "novel" for romanen," collection" for novellesamlinger, "poems" for dikt og "non-fiction" for sakprosatekster.

9. Opplysninger om utgivelsen: <front>

 Opplysningene du legger her vil vises på de første sidene av e-boken. Legg inn de opplysningene du ønsker. En kan også vente med å redigere opplysningene her til du er ferdig med selve e-boken. Har du ikke noe bilde du ønsker med her sletter du den delen som begynner med

<div

type ="illustration"> og slutter med 

</figure>

</div>

. Opplysningene i

<titlePage>

er det som tilsvarer tittelsiden i en trykt bok.

10. XML

Nå er du klar til å begynne å lage eller kode selve e-boken. Før du går i gang er det fornuftig å vite litt om XML.

XML (Extensible Markup Language) er et markeringsspråk som vi bruker til å strukturere innholdet i en e-bok. Det vil si å angi hva som er tittel på boken, hva som er en overskrift og inndeling i avsnitt. En bruker også XML til å formatere e-boken, det vil si å bestemme hvilke ord i teksten som skal være uthevet med fet skrift eller være kursivert.

Et kapittel markeres i XML med taggen <div>. Alle taggene har skarpe klammer og tagger avsluttes vanligvis med en skråstrek foran koden. Her er et eksempel:

<div>

Dette er teksten som er synlig. Alt som står i skarpe klammer sier noe om hvordan teksten skal se ut og skjules i den ferdige e-boken.

</div>

Andre viktige koder:

Overskrift:

<head>

Avsnitt:

<p>

Vers:

<lg>

Kursiv :

<hi

rend ="italic">

Her er et grunnleggende kurs i XML, det kan være lurt å se litt på dette før en begynner.

Det er flere koder i eksempelfil 2, en oversikt over alle kodene vi bruker finner du i kodenboken til Bokselskap.no.

 

11. Koding

 Nå kan du begynne på selve boken eller <body> som det kalles i XML. Det er lurt å kode en begrenset mengde tekst av gangen og jevnlig sjekke at filen er uten feil. Ta en eller to sider tekst, legg til tagger og trykk på grønn og blå hake i XML Copy Editor for å kontrollere at teksten er velformet og at den lar seg validere.

Vær nøyaktig i kodingen! Hvis du glemmer en hakeparentes, setter et punktum utenfor slutt-taggen, eller glemmer skråstreken i sluttaggen, er det lett å bli stående fast og bruke tid på å lete etter feilen.

Har teksten din kun en del, er det nok med en enkel overordnet inndeling:

<div>

Legg all tekst i en tagg som heter div. "Div" står for del og kan videre deles i to hovedtyper: "chapter" for kapittel og "part" for (hoved)del

</div>

 

 Har boken/teksten du jobber med flere kapitler kan du begynne slik:

<div

type

="chapter"

n

="1">

 

Nå har du en div eller del som må avsluttes korrekt. Vi må også avslutte body, txt og TEI-elementet De fire siste linjene i XML-filen skal nå se slik ut:

</div>
</div>
</body>
</text>
</TEI>

Overskriften legges inn i koden <head>. Slik: <head>OVERSKRIFT</head>

Eksempelteksten har en dato som er høyrestilt og i kursiv og kodes slik:

<p rend="rightAligned"><hi rend="italic">25. oktober 1940.</hi></p>

Selve teksten er enkel å kode, slik vil første avsnitt se ut i XML:
<p>Når en ligger om natten i London, kan det være
vanskelig å huske at en er omgitt av en menneskeverden,
millioner av hjem. Kanonene skyter overalt &#x2013; med
tunge brak eller hurtige hissige smell, og av og til
dirrer drønnet av en bombe fra et av de tyske flyene.
Det er som å ligge midt ute på en veldig mørk slette,
en slagmark som er øde for alt annet enn soldater og
våpen. Men hver morgen skjer underet, slagmarken
synker ned, og som på en mektig elevatorscene stiger et
nytt scenebillede opp, en levende kjempeby, realistisk
til de minste detaljer, med røde busser i solskinnet, og
langs fortauene en strøm av mennesker som smetter ut
og inn av butikker og hjem.</p>

&#x2013; i teksten står for en kort tanskestrek. I stedet for å skrive tankestreker, anførselsteng og andre spesialtegn i XML-editoren bruker vi bestemte koder eller entiteter. Det sikrer at konverteringen går uten problemer. Vi har kodet formatering som kursiv og tankestreker til slutt, se punkt 12.

Et stykke ut i eksempelteksten er det er dikt, slik ser det ut i den trykte utgaven
Dette er London

Dette kodes slik:

london_xlmAnsnitt kodes med taggen <p>, vers med <lg>, og verselinjer med <l>. Hver verselinje er i kursiv og får dermed også koden <hi rend="italic">.

Legg merke til at koden for kursiv er inne i koden for verselinjen, som igjen ligger inne i koden for vers. Hvert element må plasseres riktig. Hvis du for eksempel setter slutt-tagen for kursiv eller slutt-taggen for verselinjen:

<l><hi rend="italic">for unge viljer til å jage i!</l></hi>

vil du ikke få en velformet XML-fil.

XML er strengt hierarkisk og én manglende skråstrek eller hakeparentes er nok til at du ikke kommer videre, det kan også være vanskelig å finne feilen, så en har mye igjen for å være nøyaktig.

Avstanden mellom verset og den øvrige teksten reguleres av stilarket vårt. Det er dermed ikke nødvendig å legge til en kode for linjeskift. For eksemplets skyd lar jeg lagt til ett ekstra linjeskrift over og under asteriksen(*). Linjeskift er en kode uten innhold og den forkortes fra <lb></lb> til <lb/>.

I den trykte boken har verset dobbelt innrykk. På mobiltelefoner vil doble innrykk og midtstilt tekst sjelden se bra ut, og vi bruker ikke dette. Hvis en vil ha med dobbelt innrykk vil koden  for hver verselinje se slik ut:

<l seg rend="indent_2"><hi rend="italic"></hi></l>

 

12. Kursiv, fet skrift, tankestreker og andre spesialtegn

En kan kode hele teksten i én omgang, vi har først koden hovedstrukturen, det vil si overskrifter, avsnitt og vers. Deretter har vi gjennomgått teksten på nytt og kodet formateringen; kursiv, tankestreker, anførselstegn og andre spesialtegn. Hvis du ikke har arbeidet med XML tidligere, vil vi anbefale å kode hovedstrukturen først.

Til slutt har vi byttet ut æ, ø og å med tilhørende entiteter for å sikre oss mot konverteringsfeil. Her en en liste over hvilke entiteter vi bruker.

I XML Copy Editor er det enkelt å bytte ut alle æ'er, ø'er, tankestreker, anførselstegn og andre spesialtegn med rett kode. Gå til "Edit" på meyen og velg "Replace". Skriv inn tegnet du tenker å bytte ut og tilhørende kode. Velg "Replace" eller Replace All".

13. Ferdig XML-eksempel

 

Her er en ferdig eksempelfil i XML.