J'écris un livre en Markdown et j'aimerais créer un fichier PDF avec une mise en page personnalisée.

J'ai utilisé iA Writer pour l'écriture et je pensais m'en servir pour la génération PDF, sauf qu'il y a pas mal de limitations, je trouve, et l'une des plus problématiques est la génération d'une table des matières sans la numérotation des pages associées.

J'ai cherché d'autres solutions et celle qui me paraît la plus appropriée serait d'utiliser Pandoc en passant par un moteur qui utilise LaTeX.

Voilà pour le contexte.

La commande :

pandoc test.md --pdf-engine=xelatex --katex --from markdown+abbreviations+hard_line_breaks+mark+emoji --abbreviations=abbreviations.txt --metadata-file=metadata.yaml --template=template.tex -o livre.pdf
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

J'ai testé avec xelatex & lualatex, j'obtiens les mêmes résultats.

Pour le moment on ne va pas parler du fichier abbreviations=abbreviations.txt, ce n'est pas pris en compte.

Le Markdown :

J'ai supprimé les données pour faire quelque chose de très simple, 2 ou 3 titres et du texte généré Lorem ipsum. Ceci sans emphase ou autre, afin de vérifier que ce n'est pas mon texte initial qui pose problème.

Les problèmes

J'en ai deux que j'aimerais régler en priorité : 1. quand j'insère une couverture, qui devrait donc être la première page du livre, je me retrouve avec une page blanche, suivie de la couverture ; 2. La table des matières (toc) génère un titre , je n'arrive pas à comprendre le pourquoi du comment. J'ai essayé avec le flag --toc de la commande Pandoc, sans le template LaTeX, avec le template sans le flag, ou les deux, j'obtiens toujours le même résultat. Pour info ce titre s'ajoute avant* la toc, ce qui est vraiment bizarre.

J'ai fait le tour des iA, je n'ai pas trouvé de réponse pour régler ces soucis, d'où mon message ici. Pour info, je ne connais pas LaTeX, enfin du coup je le découvre maintenant en fait.

Voici le template qui est à la base extrait avec la commande Pandoc, puis modifié (principalement les modifications sont là où vous avez des commentaires) :

$passoptions.latex()$
\documentclass[
$for(babel-otherlangs)$
$babel-otherlangs$,
$endfor$
$if(babel-lang)$
$babel-lang$,
$endif$
$if(fontsize)$
$fontsize$,
$endif$
$if(papersize)$
$papersize$paper,
$endif$
$for(classoption)$
$classoption$$sep$,
$endfor$
]{$documentclass$}
$if(beamerarticle)$
\usepackage{beamerarticle} % needs to be loaded first
$endif$
\usepackage{xcolor}
$if(geometry)$
\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
$endif$
\usepackage{amsmath,amssymb}
$--
$-- section numbering
$--
$if(numbersections)$
\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$}
$else$
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
$endif$
$fonts.latex()$
$font-settings.latex()$
$common.latex()$
$for(header-includes)$
$header-includes$
$endfor$
$after-header-includes.latex()$
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Si quelqu'un pouvait me donner au moins des pistes ou des conseils, ça serait formidable :)

Posée 28 Fév, 13:54

LaTeXBold's gravatar image

LaTeXBold
957
Taux d'acceptation : 6%

Modifiée 02 Mar, 11:31

Pathe's gravatar image

Pathe ♦♦
7.6k52210254

1

Je pense que la sources des problème est --template=template.tex dans votre commande. Je ne sais pas comment fonctionne panadoc à ce niveau, mais vous pouvez commencer par modifier ce fichier, puis recommence.

(01 Mar, 13:21) touhami touhami's gravatar image
1

Par exemple, pour le titre de TOC vous pouvez enlever la partie que vous avez détecter ci-dessous: % Gestion des titres H1 : saut de page + en-tête ....

(01 Mar, 13:21) touhami touhami's gravatar image
1

Pour la couverture ajouter \noindent comme suit

\newcommand{\insertcover}{ \newgeometry{margin=0pt} % Définir des marges nulles pour la couverture \begin{titlepage} \noindent\includegraphics[width=.99\paperwidth,height=.99\paperheight]{$cover-image$} \end{titlepage} \restoregeometry % Restaurer les marges par défaut }

(01 Mar, 13:21) touhami touhami's gravatar image

Oui c'est bien le bloc de gestion des titres H1 qui pose souci et plus particulièrement cette ligne : {oldsection{#1}} % Affiche le titre H1 normalement

Je cherche une solution pour voir si je peux le remplacer par une autre commande.

(01 Mar, 14:32) LaTeXBold LaTeXBold's gravatar image
1

Avez vous essayer de supprimer (totalement) cette partie?

(02 Mar, 11:06) touhami touhami's gravatar image

@LaTeXBold : les formules de politesse et les signatures sont à éviter : celles de votre contribution ont été supprimées. Et l'usage met un X majuscule à LaTeX !

(02 Mar, 11:33) Pathe ♦♦ Pathe's gravatar image

Oui, je suis reparti de 0 et maintenant c'est OK pour la toc, je n'ai plus ce titre * venu de nul part. J'ai essayé votre code pour la couverture, ça fonctionne, ce qui me gêne un peu c'est que je me retrouve avec des zones blanches. Je dois vérifier que ça ne vienne pas de mon lecteur. Effectivement si je met 1 à la place des .99 je retrouve une page blanche en premier.

(02 Mar, 16:50) LaTeXBold LaTeXBold's gravatar image
Affichage de 5 parmi 7 Afficher 2 commentaire(s) en plus

« Précédent12

OK, alors j'ai réglé l'histoire de cette étoile qui venait s'incruster dans la toc. En gros la solution vient du fait qu'un seul bloc de code gérait les titres H1 et la toc. J'ai fait une séparation, H1 d'un côté et toc de l'autre et je n'ai plus de problème.

J'ai ce code qui répond à ce que je souhaitais dès le départ :

% =============================
% Gestion des titres H1 : saut de page + en-tête
% =============================
\let\oldsection\section
\newcommand{\HOneFormat}[1]{% Définit le format des H1
\cleardoublepage % Saut de page avant H1 (sur page droite uniquement)
\sectionmark{#1} % Stocke le titre H1 pour l'en-tête
\fancyhead[C]{} % Supprime l'en-tête sur la page du H1
{\color{\HOneColor}\hOneFont\fontsize{28pt}{30pt}\bfseries #1} % Applique couleur + police
\thispagestyle{empty} % Supprime numérotation et en-tête sur cette page
\fancyhead[C]{\fontsize{10pt}{12pt}\selectfont #1} % Remet le titre H1 dans l'en-tête des pages suivantes
\clearpage % Saut de page après le H1
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Mon document commence donc par la toc (j'ai laissé tomber les couvertures pour le moment afin de me concentrer sur ce problème), ensuite j'ai une page blanche, puis le contenu de mon document.

J'aimerais ajouter une condition dans le template : - tout titre H2 qui se trouve à la suite d'un titre H1 se voit ajouter d'un saut de page, ceci afin d'avoir le titre H1 (et éventuellement du contenu) sur une page blanche unique, suivi du reste du document sur une nouvelle page...

Idem, j'ai essayé d'ajouter cette condition, mais pour le moment je reviens en arrière, c'est à dire qu'une étoile revient ou alors des pages blanches etc.

EDIT :

Éventuellement, j'aimerais (comme iA Writer) utiliser dans le fichier Markdown la combinaison suivante : +++ pour y insérer un saut de page. La réponse de Deep Seek serait de passer par un filtre, mais a priori celui-ci ne fonctionne pas. Qu'en pensez-vous ?

function RawBlock(el)
if el.text == "+++" then
return pandoc.RawBlock('latex', '\\newpage')
end
end
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lien permanent

Publiée 01 Mar, 18:19

LaTeXBold's gravatar image

LaTeXBold
957
Taux d'acceptation : 6%

Modifiée 02 Mar, 11:38

Pathe's gravatar image

Pathe ♦♦
7.6k52210254

@LaTeXBold : les formules de politesse et les signatures sont à éviter : celles de votre contribution ont été supprimées.

(02 Mar, 11:38) Pathe ♦♦ Pathe's gravatar image
1

Essayer ce code:

% ---- TITRE H2 ---- \titleformat{\subsection} {\ifnum\value{subsection}=1\newpage\fi\hTwoFont\fontsize{24pt}{28pt}\bfseries\color{\HTwoColor}} {\ifthenelse{\equal{\TitleNumbering}{true}}{\thesubsection\hspace{-0.5em}}{}} {1em} {\TitleFormat}

(02 Mar, 13:19) touhami touhami's gravatar image

J'ai trouvé le code coupable du titre * :

% =============================
% Gestion des titres H1 : saut de page + en-tête
% =============================
\let\oldsection\section
\renewcommand{\section}[1]{%
\cleardoublepage % Saut de page avant le H1
\sectionmark{#1} % Stocke le titre H1 pour l'en-tête
\fancyhead[C]{} % Supprime l'en-tête sur la page du H1
{\oldsection{#1}} % Affiche le titre H1 normalement
\thispagestyle{empty} % Supprime l'en-tête et la pagination sur cette page
\fancyhead[C]{\fontsize{10pt}{12pt}\selectfont #1} % Remet le titre H1 en en-tête pour les pages suivantes
\clearpage % Saut de page après le H1
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Il est tard, mais je ne vois pas ce qui « invente » ce titre...

Lien permanent

Publiée 01 Mar, 02:57

LaTeXBold's gravatar image

LaTeXBold
957
Taux d'acceptation : 6%

Modifiée 02 Mar, 11:35

Pathe's gravatar image

Pathe ♦♦
7.6k52210254

Alors oui, mais j'ai oublié de préciser que si je suis ici c'est parce que je pense que le problème vient du template LaTeX. Soit dans l'ordre des instructions, soit des conflits dans le fichier ?

Si je fais votre commande, évidemment ça fonctionne, mais je perd tous les réglages (y compris la toc) que j'ai introduit dans le template personnalisé. Au minimum, je suis obligé de faire cette commande :

pandoc test.md --pdf-engine=xelatex --from markdown+hard_line_breaks+mark --metadata-file=metadata.yaml --template=template.tex -o livre.pdf
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Et dans cette configuration j'ai la toc avec ce titre sorti de nulle part...

J'ai oublié de partager le fichier YAML (l'iA m'a fait modifier des éléments, mais a priori ce n'est pas ce fichier qui pose souci) :

lang: FR-fr
fontsize: 12pt
csquotes: true
toc: true
toc-title: "Table des matières"
cover-image: "cover.png" # Image pour la couverture (1ère de couverture)
back-cover-image: "backcover.png" # Image pour la 4ème de couverture
header-includes:
- \frenchbsetup{AutoSpacePunctuation=true}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lien permanent

Publiée 28 Fév, 22:04

LaTeXBold's gravatar image

LaTeXBold
957
Taux d'acceptation : 6%

Modifiée 02 Mar, 11:34

Pathe's gravatar image

Pathe ♦♦
7.6k52210254

Vous pouvez toujours procéder par étapes en commençant par une commande simple telle que

$ pandoc test.md --pdf-engine=lualatex -o test.pdf
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Et en continuant en ajoutant petit à petit plus d'options afin de découvrir les points bloquants.

Lien permanent

Publiée 28 Fév, 19:24

polymorphisme's gravatar image

polymorphisme
602925
Taux d'acceptation : 53%

Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.

Mots-clés de la question :

×42
×7
×5

Question posée : 28 Fév, 13:54

Question vue : 1,668 fois

Dernière mise à jour : 19 Mar, 11:24