TeXnique.fr
TeXnique.fr is a French question-and-answer site for TeX and LaTeX. Here are the newest 20 questions. Sorry that the code formatting is not preserved through the RSS feed.
- Mettre un barre verticale à gauche de Blockquoteby GreenMaker on April 14, 2025 at 12:54 pm
Je voudrai afficher une ligne verticale sur la gauche des citations longues avec \blockquote, ma solution actuelle est de mettre mon texte dans un tableau et d'afficher le contour gauche. Existe-t-il un moyen de d'incorporer ça directement dans la commande de \blockquote ? \documentclass[]{yathesis} \usepackage[backend=biber,safeinputenc]{biblatex} \usepackage{lipsum} \usepackage[autostyle]{csquotes} \newenvironment{italicquote}{\quote\itshape}{\endquote} \SetBlockEnvironment{italicquote} \begin{document} \lipsum[1] \blockquote{\lipsum[2]} %Solution temporaire \begin{center} \begin{tabular}{|p{13cm}} \textit{\lipsum[3]} \end{tabular} \end{center} \end{document}
- TeX Live et getnonfreefontsby Pathe on April 7, 2025 at 11:47 am
J'utilise une TeX Live 2025 à jour, sur un système GNU/Linux. J'ai besoin d'une fonte fournie par getnonfreefonts. Me référant à la page dédiée, je fais : ~ wget https://www.tug.org/fonts/getnonfreefonts/install-getnonfreefonts --2025-04-07 13:40:54-- https://www.tug.org/fonts/getnonfreefonts/install-getnonfreefonts Resolving www.tug.org (www.tug.org)... 46.4.94.215 Connecting to www.tug.org (www.tug.org)|46.4.94.215|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 33640 (33K) [application/octet-stream] Saving to: ‘install-getnonfreefonts’ 0K .......... .......... .......... .. 100% 1.64M=0.02s 2025-04-07 13:40:54 (1.64 MB/s) - ‘install-getnonfreefonts’ saved [33640/33640] Je continue l'installation : ~ texlua install-getnonfreefonts Detected System: x86_64-linux Detected Installation: /usr/local/texlive/2025 Installing texmf-dist/scripts/getnonfreefonts/getnonfreefonts.pl ... install-getnonfreefonts:994: /usr/local/texlive/2025/texmf-dist/scripts/getnonfreefonts/getnonfreefonts.pl: Permission denied Il est vrai que j'avais eu besoin de sudo pour installer ma TeX Live. Je fais donc sudo texlua install-getnonfreefonts : ~ sudo texlua install-getnonfreefonts Detected System: x86_64-linux Detected Installation: /usr/local/texlive/2025 Installing texmf-dist/scripts/getnonfreefonts/getnonfreefonts.pl ... [done] Installing texmf-dist/doc/man/man1/getnonfreefonts.1 ... [done] Installing texmf-dist/doc/man/man1/getnonfreefonts.man1.pdf ... [done] md5sum: fcc12b475cb7b1e11125e0deeadd2bca getnonfreefonts.pl ... [ok] md5sum: 7eedbc34762d571db90637c4c29c6d7a getnonfreefonts.1 ... [ok] md5sum: 0e4bbb9a732fb9e7b9e1d80e993ffb47 getnonfreefonts.man1.pdf ... [ok] Fixing File Permissions ... [done] Creating symlink in 'bin/x86_64-linux' ... [done] mktexlsr: Updating /usr/local/texlive/2025/texmf-dist/ls-R... mktexlsr: Done. « Chouette, ça a fonctionné », me dis-je. Mais voilà : ~ getnonfreefonts --sys --help zsh: command not found: getnonfreefonts Y ajouter une pincée de sudo n'aide pas : ~ sudo getnonfreefonts --sys --help sudo: getnonfreefonts: command not found Il se passe quoi ?
- Page de table des matières numérotéeby LaTeXBold on April 4, 2025 at 12:39 pm
Je souhaite récupérer une numérotation des pages en style romain et centrée sur chaque page où il y a une table des matières présente (pas sur les pages blanches qui précèdent ou suivent ladite table). J'arrive à changer le style des pages affichées dans la table, mais pas la numérotation des pages de la table elle-même. Voici le template : $passoptions.latex()$ \documentclass[ $for(babel-otherlangs)$ $babel-otherlangs$, $endfor$ $if(babel-lang)$ $babel-lang$, $endif$ $if(fontsize)$ $fontsize$, $endif$ $for(classoption)$ $classoption$$sep$, $endfor$ ]{$documentclass$} $if(beamerarticle)$ \usepackage{beamerarticle} % needs to be loaded first $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$} % ============================= % Metadata configuration % ============================= \hypersetup{pdftex, pdfauthor={Your Name}, pdftitle={The Title}, pdfsubject={The Subject}, pdfkeywords={Some Keywords}, pdfproducer={Latex with hyperref, or other system}, pdfcreator={pdflatex, or other tool}} % ============================= % Package loading % ============================= \usepackage{xcolor} % Color management \usepackage{ifthen} % Condition handling \usepackage{fancyhdr} % Header and footer customization \usepackage{fontspec} % Allows using custom fonts with LuaLaTeX \usepackage{titlesec} % Title styles customization \usepackage{textcase} % Case conversion \usepackage{graphicx} % Image management \usepackage{geometry} % Margin definition \usepackage{newunicodechar} % Unicode character support % ============================= % Counter management % ============================= \setcounter{secnumdepth}{1} % Sets the numbering level (H1 to H5) % ============================= % LaTeX configuration section % ============================= % Command to insert cover page with specified image \newcommand{\insertcover}{ \newgeometry{margin=0pt} % Removes margins for cover \begin{titlepage} % Start of title page \noindent\includegraphics[width=1\paperwidth,height=1\paperheight]{./assets/covers/$cover-image$} \end{titlepage} \restoregeometry % Restores default margins } % Command to insert back cover with specified image \newcommand{\insertbackcover}{ \newgeometry{margin=0pt} % Removes margins for back cover \begin{titlepage} % Start of back cover page \includegraphics[width=\paperwidth,height=\paperheight]{./assets/covers/$back-cover-image$} \end{titlepage} \restoregeometry % Restores default margins } % ============================= % Modifiable parameters % ============================= \definecolor{colorH1}{RGB}{4, 32, 80} % Color definition for H1 % Title configuration variables \newcommand{\TitleUppercase}{true} % Enable/disable uppercase for titles \newcommand{\TitleNumbering}{true} % Enable/disable title numbering \newcommand{\HOneColor}{colorH1} % H1 titles color \newcommand{\HTwoColor}{black} % H2 titles color \newcommand{\HThreeColor}{black} % H3 titles color \newcommand{\HFourColor}{black} % H4 titles color \newcommand{\HFiveColor}{black} % H5 titles color % Function to handle title uppercase formatting \newcommand{\TitleFormat}[1]{% \ifthenelse{\equal{\TitleUppercase}{true}}{\MakeUppercase{#1}}{#1}% } % ============================= % Main font configuration % ============================= \setmainfont{Playfair Display} % Main font for the document \newfontfamily\codeFont{Hack} % Font for code blocks % Title font configuration \newfontfamily\hOneFont{Russo One} % H1 title font \newfontfamily\hTwoFont{Russo One} % H2 title font \newfontfamily\hThreeFont{Russo One} % H3 title font \newfontfamily\hFourFont{Russo One} % H4 title font \newfontfamily\hFiveFont{Russo One} % H5 title font % No native H6 title with LaTeX % Emoji configuration \newfontfamily{\notoemojiFont}{Noto Emoji Regular}[ Renderer=HarfBuzz, Scale=1.0 ] \DeclareTextFontCommand{\notoemojiSymbol}{\notoemojiFont} \renewcommand{\baselinestretch}{1.2} % Global line spacing configuration % ============================= % Title styles definition % ============================= % --- Title H1 --- \titleformat{\chapter} [block] % Block format to take full width {\hOneFont\fontsize{32pt}{36pt}\bfseries\color{\HOneColor}} % Style: font, size, bold, color {\ifthenelse{\equal{\TitleNumbering}{true}}{\thechapter\hspace{-0.5em}}{}} % Conditional numbering {1em} % Spacing before title {\TitleFormat} % Apply format (uppercase if enabled) % --- Section H2 --- \titleformat{\section} {\hTwoFont\fontsize{24pt}{28pt}\bfseries\color{\HTwoColor}} % H2 title style {\ifthenelse{\equal{\TitleNumbering}{true}}{\thesection\hspace{-0.5em}}{}} % Conditional numbering {1em} % Spacing before title {\TitleFormat} % Title format % Force a new page for each new section except the first \let\OldSection\section \renewcommand{\section}{\ifnum\value{section}=0\clearpage\fi\OldSection} % --- Subsection H3 --- \titleformat{\subsection} {\hThreeFont\fontsize{18pt}{22pt}\bfseries} % H3 title style {\thesubsection}{1em}{} % --- Sub-subsection H4 --- \titleformat{\subsubsection} {\hFourFont\fontsize{16pt}{20pt}\bfseries} % H4 title style {\thesubsubsection}{1em}{} % --- H5 --- \titleformat{\paragraph} {\hFiveFont\fontsize{14pt}{18pt}\bfseries} % H5 title style {\theparagraph}{1em}{} % ============================= % Margin and layout management % ============================= \usepackage[strict]{changepage} % Advanced margin management \geometry{ paperwidth=190mm, % Paper width paperheight=230mm, % Paper height inner=24mm, % Inner margin (binding side) outer=24mm, % Outer margin top=24mm, % Top margin bottom=40mm, % Bottom margin footskip=18mm, % Distance between text and page number bindingoffset=12mm % Binding offset } % Defines space between text and footnotes \renewcommand{\footnoterule}{\vspace{18pt}\hrule width 0.3\textwidth \vspace{5pt}} % ============================= % Page number management % ============================= \fancyhf{} % Clear default headers and footers \fancyhead[C]{\fontsize{9pt}{10pt}\selectfont\leftmark} % Header: using same size for font and leadingfor consistent sizing \fancyfoot[LE,RO]{\thepage} % Page numbering on left for odd pages and right for even pages \pagestyle{fancy} % Activate custom style \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\chaptermark}[1]{\markboth{\MakeUppercase{#1}}{}} \assignpagestyle{\chapter}{empty} % ============================= % Inline code and code block formatting % ============================= \usepackage[listings, skins, breakable]{tcolorbox} % Load package with correct options % ============================= % Inline code (gray background, rounded, Hack font) % ============================= \DeclareTotalTCBox{\texttt}{m}{% fontupper=\codeFont, colback=gray!10, % Gray background arc=4pt, % Rounded corners boxrule=0pt, % No border left=4pt, right=4pt, % Horizontal internal spacing top=0pt, bottom=0pt, % Vertical internal spacing boxsep=0.5pt, % Spacing around text on line}{\strut#1} % ============================= % Code blocks (gray background, rounded, Hack font) % ============================= \DeclareTCBListing{verbatim}{}{ colback=gray!10, % Light gray background for block arc=4pt, % Rounded corners (4px) boxrule=0pt, % Border thickness listing only, % No extra space around breakable, % Allow page break fontupper=\codeFont, % Apply code font enhanced, % Improve background and border rendering listing engine=listings, listing options={basicstyle=\codeFont\small} } % ============================= % Alerts % ============================= % Color definitions for each alert type \definecolor{notecolor}{HTML}{183394} % Blue for notes \definecolor{tipcolor}{HTML}{339418} % Green for tips \definecolor{importantcolor}{HTML}{FFC800} % Yellow for important \definecolor{warningcolor}{HTML}{FF7500} % Orange for warning \definecolor{cautioncolor}{HTML}{BD0404} % Red for caution % Custom alert block configuration % #1: vertical line color % #2: icon name (without extension) \newtcolorbox{alertblock}[2]{ enhanced, % Enable advanced features fontupper=\raggedright, % Align text to left colback=gray!5, % Light gray background (5%) boxrule=0pt, % No border arc=4pt, % Rounded corners frame empty, % No frame left=4mm, % Left margin right=2mm, % Right margin top=4mm, % Top margin bottom=4mm, % Bottom margin before upper={ % Start of block structure \begin{minipage}[c]{8mm} % Icon area (8mm) \raisebox{-.5\height}{\includegraphics[height=7mm]{#2.pdf}} % Centered icon vertically \end{minipage}% \hspace{3mm}\textcolor{#1}{\vrule width 0.6pt}\hspace{6mm} % Colored vertical line \begin{minipage}[t]{\dimexpr\linewidth-22mm\relax} % Text area }, after upper={% % Close environments \end{minipage}% } } \begin{document} % Remove page numbers for cover and following blank page \pagestyle{empty} % Insert cover on first page \insertcover \clearpage % Add a single blank page after cover \mbox{} % Reactivate page style but without displaying number on this blank page \pagestyle{empty} \pagenumbering{arabic} \setcounter{page}{1} % Display page numbers from the first real content page \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$} \addtocontents{toc}{\protect\vspace{20mm}} % Space between title and toc \clearpage \thispagestyle{empty} % Remove header on this page \tableofcontents \clearpage \thispagestyle{empty} % Also remove header on the next page } $endif$ $if(lof)$ \listoffigures $endif$ $if(lot)$ \listoftables $endif$ $if(linestretch)$ \setstretch{$linestretch$} $endif$ %$if(has-frontmatter)$ %\mainmatter %$endif$ % Main content $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$ % New page before the last cover \newpage \insertbackcover \end{document}
- [yathesis] problème de passage de langue à algorithm2eby Maxime on March 29, 2025 at 8:32 pm
La configuration des langues avec yathesis (que je recommande beaucoup autour de moi, notamment pour des HDR) pose un problème avec le package algorithm2e qui prend en compte le français, peu importe le mainlangage de yathesis ou l’option pour algorithm2e. Le problème n’est pas présent avec la classe book. \documentclass[mainlanguage=english,french]{yathesis} %\documentclass{book} \usepackage[algo2e]{algorithm2e} \begin{document} \mainmatter \begin{algorithm2e}[ht]\caption{Test}\label{alg:PPCG} Test\; \For{Test}{ Test\; } \end{algorithm2e} \end{document}
- Indexation perturbéeby fred02840 on March 29, 2025 at 12:24 pm
J'ai un document de 200 pages environ, dont l'utilisation serait simplifiée par une indexation des noms et une autre pour les lieux. Exemple fictif de ce que j'ai fait : \documentclass{scrbook} \usepackage[T1]{fontenc} \usepackage[xindy]{indextools} \makeindex[name=p,title=Index des personnes] \makeindex[name=lx,title=Index des lieux] \begin{document} Lorem\index[p]{\textsc{Lorem} Marcel} ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore\index[lx]{Dolore} magna\index[p]{\textsc{Magna} Charles} aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor\index[lx]{Dolore} in reprehenderit in voluptate velit esse cillum dolore\index[lx]{Dolore} eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. \newpage \printindex[p] \printindex[lx] \end{document} Là dessus, compilation : pdflatex - latexmk - pdflatex Cela fonctionne très bien, mais l'index présente des répétitions d'occurrences. En vérifiant Le fichier p.idx présente en effet quelques bizarreries : des espaces apparaissent entre \textsc et le nom propre auquel il se rapporte, d'où la double indexation. Je n'ai pas encore tenté le diable en créant un index des lieux lx.idx… \indexentry{\textsc{Royaux} Paul}{5} \indexentry{\textsc {Royaux} Paul}{42} \indexentry{\textsc{Geelen} Pierre}{7} \indexentry{\textsc {Geelen} Pierre}{11} \indexentry{\textsc{Heyermans} André}{40} \indexentry{\textsc {Heyermans} André}{42} J'ai vérifié la typographie : aucune erreur. J'ai détruit p.idx pour en créer un nouveau : mêmes problèmes. La seule solution serait de faire une correction de p.idx, ce qui serait assez fastidieux.
- Table des matières: formater les numéros de page ?by joseph-tux on March 28, 2025 at 7:24 pm
Est-il possible de formater seulement les numéros de page dans la table des matières? (tableofcontents et hyperref) Par exemple, je souhaiterais y mettre une couleur et peut-être un cadre (fbox, tcbox...) Sur un gros document composé majoritairement de documents inclus (beaucoup de pdf et quelques jpg ou png), j'ai supprimé l'affichage du numéro en bas de page (avec le greffon nopageno), et ajouté les numéros de page avec une fonction de tampon (avec un document pdf ne contenant que les numéros de page collé par pdftk et sa fonction multistamp sur le document) Ces numéros en bas de page sont volontairement «flashies», dans une tcbox et en couleur, afin de ressortir dans un format identique sur tous les documents inclus, et d'être bien différenciés des numéros de page des documents inclus avec des formats variés. \documentclass[a4paper,11pt,french]{scrartcl} \usepackage{pdfpages} \usepackage{includegraphicx} \usepackage{caption} \usepackage{lipsum} \usepackage{tcolorbox} \usepackage[french]{babel} \usepackage[hidelinks,linktoc=all]{hyperref} \begin{document} \setcounter{tocdepth}{2} \tableofcontents \pagebreak \section{Introduction} \lipsum{1} \addcontentsline{toc}{section}{Premiers documents} \input{prem.tex} \includepdf[% pages=-,% pagecommand*={\phantomsection\addcontentsline{toc}{subsection}{Contrat}} ]{Contrat.pdf} \includegraphics[width=0.95\textwidth]{Photos24.jpg} \captionof{figure}{La photo du jour} \end{document} Ci dessous la page 1 des calques (un pdf de 500 pages) recouvrant le fichier final (le cadre est ajouté pour cet exposé):
- Alertes (ou admonition) personnaliséesby LaTeXBold on March 26, 2025 at 6:39 pm
N'ayant pas assez de points de réputation, je partage un lien pour télécharger une image qui représente une série d'alertes que j'aimerais retrouver avec une compilation d'un fichier Markdown via Pandoc en PDF (en utilisant LaTeX comme moteur de rendu). Voici ce que j'utilise dans le fichier Markdown pour afficher une alerte : >  > Ajoute des compléments d’information ou des précisions utiles. \ >  > Partage des conseils pratiques ou des recommandations. \ >  > Insiste sur des éléments essentiels à retenir. \ >  > Signale des erreurs courantes ou des points de vigilance. \ >  > Préviens des conséquences négatives potentielles d’une action ou d’une décision. Le logiciel que j'utilise est iA Writer, et il n'est pas compatible avec GFM qui intègre des alertes que vous pouvez voir ici : https://github.com/orgs/community/discussions/16925 Comme avec iA Writer je peux modifier le résultat avec du CSS, j'ai pu obtenir ce que je cherchais : https://www.swisstransfer.com/d/df445e82-faa9-49ba-b2b2-47524cd57ac8 Je ne suis pas certain que ce résultat est possible avec LaTeX, je ne sais pas non plus si il y a des paquets qui existent pour obtenir ce genre de résultat et je n'ai aucune idée de comment atteindre cet objectif. Mais dans le cas où cela est possible, je peux modifier la syntaxe du Markdown et je suis prêt a avoir un résultat différent que celui attendu. Je reste donc ouvert à toute proposition.
- Coloration syntaxique dans les blocs de code généré à partir de Pandocby LaTeXBold on March 26, 2025 at 9:35 am
J'ai un fichier Markdown qui contient ceci : ```markdown Je test un **bloc** de code. 0 de la font Hack ``` Je compile le fichier avec cette commande : pandoc test.md --pdf-engine=lualatex --from markdown+hard_line_breaks+mark+emoji --metadata-file=metadata.yaml --template=template.tex -o livre.pdf --no-highlight Et dans le fichier .tex généré, j'ai ceci : \begin{verbatim} Je test un **bloc** de code. 0 de la font Hack \end{verbatim} Ca fonctionne, dans le sens où j'ai la bonne police et un fond gris avec des bords arrondies (ce qui corresponds à mon template). Si je souhaite de la coloration syntaxique, j'utilise cette commande : pandoc test.md --pdf-engine=lualatex --from markdown+hard_line_breaks+mark+emoji --metadata-file=metadata.yaml --template=template.tex --highlight-style=pygments --pdf-engine-opt=--shell-escape -o livre.pdf J'obtiens ceci dans le fichier tex : \begin{Shaded} \begin{Highlighting}[] \NormalTok{Je test un **bloc** de code.} \NormalTok{0 de la font Hack} \end{Highlighting} \end{Shaded} Mais dans ce cas, ce n'est plus la bonne police et plus de fond gris dans le fichier PDF. D'ailleurs je remarque \begin{Highlighting}[] qui n'a pas l'air de prendre en compte le langage (Markdown dans ce cas). Voici le fichier template concernant les morceaux de code : % ============================= % 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) % ============================= \DeclareTotalTCBox{\texttt}{m}{% fontupper=\codeFont, 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}{\strut#1} % ============================= % Blocs de code (fond gris, arrondi, police Hack) % ============================= \DeclareTCBListing{verbatim}{}{ 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, % Appliquer Hack enhanced, % Améliore le rendu du fond et des bordures listing engine=listings, listing options={basicstyle=\codeFont\small} }
- Emoji avec Pandoc à partir d'un fichier Markdownby LaTeXBold on March 24, 2025 at 6:10 pm
Je compile un fichier Markdown avec cette commande : pandoc test.md --pdf-engine=lualatex --from markdown+hard_line_breaks+mark+emoji --metadata-file=metadata.yaml --template=template.tex -o livre.pdf Dans le fichier Markdown, j'ai ceci : :blush: Dans le template LaTeX, j'ai ceci : % ============================= % Configuration des Emojis % ============================= \newfontfamily\emojiFont{Noto Emoji}[Renderer=Harfbuzz] \newcommand{\emoji}[1]{{\emojiFont #1}} A la compilation, j'obtiens cette erreur : [WARNING] Missing character: There is no 😊 (U+1F60A) (U+1F60A) in font name:PlayfairDisplay:mode= J'ai vérifié, la police est bien installé.
- ! Package pgfkeys Error: I do not know the key '/tcb/segmentation styleby joseph-tux on March 22, 2025 at 12:05 pm
Ma compilation (xelatex ou pdflatex) se heurte à ce message d'échec. Je n'ai trouvé aucune référence à pgkkeys dans mon code qui utilise les extensions suivantes: \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc \usepackage[ttscale=0.85]{libertine} \usepackage[final,babel]{microtype} \usepackage{xspace} \usepackage{abstract} \usepackage{tcolorbox} \usepackage[defaultlines=3,all]{nowidow} \usepackage[french]{babel} \usepackage[hidelinks]{hyperref} et charge mes macros qui utilisent: \usepackage{ifthen} \usepackage{xspace} etoolbox url imakeidx enumitem Comment en savoir plus dans le fichier log ou l'affichage de la compilation (trouver la ligne ou la commande fautive dans mon code)?
- Conversion Markdown to PDF avec LaTeX - Bloc de codesby LaTeXBold on March 20, 2025 at 2:46 pm
Je n'arrive pas à afficher des blocs de code dans le document PDF que je génère avec Pandoc à partir d'un fichier Markdown. Aucun problème avec le code en ligne cependant. Pour info, voici le fichier YAML : lang: FR-fr documentclass: book fontsize: 11pt 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 Et voici le code du template LaTeX : % ============================= % 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) % ============================= \DeclareTotalTCBox{\texttt}{m}{% fontupper=\codeFont, 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}{\strut#1} % ============================= % Blocs de code (fond gris, arrondi, police Hack) % ============================= \DeclareTCBListing{verbatim}{}{ 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 } Actuellement j'ai une font a chasse fixe (celle par défaut je pense), mais ni fond gris, ni la bonne font (a savoir Hack). Si il y a des options aussi pour activer la numérotation de ligne et la coloration syntaxique, je prends.
- Liste de questions dans un fichier et inclusion de certaines questions pour une évaluationby nico56 on March 19, 2025 at 2:23 pm
Je cherche à: me faire une base de questions de cours pour chacun de mes chapitres, pouvoir faire appel à certaines de ces questions au gré de mes envies, je voudrais aussi pouvoir avoir un listing complet de mes questions par chapitre au format pdf pour savoir lesquelles piocher, avec le nom de la question pour savoir laquelle choisir. Un fichier source contenant les questions par chapitre qui ressemblerait à \chap1question1{bla} \chap1question2{bli} \chap1question3{blo} Un fichier récapitulatif des questions à: \section{chapitre 1} \listingquestions ... Et enfin pouvoir faire appel à mes questions via des commandes simples : \chap1question1 par exemple.
- [yathesis] titleformat empêche les localtocsby Maxime on March 19, 2025 at 8:32 am
Je souhaite modifier l’apparence des chapitres et des sections en utilisant titlesec, mais lorsque je fais cela pour les chapitres, les sommaires des chapitres ne sont plus générés. Comment peut-on régler ce problème ? \documentclass[localtocs]{yathesis} \titleformat{\chapter}[display]{\centering\normalfont\bfseries\Huge}{CHAPITRE~\Roman{chapter}.}{10pt}{}[\vspace{1ex}\centering\rule{0.4\linewidth}{1pt}] \begin{document} \mainmatter \chapter{Test1} \section{Test} \section{Hein} \end{document}
- Mauvais lien hypertarget hyperlink avec paramètre dépendant d'un compteurby nico56 on March 18, 2025 at 11:05 pm
Je cherche à créer un document de TD sous la forme de 3 parties: énoncés, indications, corrigés. Chaque exercice est composé d'une commande \exocor avec 3 paramètres qui sont l'énoncé, les indications et le corrigé. Je souhaite pouvoir faire des liens entre l'énoncé, les indications et le corrigé d'un exercice. J'ai réussi à créer ceci pour un ou deux exercices en complétant les paramètres des \hypertarget et \hyperlink à la main, voici l'ECM: \documentclass[a4paper,11pt]{article} \usepackage{hyperref} \usepackage{ifthen} \newboolean{enonce} \newboolean{indication} \newboolean{corrige} \newcommand{\exocor}[3]{ %énoncé + indications + corrigé : \ifthenelse{\boolean{enonce}}{#1}{} \ifthenelse{\boolean{indication}}{#2}{} \ifthenelse{\boolean{corrige}}{#3}{} } \begin{document} \begin{center} \exocor{Enoncés}{Indications}{Corrigés} \end{center} % inclusion des exercices de mon td \def\TD{ % début du fichier exercice-01.tex \exocor{ \hypertarget{eno1}{\textbf{Énoncé}} \hyperlink{ind1}{\textbf{Lien vers les indications}} - \hyperlink{cor1}{\textbf{Lien vers les solutions}} Mon énoncé de l'exercice 1. }{ \hypertarget{ind1}{\textbf{Indications}} \hyperlink{eno1}{\textbf{Lien vers l'énoncé}} - \hyperlink{cor1}{\textbf{Lien vers les solutions}} Mes indications de l'exercice 1. }{ \hypertarget{cor1}{\textbf{Solutions}} \hyperlink{eno1}{\textbf{Lien vers l'énoncé}} - \hyperlink{ind1}{\textbf{Lien vers les indications}} Mon corrigé de l'exercice 1. } % Fin du fichier exercice-01.tex \newpage % début du fichier exercice-02.tex \exocor{ \hypertarget{eno2}{\textbf{Énoncé}} \hyperlink{ind2}{\textbf{Lien vers les indications}} - \hyperlink{cor2}{\textbf{Lien vers les solutions}} Mon énoncé de l'exercice 2. }{ \hypertarget{ind2}{\textbf{Indications}} \hyperlink{eno2}{\textbf{Lien vers l'énoncé}} - \hyperlink{cor2}{\textbf{Lien vers les solutions}} Mes indications de l'exercice 2. }{ \hypertarget{cor2}{\textbf{Solutions}} \hyperlink{eno2}{\textbf{Lien vers l'énoncé}} - \hyperlink{ind2}{\textbf{Lien vers les indications}} Mon corrigé de l'exercice 2. } % Fin du fichier exercice-02.tex } \setboolean{enonce}{true} \setboolean{indication}{false} \setboolean{corrige}{false} \TD \newpage \setboolean{enonce}{false} \setboolean{indication}{true} \TD \newpage \setboolean{indication}{false} \setboolean{corrige}{true} \TD \end{document} L'objectif est d'automatiser ceci en faisant appel à un nombre plus conséquent d'exercices et surtout sur beaucoup de TD, ce qui fait que compléter les paramètres pour \hypertarget et \hyperlink est trop lourd. J'ai tenté ceci, mais sans succès, les liens sont fantaisistes. Voici un ECM avec 2 exercices (définis à l'aide de \def) : \documentclass[a4paper,11pt]{article} \usepackage{hyperref} \usepackage{ifthen} \newboolean{enonce} \newboolean{indication} \newboolean{corrige} \newcommand{\exocor}[3]{ %énoncé + indications + corrigé : \ifthenelse{\boolean{enonce}}{#1}{} \ifthenelse{\boolean{indication}}{#2}{} \ifthenelse{\boolean{corrige}}{#3}{} } \begin{document} \begin{center} \exocor{Enoncés}{Indications}{Corrigés} \end{center} \newcounter{en} % 3 compteurs distincts pour les énoncés, indications et corrigés, 1 seul compteur est indenté trop de fois \newcounter{in} \newcounter{co} \def\exercice{ \exocor{% Enoncé \hypertarget{eno\theen{}}{\textbf{Énoncé}} \hyperlink{ind\thein{}}{\textbf{Lien vers les indications}} - \hyperlink{cor\theco{}}{\textbf{Lien vers les solutions}} Mon énoncé de l'exercice \theen{}. }{ %Indications \hypertarget{ind\thein{}}{\textbf{Indications}} \hyperlink{eno\theen{}}{\textbf{Lien vers l'énoncé}} - \hyperlink{cor\theco{}}{\textbf{Lien vers les solutions}} Mes indications de l'exercice \thein{}. }{% Corrigé \hypertarget{cor\theco{}}{\textbf{Solutions}} \hyperlink{eno\theen{}}{\textbf{Lien vers l'énoncé}} - \hyperlink{ind\thein{}}{\textbf{Lien vers les indications}} Mon corrigé de l'exercice \theco{}. } } \def\TD{ \exocor{ \refstepcounter{en} }{ \refstepcounter{in} }{ \refstepcounter{co} } \exercice \newpage \exocor{ \refstepcounter{en} }{ \refstepcounter{in} }{ \refstepcounter{co} } \exercice } \setboolean{enonce}{true} \setboolean{indication}{false} \setboolean{corrige}{false} \TD \newpage \setboolean{enonce}{false} \setboolean{indication}{true} \TD \newpage \setboolean{indication}{false} \setboolean{corrige}{true} \TD \end{document}
- Superposer le numéro de page sur un pdf inclusby joseph-tux on March 18, 2025 at 6:17 pm
Avec la classe book (ou scrbook etc.) les commandes \fontmatter et \mainmatter modifient la numérotation. Le gros document numérote à partir de la neuvième page du pdf, donc renvoie à la page 69 du fichier la page numérotée 60 dans la TOC. Est-il possible d'écrire ces numéros de page indiqués dans la table des matières (60 dans mon exemple) en les superposant aux pages des fichiers pdf inclus (avec \includepdf) ?
- TOC: hyperref inefficace/faux avec \addcontentslineby joseph-tux on March 17, 2025 at 4:07 pm
Un très gros document scrbook (plus de 200 pages) composé de très peu de texte et un très grand nombre de fichiers inclus (includepdf et une dizaine de includegraphics (pour les jpg et png) J'ai donc un grand nombre de séries de ce type: \addcontentsline{toc}{section}{Documents réglementaires} \addcontentsline{toc}{subsection}{Contrat (35~p.} \includepdf[pages=-,]{contrat.pdf} \addcontentsline{toc}{subsection}{Contrat (35~p.} \includepdf[pages=-,]{contrat.pdf} parfois séparées par des « \newpage » Avec hyperref j'espérais que la table des matières permette d'aller à la bonne page, la première page du fichier pdf indiqué par \addcontentsline. mais ce n'est pas le cas. un ECM, (pas tout à fait minimum: ECptafm) \documentclass[french,a4paper,11pt,DIV=calc]{scrbook} % pas \abstract, sauf si package abstract \KOMAoptions{% toc=listof, footnotes=multiple, % appels de notes multiples comme ça¹,² -nécessite \frenchsetup{AutoSpaceFootnotes=false headings=small, % Fontes des titres plus petites } \usepackage{lipsum} \usepackage{pdfpages} % \includepdf \usepackage[]{graphicx} % \includegraphics \usepackage[french]{babel} % en dernier, mais avant hyperref \usepackage[% hidelinks, % hyperliens cachés linktoc=all, ]{hyperref} % fourni aussi \nameref et \url \begin{document} \setcounter{tocdepth}{2} \tableofcontents \listoffigures \chapter{Chapitre Foo} \addcontentsline{toc}{section}{Foo} \includepdf[pages=-,]{Foo.pdf} \lipsum \addcontentsline{toc}{chapter}{Bar} \addcontentsline{toc}{section}{Bar} \includepdf[pages=-,]{Bar.pdf} \addcontentsline{toc}{section}{Barbar} \includepdf[pages=-,]{Barbar.pdf} \chapter{Chapitre suivant} \lipsum \end{document}
- LaTeX3 et expressions régulières passées en argumentby polymorphisme on March 14, 2025 at 7:54 am
Pour colorier des lettres de mots, j'utilise des expressions régulières. Par exemple, la commande \orthoFirstLetter colore en rouge la première lettre d'un mot : \ExplSyntaxOn% \regex_new:N \l_firstLetter_regex% \regex_set:Nn \l_firstLetter_regex {([A-Za-zÉÀÈÙÂÊÎÛËÏÜÇéàèùâêîûëïüç]{1})(\-?[A-Za-zÉÀÈÙÂÊÎÛËÏÜÇéàèùâêîûëïüç]*)}% \NewDocumentCommand{\orthoFirstLetter}{ m }{% \tl_set:Nn \l_tmpa_tl { #2 }% \regex_replace_all:NnN% { \l_firstLetter_regex }% { \c{textcolor}\cB\{red\cE\}\cB\{ \1 \cE\} \2 }% \l_tmpa_tl% \tl_use:N \l_tmpa_tl% }% \ExplSyntaxOff% \orthoFirstLetter{mot} Aussi, comme plusieurs motifs (première lettre, double lettre...) sont transformés par une même expression régulière, je me demandais s'il était possible de la passer en paramètre. J'obtiendrais ainsi quelque chose comme : \NewDocumentCommand{\orthoFirstLetter}{ m m }% \orthoFirstLetter{firstLetter}{mot} \orthoFirstLetter{lastLetter}{mot}
- beamer, theme Amurmaple, image dans la diapo de remerciementsby Le TeXnicien de surface on March 9, 2025 at 10:00 am
Le thème Amurmaple fournit la commande \thanksframe dont la documentation dit qu'elle accepte un argument optionnel qui permet de changer l'image affichée sur la diapo. J'ai tenté \thanksframe[yhlogo]{Merci de votre attention.} qui n'affiche que le texte «yhlogo» j'ai tenté également \thanksframe[\includegraphics{yhlogo}]{Merci de votre attention.} sans plus de succès. Que faire ?
- Mettre en bas de casse dans une macroby joseph-tux on March 8, 2025 at 12:22 pm
Ce n'est pas une question, mais la réponse que j'ai trouvé et qui peut aider d'autres LaTeXiens: Comment mettre la variable d'une macro en bas de casse ? je découvre la commande LaTeX \MakeLowercase, qui fait le travail: La macro «\siecle» suivante affiche par exemple xixe siecle, même s'il est tapé \siecle{XIX}. \newcommand\siecle[1]{\textsc{\MakeLowercase{#1}}\ieme\ siècle\xspace} \ieme est une commande de babel french (frenchb)
- Macro LaTeX: mettre le texte en bas de casse (MakeLowercase)by joseph-tux on March 8, 2025 at 12:16 pm
Ce n'est pas une question, mais la réponse que j'ai trouvé et qui peut aider d'autres LaTeXiens: Comment mettre la variable d'une macro en bas de casse: je découvre la commande LaTeX \MakeLowercase, qui fait le travail: La macro «siecle» suivante affiche par exemple xixe siecle, même s'il est tapé siecle{XIX}. \newcommand\siecle[1]{\textsc{\MakeLowercase{#1}}\ieme\ siècle\xspace}