Aller au contenu

Export PDF (via LuaLaTeX)

Documentation en cours de rédaction

Des erreurs peuvent être présentes dans cette documentation. N'hésitez pas à remonter toute erreur ou tout problème.

Pour l’export PDF, des programmes intermédiaires doivent être installés dans un ordre précis.

Le premier est grosso modo un gestionnaire de paquets TeX. Il va chercher des dépendances (du code tiers) venant de l’écosystème de TeX.

Le deuxième est l’éditeur de TeX.

Génération des fichiers .tex

raco pollen reset; raco pollen setup; raco pollen render tex-index.ptree

Ouverture du projet dans Texmaker

Normalement, l’installation de miktex inclut l’éditeur Texmaker.

Ouvrez cet éditeur et chargez le fichier modele.tex.

Définissez ce fichier comme maitre, soit en allant dans Options > Définir le document courant comme document 'maître', soit en faisant le raccourci Ctrl+0 (zéro).

Définissez ce fichier comme maitre, soit en allant dans
Options > Définir le document courant comme document 'maître',
soit en faisant le raccourci Ctrl+0 (zéro).

À quoi ça sert ?

Cette option vous permet d'ouvrir n'importe quel fichier .tex dans Texmaker et de pouvoir continuer à régénérer le PDF sans avoir à ouvrir modele.tex à nouveau. En effet, Texmaker se basera sur modele.tex au lieu du document en cours d'édition.

Ensuite, sélectionnez LuaLaTeX dans la première liste déroulante dans la barre supérieure du logiciel.

Enfin, cliquez sur le bouton play et attendez que ça génère.

Normalement, la première fois, MiKTeX va vous demander votre autorisation pour télécharger le code tiers évoqué au début de cette documentation. Acceptez tout.

Si tout s’est bien passé, une prévisualisation s’affiche dans Texmaker. Votre fichier est prêt. Il est nommé modele.pdf.

Ajoutez vos chapitres

Vous avez deux endroits oĂą ajouter vos nouveaux chapitres.

  • Fichier tex-index.ptree : ce fichier est dĂ©jĂ  existant, vous n’avez qu’à l’éditer.
  • Fichier modele.tex : ce fichier est celui ouvert dans TeXMaker. Vous devez spĂ©cifier vos chapitres de la mĂŞme manière que ceux dĂ©jĂ  prĂ©sents, avec la commande \subfile{../../votre-chapitre}.

Ce tutorial n’a pas vocation à vous enseigner le langage TeX. Si cela vous intéresse, des ressources en ligne vous aideront.

Notes additionnelles

Au sujet de la couverture

Fabrilivre ne supporte pas de base l’inclusion des couvertures dans le PDF final.

En fait, au moment de faire la soumission à un imprimeur, la couverture vous sera demandée dans un fichier à part la plupart du temps.

Au sujet de la table des matières

Fabrilivre ne dispose pas non plus d’une table des matières automatisée. Il pourrait être possible d’en trouver une avec les fonctionnalités de TeX, mais c’est à vous de vous en charger. Habituellement, la table des matières est une page faite avec un logiciel de PAO. Cela vous prendra surement moins de temps de la construire ainsi, à moins que votre livre ne possède de très nombreuses entrées à référencer dedans.

Au sujet des caractères spéciaux

Tex est un langage sensible aux erreurs de syntaxe. Vous aurez probablement des échecs à la création du fichier PDF dûs à des caractères spéciaux tels que la barre oblique, l'esperluette, et le symbole dollar.

Dans ce cas, vous devez encapsuler le caractère incriminé dans une balise technique comme suit : ◊special-chars{$}.

Ensuite, régénérez le fichier .tex du chapitre qui contient ce caractère spécial, puis régénérez le PDF.

Où trouver la liste des caractères spéciaux ?

Les caractères spéciaux sont listés et convertis dans le fichier /pollen/utility/normalize-chars.rkt.

Voici la liste, à l'écriture de cette documentation :

  (case (current-poly-target)
  [(tex)
    ;; List of TeX special chars:
    ;; https://tex.stackexchange.com/questions/34580/escape-character-in-latex
    (hash-set! replacements "&" "\\&")
    (hash-set! replacements "%" "\\%")
    (hash-set! replacements "$" "\\$")
    (hash-set! replacements "#" "\\#")
    (hash-set! replacements "_" "\\_")
    (hash-set! replacements "{" "\\{")
    (hash-set! replacements "}" "\\}")
    (hash-set! replacements "~" "\\textasciitilde ")
    (hash-set! replacements "^" "\\textasciicircum ")
    (hash-set! replacements "\\" "\\textbackslash ")
    (hash-set! replacements "_" "\\_")])