Mit LaTeX HTML und EPUB erzeugen: EPUB-Erstellung

This entry is part 2 of 3 in the series LWARP

In Teil 2 dieser Artikelreihe schauen wir uns das Musterdokument mal etwas an:

  • Genutzt wird hier die book-Klasse. Ich habe es schon mit den „deutschen“ Klassen wie scrartcl probiert, aber Fehlermeldungen erhalten
  • Als nächstes kommt die Unterscheidung für pdflatex und xelatex/lualatex
  • gefolgt vom Laden des lwarp-Pakets mit diversen Einstellungen
  • makeidx, hyperref und xcolor sind auch bekannte Pakete
% Save this as tutorial.tex for the lwarp package tutorial.
\documentclass{book}
\usepackage{iftex}
% --- LOAD FONT SELECTION AND ENCODING BEFORE LOADING LWARP ---
\ifPDFTeX
\usepackage{lmodern} % pdflatex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\else
\usepackage{fontspec} % XeLaTeX or LuaLaTeX
\fi
% --- LWARP IS LOADED NEXT ---
 
\usepackage[
% HomeHTMLFilename=index, % Filename of the homepage.
% HTMLFilename={node-}, % Filename prefix of other pages.
% IndexLanguage=english, % Language for xindy index, glossary.
% latexmk, % Use latexmk to compile.
% OSWindows, % Force Windows. (Usually automatic.)
% mathjax, % Use MathJax to display math.
]{lwarp}
% \boolfalse{FileSectionNames} % If false, numbers the files.
 
% --- OTHER PACKAGES ARE LOADED AFTER LWARP ---
\usepackage{makeidx} \makeindex
\usepackage{xcolor} % (Demonstration purposes only.)
\usepackage{hyperref,cleveref} % LOAD THESE LAST!
 
% --- LATEX AND HTML CUSTOMIZATION ---
\title{The Lwarp Tutorial}
\author{Some Author}
\setcounter{tocdepth}{2} % Include subsections in the \TOC.
\setcounter{secnumdepth}{2} % Number down to subsections.
\setcounter{FileDepth}{1} % Split \HTML\ files at sections
\booltrue{CombineHigherDepths} % Combine parts/chapters/sections
\setcounter{SideTOCDepth}{1} % Include subsections in the side\TOC
 
\HTMLAuthor{Some Author} % Sets the HTML meta author tag.
\HTMLLanguage{en-US} % Sets the HTML meta language.
\HTMLDescription{A description.}% Sets the HTML meta description.
\HTMLFirstPageTop{Name and \fbox{HOMEPAGE LOGO}}
\HTMLPageTop{\fbox{LOGO}}
\HTMLPageBottom{Contact Information and Copyright}
\CSSFilename{lwarp_sagebrush.css}
 
\begin{document}
\maketitle % Or titlepage/titlingpage environment.
% An article abstract would go here.
\tableofcontents % MUST BE BEFORE THE FIRST SECTION BREAK!
\listoffigures
\chapter{First chapter}
\section{A section}
This is some text which is indexed.\index{Some text.}
\subsection{A subsection}
See \cref{fig:withtext}.
\begin{figure}\begin{center}
\fbox{\textcolor{blue!50!green}{Text in a figure.}}
\caption{A figure with text\label{fig:withtext}}
\end{center}\end{figure}
\section{Some math}
Inline math: $r = r_0 + vt - \frac{1}{2}at^2$
followed by display math:
\begin{equation}
a^2 + b^2 = c^2
\end{equation}
\printindex
\end{document}

Dieses Beispiel „dampfen“ wir jetzt etwas zusammen, um etwas einfacheren Code für unser erstes Epub zu erhalten. Wir ändern die Klasse auf „article“ und fügen zusätzlich noch \booltrue{FormatEPUB} ein, um die Konvertierung ins EPub zu unterstützen (siehe Handbuch)

\documentclass{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{blindtext}
 
\usepackage{lwarp}
\booltrue{FormatEPUB} % !
 
\usepackage{hyperref,cleveref}
 
\title{The Lwarp Tutorial}
\author{Uwe Ziegenhagen}
 
\setcounter{FileDepth}{1} 
\booltrue{CombineHigherDepths}
\setcounter{SideTOCDepth}{1}
 
\HTMLAuthor{Uwe Ziegenhagen}
\HTMLLanguage{de-DE}
\HTMLDescription{Mein erstes LaTeX-Epub}
 
\begin{document}
\maketitle 
 
\tableofcontents
 
\section{Hallo}
 
\blindtext[20]
 
\section{Welt}
 
\blindtext[20]
 
 
\end{document}

Diese Datei übersetzen wir anschließend mit pdflatex und lwarpmk html. Erzeugt werden jetzt die Hauptdatei im HTML sowie die beiden HTML-Dateien für die Sections. Zeit, diese jetzt nach EPUB zu bringen.

Mittel der Wahl ist dabei die eierlegende Wollmilchsau der E-Books, calibre. Also installieren und starten, diese Software ist für alle gängigen Betriebssysteme verfügbar.

In Calibre müssen wir noch einige Einstellungen vornehmen, das lwarp-Handbuch gibt vor, welche:

  • Unter Einstellungen, Erweiterungen, Dateityp-Erweiterungen muss das HTML to ZIP Plugin aktiviert sein
  • Wir müssen Calibre noch mitteilen, welche HTML-Tags den Umbrüchen entsprechen. Dazu gehen wir zu Einstellungen, Allgemeine Optionen, Strukturerkennung und setzten „Kapitel erkennen“ auf //h:h4

Damit ist die Konfiguration abgeschlossen, wir können die HTML-Dateien jetzt umwandeln. Dazu die HTML-Datei zu Calibre hinzufügen und mit „Bücher konvertieren“ umwandeln. Calibre erzeugt dann nach wenigen Sekunden ein EPUB, das in unserer Ebook-Bibliothek liegt.

Hier wieder das ZIP mit allen Dateien und den Ausgabe-Dateien.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Series Navigation<< Mit LaTeX HTML und EPUB erzeugenPresentation on „LaTeX and EPUB“ >>