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 J'ai testé avec xelatex & lualatex, j'obtiens les mêmes résultats. Pour le moment on ne va pas parler du fichier 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 ( 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()$ $hypersetup.latex()$ $if(title)$ \title{$title$$if(thanks)$\thanks{$thanks$}$endif$} $endif$ $if(subtitle)$ \usepackage{etoolbox} \makeatletter \providecommand{\subtitle}[1]{% add subtitle to \maketitle \apptocmd{\@title}{\par {\large #1 \par}}{}{} } \makeatother \subtitle{$subtitle$} $endif$ \author{$for(author)$$author$$sep$ \and $endfor$} \date{$date$} % ============================= % Chargement des packages % ============================= \usepackage{titlesec} % Personnalisation des styles de titres \usepackage{textcase} % Conversion en majuscules \usepackage{graphicx} % Pour gérer les images \usepackage{xcolor} % Gestion des couleurs \usepackage{ifthen} % Gestion des conditions % ============================= % Gestion du compteur % ============================= \setcounter{secnumdepth}{2} % Définit le niveau de numérotation (H1 à H5) % ============================= % Gestion des couvertures % ============================= \newcommand{\insertcover}{ \newgeometry{margin=0pt} % Définir des marges nulles pour la couverture \begin{titlepage} \includegraphics[width=\paperwidth,height=\paperheight]{$cover-image$} \end{titlepage} \restoregeometry % Restaurer les marges par défaut } \newcommand{\insertbackcover}{ \newgeometry{margin=0pt} % Définir des marges nulles pour la quatrième de couverture \begin{titlepage} \includegraphics[width=\paperwidth,height=\paperheight]{$back-cover-image$} \end{titlepage} \restoregeometry % Restaurer les marges par défaut } % ============================= % Paramètres modifiables % ============================= \definecolor{colorH1}{RGB}{240, 36, 32} \newcommand{\TitleUppercase}{true} % Mettre les titres en majuscules (true/false) \newcommand{\TitleNumbering}{true} % Activer la numérotation automatique (true/false) \newcommand{\HOneColor}{colorH1} % Couleur pour les titres H1 \newcommand{\HTwoColor}{black} % Couleur pour les titres H2 \newcommand{\HThreeColor}{black} % Couleur pour les titres H3 \newcommand{\HFourColor}{black} % Couleur pour les titres H4 \newcommand{\HFiveColor}{black} % Couleur pour les titres H5 % ============================= % Fonction pour la mise en majuscules % ============================= \newcommand{\TitleFormat}[1]{% \ifthenelse{\equal{\TitleUppercase}{true}}{\MakeUppercase{#1}}{#1}% } % ============================= % Configuration de la police principale % ============================= \usepackage{fontspec} % Permet d'utiliser des polices personnalisées avec LuaLaTeX \setmainfont{Playfair Display} %\setmainfont{Playfair Display}[ % ItalicFont={Playfair Display Italic}, % BoldFont={Playfair Display Bold}, % BoldItalicFont={Playfair Display Bold Italic} %] \renewcommand{\baselinestretch}{1.2} % Paramètre de l'interligne % ============================= % Configuration des polices pour les titres % ============================= \newfontfamily\hOneFont{Russo One} % Police pour les titres H1 \newfontfamily\hTwoFont{Russo One} % Police pour les titres H2 \newfontfamily\hThreeFont{Russo One} % Police pour les titres H3 \newfontfamily\hFourFont{Russo One} % Police pour les titres H4 \newfontfamily\hFiveFont{Russo One} % Police pour les titres H5 % Pas de titre natif H6 avec LaTex % ============================= % Définition des styles des titres % ============================= % ---- TITRE H1 ---- \titleformat{\section} [block] % Bloc pour prendre toute la ligne {\hOneFont\fontsize{32pt}{36pt}\bfseries\color{\HOneColor}} % Police et couleur {\ifthenelse{\equal{\TitleNumbering}{true}}{\thesection\hspace{-0.5em}}{}} % Numérotation si activée {1em} % Espacement {\TitleFormat} % Mise en majuscule % ---- TITRE H2 ---- \titleformat{\subsection} {\hTwoFont\fontsize{24pt}{28pt}\bfseries\color{\HTwoColor}} {\ifthenelse{\equal{\TitleNumbering}{true}}{\thesubsection\hspace{-0.5em}}{}} {1em} {\TitleFormat} % ---- TITRE H3 ---- \titleformat{\subsubsection} {\hThreeFont\fontsize{18pt}{22pt}\bfseries} {\thesubsubsection}{1em}{} % ---- TITRE H4 ---- \titleformat{\paragraph} {\hFourFont\fontsize{16pt}{20pt}\bfseries} {\theparagraph}{1em}{} % ---- TITRE H5 ---- \titleformat{\subparagraph} {\hFiveFont\fontsize{14pt}{18pt}\bfseries} {\thesubparagraph}{1em}{} % ============================= % Gestion des marges et de la mise en page % ============================= \usepackage[strict]{changepage} % Gestion avancée des marges \usepackage{geometry} % Définition des marges \geometry{twoside, inner=24mm, % Marge intérieure (côté reliure) outer=24mm, % Marge extérieure top=24mm, % Marge supérieure bottom=40mm, % Marge inférieure footskip=16mm, % Distance entre le texte et le numéro de page bindingoffset=6mm % Décalage pour la reliure } % Définit l'espace entre le texte et les notes de bas de page \renewcommand{\footnoterule}{\vspace{18pt}\hrule width 0.3\textwidth \vspace{5pt}} % ============================= % Gestion des numéros de pages % ============================= \usepackage{fancyhdr} % Personnalisation des en-têtes et pieds de page \pagestyle{fancy} % Activation du style personnalisé \fancyhf{} % Efface les en-têtes et pieds de page par défaut \fancyfoot[LE,RO]{\thepage} % Numérotation à gauche sur pages impaires et à droite sur pages paires \renewcommand{\headrulewidth}{0pt} % Supprime la ligne d'en-tête \renewcommand{\footrulewidth}{0pt} % Supprime la ligne de pied de page % ============================= % 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 } % ============================= % Mise en forme du code inline et des blocs de code % ============================= % Charger le package pour la coloration et le fond des blocs de code \usepackage[listings, skins, breakable]{tcolorbox} % Chargement avec les bonnes options % Définition de la police Hack pour le code \newfontfamily\codeFont{Hack} % Définit Hack comme police monospacée % Appliquer Hack comme police principale pour le code \renewcommand{\ttdefault}{lmtt} % Corrige la police de \texttt \lstset{basicstyle=\codeFont\small} % Applique Hack aux listings % ============================= % Blocs de code (fond gris, arrondi, police Hack) % ============================= \newtcblisting{codeblock}{ colback=gray!10, % Fond gris clair colframe=black, % Bordure noire arc=4pt, % Coins arrondis (4px) boxrule=0.5pt, % Épaisseur de la bordure listing only, % Pas d'espace supplémentaire breakable, % Autoriser la coupure sur plusieurs pages fontupper=\codeFont, % Appliquer Hack } % Appliquer ce style aux environnements verbatim \let\oldverbatim\verbatim \renewcommand{\verbatim}{\codeblock} % ============================= % Code inline (fond gris, arrondi, police Hack) % ============================= \renewcommand{\texttt}[1]{% \tcbox[colback=gray!10, arc=4pt, boxrule=0pt, left=4pt, right=4pt, top=0pt, bottom=0pt, boxsep=2pt, on line]{\codeFont #1} } \begin{document} \pagestyle{empty} % Supprime les numéros de page pour la couverture et la page blanche suivante % Insérer la couverture en première page \insertcover \clearpage % Ajouter une seule page blanche après la couverture \mbox{} % Réactiver le style de page mais sans afficher le numéro sur cette page blanche \pagestyle{empty} \pagenumbering{arabic} \setcounter{page}{1} % Afficher les numéros de page à partir de la première vraie page du contenu \clearpage \pagestyle{fancy} $if(has-frontmatter)$ \frontmatter $endif$ $if(title)$ \maketitle $if(abstract)$ \begin{abstract} $abstract$ \end{abstract} $endif$ $endif$ $for(include-before)$ $include-before$ $endfor$ $if(toc)$ $if(toc-title)$ \renewcommand*\contentsname{$toc-title$} $endif$ { $if(colorlinks)$ \hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$} $endif$ \setcounter{tocdepth}{$toc-depth$} \tableofcontents } $endif$ $if(lof)$ \listoffigures $endif$ $if(lot)$ \listoftables $endif$ $if(linestretch)$ \setstretch{$linestretch$} $endif$ $if(has-frontmatter)$ \mainmatter $endif$ % Contenu principal $body$ $if(has-frontmatter)$ \backmatter $endif$ $if(nocite-ids)$ \nocite{$for(nocite-ids)$$it$$sep$, $endfor$} $endif$ $if(natbib)$ $if(bibliography)$ $if(biblio-title)$ $if(has-chapters)$ \renewcommand\bibname{$biblio-title$} $else$ \renewcommand\refname{$biblio-title$} $endif$ $endif$ \bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} $endif$ $endif$ $if(biblatex)$ \printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ $endif$ $for(include-after)$ $include-after$ $endfor$ \newpage % Nouvelle page avant la dernière couverture \insertbackcover \end{document} Si quelqu'un pouvait me donner au moins des pistes ou des conseils, ça serait formidable :)
Affichage de 5 parmi 7
Afficher 2 commentaire(s) en plus
|
Je suis désolé pour la réponse tardive. Voici quelques remarques: Pour la couverture: \noindent\includegraphics[width=\paperwidth,height=\paperheight,keepaspectratio]{$cover-image$} Pour l'entête: % ============================= % Gestion des numéros de pages % ============================= \usepackage{fancyhdr} % Personnalisation des en-têtes et pieds de page \fancyhf{} % Efface les en-têtes et pieds de page par défaut \fancyhead[C]{\fontsize{10pt}{12pt}\selectfont\leftmark} \fancyfoot[LE,RO]{\thepage} % Numérotation à gauche sur pages impaires et à droite sur pages paires \pagestyle{fancy} % Activation du style personnalisé \renewcommand{\headrulewidth}{0pt} % Supprime la ligne d'en-tête \renewcommand{\footrulewidth}{0pt} % Supprime la ligne de pied de page Pour les styles des différents titres: % ============================= % Définition des styles des titres % ============================= % ---- TITRE H1 ---- \titleformat{\chapter} [block] % Bloc pour prendre toute la ligne {\hOneFont\fontsize{32pt}{36pt}\bfseries\color{\HOneColor}} % Police et couleur {\ifthenelse{\equal{\TitleNumbering}{true}}{\thechapter\hspace{-0.5em}}{}} % Numérotation si activée {1em} % Espacement {\TitleFormat} % Mise en majuscule % ---- TITRE H2 ---- \titleformat{\section} {\hTwoFont\fontsize{24pt}{28pt}\bfseries\color{\HTwoColor}} {\ifthenelse{\equal{\TitleNumbering}{true}}{\thesection\hspace{-0.5em}}{}} {1em} {\TitleFormat} % ---- TITRE H3 ---- \titleformat{\subsection} {\hThreeFont\fontsize{18pt}{22pt}\bfseries} {\thesubsection}{1em}{} % ---- TITRE H4 ---- \titleformat{\subsubsection} {\hFourFont\fontsize{16pt}{20pt}\bfseries} {\thesubsubsection}{1em}{} % ---- TITRE H5 ---- \titleformat{\paragraph} {\hFiveFont\fontsize{14pt}{18pt}\bfseries} {\theparagraph}{1em}{} Ici le niveau H1 doit normalement être --- title: "Example PDF" author: [Author] date: "2025-03-04" subject: "Markdown" book: true ... Voici maintenant le code complet de fichier template.tex $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()$ $hypersetup.latex()$ $if(title)$ \title{$title$$if(thanks)$\thanks{$thanks$}$endif$} $endif$ $if(subtitle)$ \usepackage{etoolbox} \makeatletter \providecommand{\subtitle}[1]{% add subtitle to \maketitle \apptocmd{\@title}{\par {\large #1 \par}}{}{} } \makeatother \subtitle{$subtitle$} $endif$ \author{$for(author)$$author$$sep$ \and $endfor$} \date{$date$} % ============================= % Chargement des packages % ============================= \usepackage{titlesec} % Personnalisation des styles de titres \usepackage{textcase} % Conversion en majuscules \usepackage{graphicx} % Pour gérer les images \usepackage{xcolor} % Gestion des couleurs \usepackage{ifthen} % Gestion des conditions % ============================= % Gestion du compteur % ============================= \setcounter{secnumdepth}{2} % Définit le niveau de numérotation (H1 à H5) % ============================= % Gestion des couvertures % ============================= \newcommand{\insertcover}{ \newgeometry{margin=0pt} % Définir des marges nulles pour la couverture \begin{titlepage} \noindent\includegraphics[width=\paperwidth,height=\paperheight,keepaspectratio]{$cover-image$} \end{titlepage} \restoregeometry % Restaurer les marges par défaut } \newcommand{\insertbackcover}{ \newgeometry{margin=0pt} % Définir des marges nulles pour la quatrième de couverture \begin{titlepage} \noindent\includegraphics[width=\paperwidth,height=\paperheight,keepaspectratio]{$back-cover-image$} \end{titlepage} \restoregeometry % Restaurer les marges par défaut } % ============================= % Paramètres modifiables % ============================= \definecolor{colorH1}{RGB}{240, 36, 32} \newcommand{\TitleUppercase}{true} % Mettre les titres en majuscules (true/false) \newcommand{\TitleNumbering}{true} % Activer la numérotation automatique (true/false) \newcommand{\HOneColor}{colorH1} % Couleur pour les titres H1 \newcommand{\HTwoColor}{black} % Couleur pour les titres H2 \newcommand{\HThreeColor}{black} % Couleur pour les titres H3 \newcommand{\HFourColor}{black} % Couleur pour les titres H4 \newcommand{\HFiveColor}{black} % Couleur pour les titres H5 % ============================= % Fonction pour la mise en majuscules % ============================= \newcommand{\TitleFormat}[1]{% \ifthenelse{\equal{\TitleUppercase}{true}}{\MakeUppercase{#1}}{#1}% } % ============================= % Configuration de la police principale % ============================= \usepackage{fontspec} % Permet d'utiliser des polices personnalisées avec LuaLaTeX \setmainfont{Playfair Display} %\setmainfont{Playfair Display}[ % ItalicFont={Playfair Display Italic}, % BoldFont={Playfair Display Bold}, % BoldItalicFont={Playfair Display Bold Italic} %] \renewcommand{\baselinestretch}{1.2} % Paramètre de l'interligne % ============================= % Configuration des polices pour les titres % ============================= \newfontfamily\hOneFont{Russo One} % Police pour les titres H1 \newfontfamily\hTwoFont{Russo One} % Police pour les titres H2 \newfontfamily\hThreeFont{Russo One} % Police pour les titres H3 \newfontfamily\hFourFont{Russo One} % Police pour les titres H4 \newfontfamily\hFiveFont{Russo One} % Police pour les titres H5 % Pas de titre natif H6 avec LaTex % ============================= % Définition des styles des titres % ============================= % ---- TITRE H1 ---- \titleformat{\chapter} [block] % Bloc pour prendre toute la ligne {\hOneFont\fontsize{32pt}{36pt}\bfseries\color{\HOneColor}} % Police et couleur {\ifthenelse{\equal{\TitleNumbering}{true}}{\thechapter\hspace{-0.5em}}{}} % Numérotation si activée {1em} % Espacement {\TitleFormat} % Mise en majuscule % ---- TITRE H2 ---- \titleformat{\section} {\hTwoFont\fontsize{24pt}{28pt}\bfseries\color{\HTwoColor}} {\ifthenelse{\equal{\TitleNumbering}{true}}{\thesection\hspace{-0.5em}}{}} {1em} {\TitleFormat} % ---- TITRE H3 ---- \titleformat{\subsection} {\hThreeFont\fontsize{18pt}{22pt}\bfseries} {\thesubsection}{1em}{} % ---- TITRE H4 ---- \titleformat{\subsubsection} {\hFourFont\fontsize{16pt}{20pt}\bfseries} {\thesubsubsection}{1em}{} % ---- TITRE H5 ---- \titleformat{\paragraph} {\hFiveFont\fontsize{14pt}{18pt}\bfseries} {\theparagraph}{1em}{} % ============================= % Gestion des marges et de la mise en page % ============================= \usepackage[strict]{changepage} % Gestion avancée des marges \usepackage{geometry} % Définition des marges \geometry{twoside, inner=24mm, % Marge intérieure (côté reliure) outer=24mm, % Marge extérieure top=24mm, % Marge supérieure bottom=40mm, % Marge inférieure footskip=16mm, % Distance entre le texte et le numéro de page bindingoffset=6mm % Décalage pour la reliure } % Définit l'espace entre le texte et les notes de bas de page \renewcommand{\footnoterule}{\vspace{18pt}\hrule width 0.3\textwidth \vspace{5pt}} % ============================= % Gestion des numéros de pages % ============================= \usepackage{fancyhdr} % Personnalisation des en-têtes et pieds de page \fancyhf{} % Efface les en-têtes et pieds de page par défaut \fancyhead[C]{\fontsize{10pt}{12pt}\selectfont\leftmark} \fancyfoot[LE,RO]{\thepage} % Numérotation à gauche sur pages impaires et à droite sur pages paires \pagestyle{fancy} % Activation du style personnalisé \renewcommand{\headrulewidth}{0pt} % Supprime la ligne d'en-tête \renewcommand{\footrulewidth}{0pt} % Supprime la ligne de pied de page % ============================= % Mise en forme du code inline et des blocs de code % ============================= % Charger le package pour la coloration et le fond des blocs de code \usepackage[listings, skins, breakable]{tcolorbox} % Chargement avec les bonnes options % Définition de la police Hack pour le code \newfontfamily\codeFont{Hack} % Définit Hack comme police monospacée % Appliquer Hack comme police principale pour le code \renewcommand{\ttdefault}{lmtt} % Corrige la police de \texttt \lstset{basicstyle=\codeFont\small} % Applique Hack aux listings % ============================= % Blocs de code (fond gris, arrondi, police Hack) % ============================= \newtcblisting{codeblock}{ colback=gray!10, % Fond gris clair colframe=black, % Bordure noire arc=4pt, % Coins arrondis (4px) boxrule=0.5pt, % Épaisseur de la bordure listing only, % Pas d'espace supplémentaire breakable, % Autoriser la coupure sur plusieurs pages fontupper=\codeFont, % Appliquer Hack } % Appliquer ce style aux environnements verbatim \let\oldverbatim\verbatim \renewcommand{\verbatim}{\codeblock} % ============================= % Code inline (fond gris, arrondi, police Hack) % ============================= \renewcommand{\texttt}[1]{% \tcbox[colback=gray!10, arc=4pt, boxrule=0pt, left=4pt, right=4pt, top=0pt, bottom=0pt, boxsep=2pt, on line]{\codeFont #1} } \begin{document} \pagestyle{empty} % Supprime les numéros de page pour la couverture et la page blanche suivante % Insérer la couverture en première page \insertcover \clearpage % Ajouter une seule page blanche après la couverture \mbox{} % Réactiver le style de page mais sans afficher le numéro sur cette page blanche \pagestyle{empty} \pagenumbering{arabic} \setcounter{page}{1} % Afficher les numéros de page à partir de la première vraie page du contenu \clearpage \pagestyle{fancy} $if(has-frontmatter)$ \frontmatter $endif$ $if(title)$ \maketitle $if(abstract)$ \begin{abstract} $abstract$ \end{abstract} $endif$ $endif$ $for(include-before)$ $include-before$ $endfor$ $if(toc)$ $if(toc-title)$ \renewcommand*\contentsname{$toc-title$} $endif$ { $if(colorlinks)$ \hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$} $endif$ \setcounter{tocdepth}{$toc-depth$} \tableofcontents } $endif$ $if(lof)$ \listoffigures $endif$ $if(lot)$ \listoftables $endif$ $if(linestretch)$ \setstretch{$linestretch$} $endif$ $if(has-frontmatter)$ \mainmatter $endif$ % Contenu principal $body$ $if(has-frontmatter)$ \backmatter $endif$ $if(nocite-ids)$ \nocite{$for(nocite-ids)$$it$$sep$, $endfor$} $endif$ $if(natbib)$ $if(bibliography)$ $if(biblio-title)$ $if(has-chapters)$ \renewcommand\bibname{$biblio-title$} $else$ \renewcommand\refname{$biblio-title$} $endif$ $endif$ \bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} $endif$ $endif$ $if(biblatex)$ \printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ $endif$ $for(include-after)$ $include-after$ $endfor$ \newpage % Nouvelle page avant la dernière couverture \insertbackcover \end{document} |
J'ai un souci au niveau du code que je souhaite afficher dans le livre. Concernant les codes en ligne, j'ai ceci dans le template : % ============================= % Mise en forme du code inline et des blocs de code % ============================= % Charger le package pour la coloration et le fond des blocs de code \usepackage[listings, skins, breakable]{tcolorbox} % Chargement avec les bonnes options % Définition de la police Hack pour le code \newfontfamily\codeFont{Hack} % ============================= % Code inline (fond gris, arrondi, police Hack) % ============================= \renewcommand{\texttt}[1]{% \tcbox[ colback=gray!10, % Fond gris arc=4pt, % Coins arrondis boxrule=0pt, % Pas de bordure left=4pt, right=4pt, % Espacement horizontal interne top=0pt, bottom=0pt, % Espacement vertical interne boxsep=0.5pt, % Espacement autour du texte on line ]{\codeFont \strut#1} } Globalement, c'est le résultat attendu (fond gris, avec des arrondis, une hauteur minimale pour gérer correctement les caractères comme le underscore et un interlignage qui ne change pas). Par contre j'ai un espace entre le mot et le bloc en ligne, c'est parfait. Mais j'ai comme 2 espaces entre le code en ligne et le premier mot de la phrase à droite (voir fichier PDF partagé plus haut). J'ai vérifié le fichier \emph{Lorem ipsum} dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris \texttt{nisi\ 0} ut \texttt{\_} aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. J'ai supprimé la configuration de la langue dans le fichier YAML, mais le problème persiste. La seule solution que j'ai trouvé, c'est de ne pas avoir d'espace dans le fichier Markdown, donc de passer de ceci : ullamco laboris `nisi 0` ut `_` aliquip A ceci : ullamco laboris `nisi 0`ut `_`aliquip Mais évidemment je préfèrerais trouver une solution de configuration plutôt dans le template. L'autre souci vient des blocs de code qui ne fonctionnent pas. J'ai une font différente du texte des paragraphes, mais pas celle que j'utilise pour les codes en ligne (à savoir Hack). Pas de fond gris non plus, voici la configuration du template : % ============================= % Blocs de code (fond gris, arrondi, police Hack) % ============================= \newtcblisting{codeblock}{ colback=gray!10, % Fond gris clair pour le bloc arc=4pt, % Coins arrondis (4px) boxrule=0pt, % Épaisseur de la bordure listing only, % Pas d'espace supplémentaire autour breakable, % Autoriser la coupure sur plusieurs pages fontupper=\codeFont\ttfamily, % Appliquer Hack enhanced, % Améliore le rendu du fond et des bordures listing engine=listings } % Appliquer ce style aux environnements verbatim \let\oldverbatim\verbatim \renewcommand{\verbatim}{\codeblock} |
Dans le fichier template.tex, supprimer ou commenter les parties $if(papersize)$ $papersize$paper, $endif$ $if(geometry)$ \usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} $endif$ puis remplacer \geometry{twoside, inner=24mm, % Marge intérieure (côté reliure) outer=24mm, % Marge extérieure top=24mm, % Marge supérieure bottom=40mm, % Marge inférieure footskip=16mm, % Distance entre le texte et le numéro de page bindingoffset=12mm % Décalage pour la reliure } par \geometry{paperwidth=190mm, paperheight=230mm, inner=24mm, % Marge intérieure (côté reliure) outer=24mm, % Marge extérieure top=24mm, % Marge supérieure bottom=40mm, % Marge inférieure footskip=16mm, % Distance entre le texte et le numéro de page bindingoffset=12mm % Décalage pour la reliure } |
J'ai essayé plusieurs choses pour modifier le format du PDF, mais je reste tout le temps au format A4. Je suis passé par le fichier YAML et par le template, dans les 2 cas, aucun n'est pris en compte. Le format que j'essaye de mettre en place est 190mm / 230mm. |
Je ne sais pas si c'est un problème ou si c'est normal. Quand je compile (pour aller plus vite je ne génère pas les couvertures) la première page blanche est entièrement blanche (sans numéro de page ou autre), OK. La seconde par contre est numéroté 2, OK. Ensuite j'ai la table des matières qui est noté "i", ça me va, je ne suis pas spécialiste de ces nomenclatures, mais OK. J'ai ensuite une autre page complètement blanche, OK. Le problème vient du premier titre H1 car la page est numéroté à 1. Du coup, même si la toc se retrouve avec la bonne numérotation, tout est décalé, car cela ne peut pas être la première page. Voir les PDF partagés ci-dessus. EDIT : le numéro de la page 1 (où il y a le titre H1) est centré aussi, alors qu'il devrait être à droite vu que normalement les titres H1 sont sur la page droite, jamais a gauche (si la configuration est bonne en tout cas). 1
Pour la numérotation des page (roman-arabic) c'est tout à fait normal. Pour une autre option essayer d'ajouter
Alors effectivement je n'ai plus de numérotation de page sur la page de titre, par contre mon premier H1 démarre à la page 1. 1
Pour la numérotation des pages, par défaut, il y a deux options:
Alors la numérotation arabic, c'est pas un souci, ça me va très bien. Par contre je ne sais pas pourquoi ça recommence à la page 1 à partir du premier titre H1 ? 1
Je n'ai pas compris. Avez vous essayer la deuxième option que j'ai proposé:
Oui oui, Dans le PDF "livre documentclass.pdf" partagé plus haut avec le lien SwissTransfert, on voit bien le "i" sur la page de la toc (que j'ai perdu entre temps) et la page 1 sur la page du premier titre H1.
Affichage de 5 parmi 7
Afficher 2 commentaire(s) en plus
|
Pour avoir un peu plus de clarté, je reprends ici.
Pour les différences avec book et documentclass :
Je ne peux pas poster d'images car je n'ai pas assez de points, je propose un lien, j'ai vérifier les conditions je n'ai pas vu de règles à ce sujets. Il y a les 2 PDFs renommé pour faire la différence entre les 2. https://www.swisstransfer.com/d/c0ed6d5a-0d43-4b5a-aba3-61a7adfeab41 Comment puis-je voter d'ailleurs, j'ai regardé un peu partout y compris avec votre pseudo, je n'ai pas trouvé. 1
Si Pour ne pas numéroté les titres H3 ajouter 1
Voici le code à utiliser pour la séparation H1-H2
Nikel pour les headers et la séparation entre les titres H1 et H2. |
EDIT : Je n'avais pas vu la réponse précédente, je refais donc mon post. J'ai repris le template entier et modifié, j'ai par contre perdu quelques éléments entre les 2 versions :
J'ai modifié le fichier YAML, que voici : lang: FR-fr book: true fontsize: 11pt papersize: "190mm,230mm" 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 Concernant la ligne 1
Commencer par remplacer 1
Pour 1, essayer ce code
Pour le point 4, ajouter dans le préambule Pour le point 5 je n'ai aucune idée (je n'ai rien changé). Pour Pour la toc, nikel, j'ai modifié légèrement le code : ``` $if(toc)$ $if(toc-title)$ renewcommand*contentsname{$toc-title$} $endif$ { $if(colorlinks)$ hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$} $endif$ setcounter{tocdepth}{$toc-depth$} addtocontents{toc}{protectvspace{20mm}} % Espace entre le titre et la toc clearpage thispagestyle{empty} % Supprime le header sur cette page tableofcontents clearpage thispagestyle{empty} % Supprime aussi le header sur la page suivante } $endif$ ``` Pour ce qui est d'ajouter cette ligne : Provoque cette erreur :
Enfin, concernant le point 5, en fait cela n'a jamais fonctionné. J'ai bien une font type courrier, mais pas de fond gris, avec les bords arrondies comme les codes en ligne. Le 1
1
Pour régler l'entete, ajouter
après
1
Pourriez vous clarifier le problème : "Le documentclass: book, pose un souci au niveau de la numérotation des pages, car la page 1 démarre au premier H1. Dans les 2 cas je n'ai plus la séparation entre le titre H1 et le H2 suivant. Par contre avec book: true, je perds la coloration des titres."
Affichage de 5 parmi 8
Afficher 3 commentaire(s) en plus
|
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.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 ....
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 }
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.
Avez vous essayer de supprimer (totalement) cette partie?
@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 !
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.