Ecrire un livre avec Calibre

Calibre est un logiciel complet pour gérer les livres format epub, pdf, etc.

Installation et mise à jour

Calibre est disponible dans Debian

apt policy calibre
calibre:
  Installé : (aucun)
  Candidat : 5.33.2+dfsg-1
 Table de version :
     5.33.2+dfsg-1 990
        990 https://cdn-aws.deb.debian.org/debian bookworm/main amd64 Packages
        990 https://cdn-aws.deb.debian.org/debian bookworm/main i386 Packages
        500 https://cdn-aws.deb.debian.org/debian sid/main amd64 Packages
        500 https://cdn-aws.deb.debian.org/debian sid/main i386 Packages
     5.12.0+dfsg-1 500
        500 https://cdn-aws.deb.debian.org/debian bullseye/main amd64 Packages
        500 https://cdn-aws.deb.debian.org/debian bullseye/main i386 Packages

Mais j’utilise la version des developpeurs

sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
~/Documents/Livres$ calibre --version
calibre (calibre 5.33.2)

Edition d’un livre

avec ebook-edit en ligne de commande

~/Documents/Livres$ ebook-edit new.epub

ou par le menu graphique dans Calibre

Quelques astuces

Il s’agit d’utilise des tags du langage html

Changement de la taille du texte

<p style="font-size:14px;"> Texte de la phrase </p>

Retour à la ligne

<br>

Saut de page imposé pour la conversion pdf

<div style="page-break-before:always"></div>

Lien interne avec tag « id »

La page ajoutée doit suivre le nommage des fichiers du livre.

Structure : les fichiers html sont souvent dans un dossier OEBPS

Exemple OEBPS/Text/section1.xhtml

lien dans le texte de départ, on choisit un id selon les règles de nommage

Le fichier de départ s’appelle PL4.xhtml

 <span id="retpetite"><a href="section1.xhtml#petite">On peut admirer sa silhouette à Washington, Paris, Londres, New York, Dresde ou Copenhague</a></span>

lien de retour dans le texte d’arrivée

Le fichier d’arrivée s’appelle section.xhtml

Avec un texte Retour pour le lien de retour vers le texte de départ initial.

<h2 id="petite">La Petite Danseuse.</h2>
<span><a href="PL4.xhtml#retpetite">Retour</a> </span>

NB la balise span n’a aucun rôle particulier si ce n’est de définir les paramètres pour le texte qu’elle encadre.

Conversion d’un epub en pdf

En mode commande

/usr/bin/ebook-convert  livre.epub livre.pdf

Plus personnalisé

ebook-convert nom.epub  nom.pdf --pdf-serif-family  "Georgia" --pdf-default-font-size 13  --paper-size letter --pdf-footer-template "<footer style='justify-content: flex-end'> <div>_TITLE_</div> <div>-</div><div>_AUTHOR_</div> <div>-</div> <div> 2022-</div> <div>_PAGENUM_</div>/<div>_TOTAL_PAGES_</div>  </footer>"

Dans l’interface graphique calibre

Cliquer sur le bouton convertir, selectionner sortie pdf

Definition d’une image pour pagination optimale.

Pour qu’une image, orientation portrait, occupe une page entière de la sortie en pdf A4 (210×297 mm) la bonne définition est 596×842 px en 100 dpi dans le fichier epub.

Dans les deux unités le ratio est 0,707.

Image A4 avec Gimp

C’est ce que je considère convenable, pour en savoir plus…

Sortie pdf

Création d’un entête de page en texte

<header style="justify-content: space-between; font-size: smaller"> <div> Les Éditions du Confinement. 25 Décembre 2020.</div> </header>

Création d’un entête de page avec paramètre

<header><div>_TITLE_</div></header>

Création d’un pied de page

<footer style="justify-content: space-between; font-size: smaller">
 <div>_SECTION_</div>
 <div>_AUTHOR_</div>
 <div>_PAGENUM_</div>/<div>_TOTAL_PAGES_</div>
 <div> 25-12-2021</div>
</footer>

Sortie pdf → Affectation des numéros de pages

Décalage de deux pages

if (n<2) 0; else n – 2;

Aide sur la sortie pdf

Mode commande

On peut utiliser les commandes ebook-…..

/usr/bin$ ls ebook*
ebook-convert  ebook-device  ebook-edit  ebook-meta  ebook-polish  ebook-viewer

Manuel de l’utilisateur

https://manual.calibre-ebook.com/fr/index.html

Feuille de style que j’aime bien.

Je l’appelle perso.css dans le fichier .epub

@namespace h "http://www.w3.org/1999/xhtml";
@page {
	margin: 5pt;
}

body
{
    font-family: "Georgia";
    font-size: large;
}

h1, h2, h3, h4, h5, h6,
.title, .subtitle, .noindent, .marginalia,
.alinea, .retrait, .signature, .salutation,
.caption, .illustration, .quotations, .center, .right {
	text-indent: 0;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	text-align: center;
	page-break-after: avoid;
}

h2, h3 {
	margin-top: 2em;
	margin-bottom: 2em;
}

h1 {
	font-size: 1.8em;
	margin-top: 30%;
	margin-bottom: 5%;
}

h2 {
	font-size: 1.4em;
	page-break-before: always;
}

h3 {
	font-size: 1.2em;
}

h4 {
	font-size: 1.1em;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}

h1 > b, h2 > b {
	font-weight: normal;
}

p {
	text-align: justify;
	text-indent: 1.3em;
	margin: 0;
}

/******************************
	Styles W2E 
*******************************/

/* Titre principal */
.title {
	text-align: center;
	font-size: 1.2em;
}

/* Sous-titres */
.subtitle {
	text-align: center;
	margin-bottom: 10%;
}

/* Formule finale */
.formule {
	margin-top:10%;
	text-align: center;
}

/* Signature */
.signature {
	margin-top:10%;
	text-align: center;
}

/* Alinea neg */
.alinea {
	margin-top:10%;
	text-align: center;
}

/*Retrait de liste */
.retrait {
	margin-top:10%;
	text-align: center;
}

/* Retrait corps de texte */
.noindent {
	margin-left: 2em;
	text-align: justify;
	font-size: 0.9em;
}

/* Notes en marge */
.marginalia {
	margin-left: 35%;
	text-align: justify;
}

/* Citation */
.quotations {
	margin-left: 2em;
	margin-bottom: 0;
	text-align: left;
	font-size: 0.9em;
	font-style: italic;
}

/* Legende */
.caption {
	text-align: center;
	font-size: .80em;
	margin-top: 50%;
}

/* Illustration */
.illustration {
	text-align: center;
}

/* Alignements 
-----------------------------*/
.center {
	text-align: center;
}

.right {
	text-align: right;
	margin-right: 0.5em;
}

/* Divers
---------------------------*/

sup {
	font-size: 80%;
	vertical-align: 30%;
}

/* Petites majuscules */
.fakesmallcaps {
	font-size: .75em;
}

.normal {
	font-style: normal;
}

.linethrough {
	text-decoration: line-through;
}

.underline {
	text-decoration: underline;
}

/* Notes de fin */
.footnote {
	font-size: .90em;
	margin-left: 1em;
	text-indent: -1.5em;
	text-align: justify;
}
/******************************
	Styles additionnels 
*******************************/

.exergue {
	text-align: right;
	font-style: italic;
	margin-right: 1em;
	margin-bottom: 1em;
	margin-top: 10%;
	font-size: 0.9em;
}

.mentions {
	text-align: center;
	margin-top: 10%;
	font-size: 0.9em;
}

/* Image couverture */
.imgcover {
	max-width: 100%;
	height: 100%;
}

Exemple de fichier xhtml dans le fichier epub.

<?xml version='1.0' encoding='utf-8'?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Musidora</title>
    <link href="perso.css" rel="stylesheet" type="text/css"/>
</head>

<body>
    <h1>A propos de Musidora.</h1>
    <p>Vedette du cinéma français des années 1910, Musidora fut de son vivant un mythe pour une société bouleversée par la Première Guerre mondiale.</p>
    
        
        <p>
        <figure><img alt="Image" src="jeune.jpg"/></figure>
        <figure><img alt="Image" src="Musidora.png"/><figcaption>Musidora , Jeanne Roques.</figcaption></figure></p>

</body>
</html>

Exemple

Normaliser un fichier epub

Si des fichier xhtml sont trop volumineux, exemple ce code d’erreur à la vérification « Ce fichier HTML est plus grand que 260 KB. Des fichiers HTML trop grands peuvent entraîner des problèmes de performance sur certains lecteurs de livre numérique. Considérez la possibilité de fractionner ce fichier en plus petites sections. »

https://manual.calibre-ebook.com/fr/generated/fr/ebook-convert.html#cmdoption-ebook-convert-flow-size

ebook-convert 'livre.epub'  'livre-normalisé.epub' --flow-size 256

Pour en savoir plus sur le html

https://fr.w3docs.com/apprendre-html/tableau-des-tags-html.html

Par Bidouille De Bian

Bidouilleur sur Linux Debian 10 (Buster). Débutant dans le blog sur Wordpress.

Créez votre site Web avec WordPress.com
Commencer
%d blogueurs aiment cette page :