Depuis de nombreuses années, j'utilise LaTeX pour rédiger des livres (je suis écrivain amateur). Ce qui me plaît, c'est la séparation du fond et de la forme : j'ai créé des classes qui gèrent la forme que j'attends d'un livre, ce qui me permet de me concentrer sur le fond de l'histoire dans mon document TeX. Ce qui m'ennuie, c'est que, en réalité, la forme doit quand même être précisée dans le document, puisqu'il y faut l'instruction
Certains ont-ils déjà réalisé ce genre de choses ? Comment vous y prendriez-vous ? Je pensais éventuellement utiliser l'instruction
Affichage de 5 parmi 6
Afficher 1 commentaire(s) en plus
|
Voici une solution basée sur un script (makefile) Par exemple, le fichier Fichier.tex Ouvrir dans l'éditeur Overleaf
\documentclass[french]{book} \usepackage{lmodern} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{babel} \usepackage{geometry} \providecommand\monformat{a4paper,outer=2cm} \expandafter\geometry\expandafter{\monformat,headheight=1cm} \usepackage{mwe} \title{Mon Livre} \author{Moi Meme} \begin{document} \maketitle \tableofcontents \blinddocument \end{document} Le point clé est les deux lignes Ouvrir dans l'éditeur Overleaf
\providecommand\monformat{a4paper,outer=2cm} \expandafter\geometry\expandafter{\monformat,headheight=1cm} ça marche aussi pour un fichier Maintenant on passe au script Compilateur.bat Ouvrir dans l'éditeur Overleaf
@echo off echo. echo *********************************************************** echo * * echo * bienvenue au compilateur multi-versions * echo * * echo *********************************************************** echo. rem Nom de fichier set /p monfichier="Entrez un nom de fichier SVP (sans extension .tex) : " rem ********** production de la version finale. +++++++++++++ pdflatex -jobname=%monfichier%-Livre \newcommand\monformat{a5paper,outer=2cm} \input{%monfichier%} rem ---------- on peut ajouter d'autres commandes (makeinex,2*pdflatex,bibtex,...) rem ********** suppression des fichiers temporaires +++++++++++++ for %%a in (*.aux, *.toc, *.lof, *.lot) do del %%a rem ********** production de la version draft. +++++++++++++ pdflatex -jobname=%monfichier%-draft \newcommand\monformat{a4paper,outer=5cm} \input{%monfichier%} rem ---------- on peut ajouter d'autres commandes (makeinex,2*pdflatex,bibtex,...) rem ********** suppression des fichiers temporaires +++++++++++++ for %%a in (*.aux, *.toc, *.lof, *.lot) do del %%a rem ********** production de la version ebook. +++++++++++++ rem ---------- REMARQUE : On peut utiliser l'un des deux lignes suivantes --------- make4ht -u %monfichier% rem htlatex %monfichier% "xhtml,charset=utf-8" " -cunihtf -utf8" ebook-convert %monfichier%.html %monfichier%.epub --authors="Moi Meme" Dans le dernier ligne "Moi Meme" à remplacer par "l'auteur de livre". Enfin : il suffit de double cliquez le fichier Publiée 05 Mai '17, 14:11 touhami Je ne savais pas que je pouvais passer directement les commandes à pdflatex ! Super, merci beaucoup !
(06 Mai '17, 19:39)
sveyret
Bonjour, Grâce à votre aide, j'ai pu générer une classe pour mes livres. Cette classe est ouverte à vos commentaires afin que je puisse l'améliorer. J'ai ouvert un autre sujet pour cela : http://texnique.fr/osqa/questions/3352/ecrire-des-livres Merci.
(02 Jul '17, 00:37)
sveyret
|
Comment gérez vous la mise en page (marges, format A4,...)?
Tout est paramétré dans un fichier de classe spécifique.
Il est facile d'écrire un script qui permet de faire tous ça, mais il faut fournir des informations supplémentaires.
Concernant la conversion en ebook, il y a maintenant
tex4ebook
, qui est un jeu d'extensions latex et de scripts lua.Quel genre d'information, Touhami ?
La gestion de mise en page : avez vous par exemple
\geometry{a4paper,left=2cm,right=3cm}...
?