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.

  • erreur avec la classe lettre
    by floyd973 on November 14, 2025 at 1:50 pm

    Bonjour, Afin de tester la classe lettre, j'ai tenté de coller un exemple de code minimal de lettre retrouvé le site : link text \documentclass[12pt]{lettre} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{eurosym} \usepackage[frenchb]{babel} \usepackage{numprint} \begin{document} \begin{letter}{Un destinataire\\Une addresse\\12345 Une ville} \def\concname{Objet :~} % On définit ici la commande 'objet' \conc{ceci est mon objet} \opening{Madame, Monsieur,} Lorem ipsum dolor. Felis dui eni at pellentesque aliquam, ultricies faucibus nullam vitae ante, ante id non. Mi eget amet montes, luctus, vitae, elit, commodo. Consectetuer dolor in mollis augue. Tellus. Eleifend rutrum, mauris metus praesent augue, quam auctor varius nisi eu leo enim dictumst. Nunc torquent vestibulum sociis eu class. Odio ullamcorper iaculis velit. Odio nisl eu. Varius euismod iaculis eget ac maecenas quam. Id. Habitasse tortor mi quis ac lorem eu. Mauris risus integer enim odio cras fringilla dui, fermentum. Mattis parturient ipsum duis nascetur nibh, orci id vel. Elit. Vivamus proin porta viverra quis. Curae cum massa sed arcu montes ut aptent ad. In fusce primis justo vulputate ante duis. Nisl id nibh. Integer, suspendisse quis elementum lorem, massa velit semper aenean non, nisl purus ultricies. Malesuada elit vivamus pede, viverra quam, lorem quisque eleifend natoque. \closing{Je vous prie d'agréer, Madame, Monsieur, mes salutations distinguées.} \end{letter} \end{document} J'obtiens systématiquement les erreurs suivantes : ! LaTeX Error: Unicode character ^^C (U+0003) not set up for use with LaTeX. See the LaTeX manual or LaTeX Companion for explanation. Type H for immediate help. ... ! LaTeX Error: Unicode character ^^D (U+0004) not set up for use with LaTeX. See the LaTeX manual or LaTeX Companion for explanation. Type H for immediate help. ... ! LaTeX Error: Unicode character ^^T (U+0014) not set up for use with LaTeX. See the LaTeX manual or LaTeX Companion for explanation. Type H for immediate help. ! Text line contains an invalid character. l.1 PK^^C^^D^^T^^@ ^^@^^H^^@^^@��m[^�2^^L'^^@^^@^^@'^^@^^@^^@^^H^^@^^@^^@mime... A funny symbol that I can't read has just been input. Continue, and I'll forget that it ever happened. ! Text line contains an invalid character. l.1 PK^^C^^D^^T^^@^^@ ^^H^^@^^@��m[^�2^^L'^^@^^@^^@'^^@^^@^^@^^H^^@^^@^^@mime... A funny symbol that I can't read has just been input. Continue, and I'll forget that it ever happened. Y-a t-il une installation manuelle à réaliser ? En attente de vous lire.

  • Mise en page : alignement vertical des lignes
    by polymorphisme on November 14, 2025 at 12:52 pm

    J'ai un document créé à partir de la classe book. Comment faire en sorte qu'une ligne de texte d'une page gauche et une ligne de texte de la page droite suivent une même ligne de base? Ce texte contient aussi des titres (de chapitre, de section...). N'étant pas certain d'être clair, parfois une illustration aide bien. Dans cet exemple, le texte est aligné verticalement dans les colonnes de gauche et de droite, comment faire la même chose pour des pages. \documentclass{article} \usepackage{multicol,lipsum} \begin{document} \begin{flushright} \begin{multicols}{2} \section{What is Lorem Ipsum?} \lipsum[1][1-7] \subsection{Why do we use it?} \lipsum[2][1-4] \end{multicols}{2} \end{flushright} \end{document}

  • colortbl et les lignes du tableau
    by idefix on November 12, 2025 at 6:07 pm

    \documentclass[french, a4paper, 12pt]{article} \usepackage{xcolor} \usepackage{colortbl} \begin{document} \begin{tabular}{|c|c|c|} \hline A&B&C\\ \hline \rowcolor{green} 1&2&3\\ \hline x&y&z\\ \hline \end{tabular} \end{document} J'utilise colortbl pour colorier les lignes d'un tableau, mais ca a tendance en manger les lignes qui entourent les cases (en particulier les lignes verticales avec \rowcolor). J'aimerais voire clairement apparaître les lignes de contour des cases avec le fond des cases coloré.

  • Ôter les notes marginales
    by Pathe on November 12, 2025 at 4:05 pm

    J'ai un texte avec de très nombreuses notes marginales. J'aimerais en obtenir une version dépourvue de ces notes, sans les enlever du code source. Comment faire ? Ci-dessous un ECM, à toutes fins utiles : \documentclass{article} \usepackage{lipsum} \begin{document} \lipsum[1]\marginpar{1} \lipsum[2]\marginpar{2} \lipsum[3]\marginpar{3} \end{document}

  • Erreur incompréhensible : Use of \??? doesn't match its definition.
    by polymorphisme on November 9, 2025 at 7:20 pm

    Je rencontre une erreur générée que je ne comprends pas et je ne vois vraiment pas comment y remédier. La commande \geoMarginLeftRight retourne un résultat correct, mais ce n'est le cas pour la commande \geoLeft. Je sais que la commande \fpeval est «expandable», après le reste semble bien mystérieux ! % !TeX TS-program = lualatex \documentclass{article}% \ExplSyntaxOn \NewDocumentCommand{\geoPaperwidth}{}{148}% \NewDocumentCommand{\geoMarginLeftRight}{}{\fpeval{round(0.25 * \geoPaperwidth{},3)}}% \NewDocumentCommand{\geoLeft}{}{\fpeval{round(0.6 ∗ \geoMarginLeftRight{},3)}}% \ExplSyntaxOff \begin{document}% \ExplSyntaxOn geoMarginLeftRight = \geoMarginLeftRight \\ geoLeft = \geoLeft% \ExplSyntaxOff \end{document}%

  • Lettre GUTenberg 56 : Fonte RobotoFlex
    by GMR on November 6, 2025 at 7:10 pm

    Je lis toujours avec grand intérêt la lettre GUTenberg, notamment parce qu'elle me permet de tester ma propre installation (TeXlive / encore 2024) Par exemple, la fonte du numéro RobotFlex https://publications.gutenberg-asso.fr/lettre/article/view/208 Seulement voilà, ça ne fonctionne pas chez moi. En bref "File not found: "RobotoFlex-VariableFont.ttf". Je suppose que l'article ne décrit pas les opérations préalables d'installation ? 🙁 PS : J'ai lu en fin de lettre que c'est ici qu'il fallait poser les questions éventuelles 😉

  • Macrocommande vim pour éditer une note de bas de page
    by joseph-tux on October 29, 2025 at 11:33 am

    Ceci n'est pas une question, juste le partage d'une macro que j'utilise couramment, publié ici: debian-fr.org :call IMAP('FTN', "\<ESC>mma%\<CR>\\footnote{%\<ESC>V<V<V<V<\<CR>i<++>\<CR>} <++>\<CR><++>\<ESC>`m", 'tex') Qui imprime: Un test% \footnote{% [] }<++> <++> et place le curseur au bon endroit : [] Pourquoi cette macrocommande? Elle facilite une présentation des notes de bas de page qui rend le source *tex plus facile à lire en séparant facilement les notes du texte principal. l’appel de la note (taper FTN juste à la fin du mot, ici test), la commande \footnote{% seule sur une ligne, facilite le repérage des notes, Le curseur en mode insertion, il suffit d’insérer directement le contenu de la note, Fermeture de la note sur une ligne séparée, vide, très repérable pour marquer la fin de la note. Cette ligne est limitée à l’accolade fermante suivie seulement d’une éventuelle ponctuation, qui (en LaTeX) doit suivre le mot sans espace. La commande Ctrl-J envoi directement le curseur au premier place-holder ( <++> ), en mode insertion, pour y écrire l’éventuelle ponctuation, Retour par une deuxième frappe Ctrl-J au début de la ligne qui reprend le fil du texte principal, toujours en mode insertion. La commande de mappage IMAP est fournie par la suite vim-latex, avec l'avantage suivant: la macro fonctionne quel que soit le délai de frappe de la commande.

  • Gestion des arguments en LaTeX3
    by cpierquet on October 28, 2025 at 5:38 pm

    Bonjour, ma précédente et éphémère question a été retirée car il s'agissait une erreur bête de ma part, mais là j'aurais un souci (ou une demande) que je n'arrive pas à gérer simplement... J'essaye, pour compléter mes recherches en LaTeX3, de créer une macro pour traiter une liste d'éléments et d'accéder à ses éléments. La commande de lecture peut spécifier un séparateur personnalisé, et la commande d'accès peut afficher ou stocker. Là où j'ai été confronté à un souci que je n'imaginais pas, c'est la gestion des éléments de la liste, que je dois pouvoir donner sous forme brute, ou sous forme d'une macro (latex2 ou latex3), et là je n'arrive pas à gérer les possibilités, je dois spécifier (version étoilée) que je travaille avec l'une ou l'autre des capacités... Mon code est le suivant : \documentclass{article} \usepackage{amsmath} \ExplSyntaxOn \NewDocumentCommand\pflcreatelistsingle{ s O{,} m m } { % #1 = étoilé => mode argument, sinon mode macro (à voir :-/) % #2 = séparateur principal (par défaut: ,) % #3 = nom de la structure (ex: maliste) % #4 = contenu de la liste % Stocker le séparateur principal \tl_if_exist:cF { g__pfl_#3_mainsep_tl } { \tl_new:c { g__pfl_#3_mainsep_tl } } \tl_gset:cn { g__pfl_#3_mainsep_tl } { #2 } %liste à construire \seq_if_exist:cF { g__pfl_#3_main_seq } { \seq_new:c { g__pfl_#3_main_seq } } \seq_clear:c { g__pfl_#3_main_seq } %gestion arg/macro ? \IfBooleanTF{#1} { %expansion de la liste, si besoin \tl_set:Nn \l_tmpmylist_tl { #4 } \seq_set_split:NnV \l_tmpa_seq { #2 } { \l_tmpmylist_tl } } { \seq_set_split:NnV \l_tmpa_seq { #2 } { #4 } } % Toujours utiliser une seq, même pour les virgules \seq_gset_eq:cN { g__pfl_#3_main_seq } \l_tmpa_seq % Stocker le nombre d'éléments \int_if_exist:cF { g__pfl_#3_count_int } { \int_new:c { g__pfl_#3_count_int } } \int_gset:cn { g__pfl_#3_count_int } { \seq_count:c { g__pfl_#3_main_seq } } } \NewDocumentCommand\pflgetfromlistsingle{ s m m O{\myelt} } { % #2 = nom, #3 = index, #4 = macro \int_set:Nn \l_tmpa_int { \int_eval:n { #3 } } \tl_clear:N \l_tmpa_tl \tl_set:Nx \l_tmpa_tl { \seq_item:cn { g__pfl_#2_main_seq } { \int_use:N \l_tmpa_int } } \IfBooleanTF{#1} { \tl_if_exist:NF \g__pfleltlistsingle_result_tl { \tl_new:N \g__pfleltlistsingle_result_tl } \tl_gset_eq:NN \g__pfleltlistsingle_result_tl \l_tmpa_tl \tl_use:N \l_tmpa_tl } { \tl_set_eq:NN #4 \l_tmpa_tl } } \ExplSyntaxOff \begin{document} %si argument en 'dur', version non étoilée fonctionne \pflcreatelistsingle{maliste}{ {1+\dfrac{1}{x}} , { \sqrt{x+61} } } Élément n°1 : $\pflgetfromlistsingle*{maliste}{1}$\\ Élément n°2 : \pflgetfromlistsingle{maliste}{2}[\myelt]$\myelt$\\ Élément n°3 : $\pflgetfromlistsingle*{maliste}{3}$ %si argument macro, version non étoilée fonctionne \def\maliste{ {1+\dfrac{1}{x}} , { \sqrt{x+61} } } \pflcreatelistsingle{maliste}{ \maliste } Élément n°1 : $\pflgetfromlistsingle*{maliste}{1}$\\ Élément n°2 : \pflgetfromlistsingle{maliste}{2}[\myelt]$\myelt$ %si argument en dur avec imbrication, version étoilée obligatoire \pflcreatelistsingle*{maliste}{ AAA , { BBB,CCC } } Élément n°1 : $\pflgetfromlistsingle*{maliste}{1}$\\ Élément n°2 : \pflgetfromlistsingle{maliste}{2}[\myelt]$\myelt$ \end{document} J'ai globalement compris le fonctionnement de l'expansion en latex3, mais j'ai l'impression que l'interaction latex2/latex3 est moins explicite que je l'aurais envisagé...

  • Écrire du japonais
    by pdesmons on October 28, 2025 at 3:05 pm

    Comment écrire du japonais avec le package CJK, et quelles polices (fonts) sont disponibles ?

  • [yathesis] président de jury et rôles
    by GreenMaker on October 25, 2025 at 12:13 am

    Je fais suite à cette question concernant la duplication des rôles dans la classe yathesis. La solution proposée fonctionne mais l'ajout d'un président de jury, en remplaçant un \examiner par \committeepresident, affiche un doublon du rôle de rapporteur·e, au-dessus de la colonne du président. Est-il possible de modifier la commande, de sorte à conserver la distinction dans la première colonne mais de laisser le président du jury tout seul dans sa colonne ? \documentclass[nomakeabstract, notableofcontents,noprintbibliography, version=final]{yathesis} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \makeatletter \patchcmd{\YAD@display@staff}{\DTLiffirstrow}{% \ifboolexpr{% test {\ifdefstring{\YAD@the@staff}{referees}}% }{}{\DTLiffirstrow}}{}{\err} \patchcmd{\YAD@display@staff}{\YAD@translation{\YAD@the@staff-pl}}{% \ifboolexpr{% test {\ifdefstring{\YAD@the@staff}{referees}}% }{\YAD@translation{\YAD@committeemember@role}}{\YAD@translation{\YAD@the@staff-pl}}}{}{\err} \renewcommand*{\referee}[3][]{% \yadsetup{#1}% \ifboolexpr{% bool {YAD@female} or % not bool {YAD@male}% }{% \YAD@error@firstlastnames@empty{de la rapportrice}{#2}{#3}{\referee}% \YAD@staff[role=referees-female,#1]{#2}{#3}{referees}% }{% \YAD@error@firstlastnames@empty{du rapporteur}{#2}{#3}{\referee}% \YAD@staff[role=referees,#1]{#2}{#3}{referees}% }% }% \makeatother \expression{referees-female}{Rapportrice}{\translate[to=English]{lbl-referees}} \begin{document} % métadonnées \author{paulc}{paulc} \title[title]{titre} \academicfield[latex]{LateX} \institute{Université} \doctoralschool{ED} \laboratory{Labo}{Labo} \date{25}{12}{2022} \submissiondate{25}{10}{2022} \keywords{keywords}{motscles} %%%%%%% Encadrants \supervisor[corps=professor]{prenom}{nom} \comonitor[corps=associateprofessor]{prenom2}{nom2} %%%%%% Rapporteurs \referee[corps=juniorresearcher*]{Truc}{Muche} \referee[corps=professor,female=true]{Machine}{Bidule} %%%%%% Examinateurs \examiner[corps=professor]{Machin}{Chose} \committeepresident[corps=associateprofessor]{Truc}{Bidule} %%%%%% Invités \guest[corps=associateprofessor, female=true]{Machine2}{Bidule2} \guest[corps=associateprofessor]{Truc2}{Muche2} \maketitle \mainmatter \end{document}

  • Une note marginale en regard d'une note en bas de page ?
    by Pathe on October 21, 2025 at 11:34 am

    Peut-on placer une note marginale en regard d'une note en bas de page ? Le code suivant ne fonctionne pas : \documentclass[french]{article} \usepackage[T1]{fontenc} % Encodage T1 (adapté au français) \usepackage{lmodern} % Caractères plus lisibles \usepackage{babel} % Réglages linguistiques (avec french) \pagestyle{empty} % N'affiche pas de numéro de page \begin{document} La valeur du paramètre temps est fixée à 12~minutes\footnote{et des bananes \marginpar{approx.}}. En tenant compte de cette hypothèse, les résultats obtenus sont les suivants : \ldots \end{document}

  • À propos de guillemets
    by polymorphisme on October 20, 2025 at 10:48 am

    J'ai deux questions à propos des guillemets : Quel est le point de code (dans le standard Unicode) correspondant aux deux premières commandes ci-dessous : \textquotestraightbase et \textquotestraightdblbase ? En complément, j'ai ajouté les deux commandes \quotesinglbase et \quotedblbase parce qu'elles peuvent être source de confusion. Quelles sont les différences entre les paires de commandes \textquoteleft et \textquoteright d'une part, et \lq et \rq d'autre part ? Dans quel contexte les utilise-t-on ? Merci de m'éclairer. % !TeX TS-program = lualatex \documentclass{article} \usepackage{polyglossia} \begin{document} \begin{tabbing} \hspace{8.0cm} \= \hspace{2.0cm} \= \kill \textbf{Nom Unicode} \> \textbf{Symbole} \> \textbf{Commande Latex} \\ Single straight quotes on the baseline \> ??? \> texte \textquotestraightbase \\ Single and double straight quotes on the baseline \> ??? \> texte \textquotestraightdblbase \\ Single low-9 quotation mark \> \symbol{"201A} \> texte \quotesinglbase \\ Double low-9 quotation mark \> \symbol{"201E} \> texte \quotedblbase \\ \end{tabbing} \begin{tabbing} \hspace{8.0cm} \= \kill \textbf{Nom Unicode} \> \textbf{Commande Latex} \\ Single left quote \> \textquoteleft texte \\ Left (opening) quote \> \lq texte \\ Single right quote \> texte \textquoteright \\ Right (closing) quote \> texte \rq \\ \end{tabbing} \end{document}

  • [circuitikz] Définition d'un dipôle
    by idefix on October 19, 2025 at 10:21 pm

    \documentclass{standalone} \usepackage{circuitikz} % Déclaration d'un bipôle circulaire avec G au centre \pgfcircdeclarebipole{}{}{generatorG}{\ctikzvalof{bipoles/length}}{% % Dessin du cercle \pgfpathcircle{\pgfpoint{0}{0}}{.4\pgf@circ@res@up} \pgfusepath{draw} % Lettre G \pgftext{\normalsize\bfseries G} } \begin{document} \begin{circuitikz} \draw (0,0) to[generatorG,l=Générateur] (3,0); \end{circuitikz} \end{document} J'essaye de définir un dipôle pour circuitikz avec \pgfcircdeclarebipole. Mais circuitikz ne le reconnaît pas. J'ai un version récente de circuitikz (1.8.2) : celle de la TeX Live 2025. ! Package pgfkeys Error: I do not know the key '/tikz/generatorG' and I am going to ignore it. Perhaps you misspelled it.

  • [yathesis] Pages réellement blanches ?
    by Pathe on October 18, 2025 at 8:38 pm

    Je souhaite supprimer les en-têtes des pages blanches créées automatiquement (par exemple la page à gauche d’une page de début de chapitre). J’utilise la classe yathesis pour mon document. Si l'on se réfère à l'exemple these.tex fourni avec le package (et à son pendant compilé these.pdf), il s'agit d'ôter de la quarante-huitième page du document (numérotée 6) la ligne d'entête indiquant « 6 Introduction générale ». Après la page de titre d'une partie, il y a une page réellement blanche (par exemple, la page 86, entre les parties 1 et 2 du document d'exemple these.pdf). J'aimerais qu'il en aille de même à la fin des chapitres (et donc que la page 84 — numérotée 42 — soit totalement blanche, et ne présente plus l'entête « 42 CHAPITRE 3. Conclusion du chaos du rire »).

  • etoolbox::newbool ne fonctionne pas dans un tikz::pgffor::foreach
    by MiQ75 on October 2, 2025 at 10:59 pm

    Bonjour, le code suivant ne compile pas \documentclass{article} \usepackage{etoolbox} \usepackage{tikz} \begin{document} \foreach \note in {AA,BB} { %\global% ne change rien %\expandafter% fait compiler, mais le résultat affiche AB, mais ni Oui ni Non \newbool\note } \ifbool{AA}{Oui}{Non} \end{document} Tout se passe comme si newbool ne fonctionnait pas correctement dans un foreach, alors qu'en dehors il fait son taf. Est-ce que quelqu'un a la clef de ce mystère ?

  • yathesis - Les bibliographies ne sont plus locales après modification des en-têtes de chapitres
    by olirwin on September 30, 2025 at 2:41 pm

    J'ai changé (grâce à @touhami, ma question initiale ici) l'apparence des en-têtes des chapitres d'un manuscrit. Cependant, depuis ce correctif, je constate que les bibliographies ne sont plus locales -- et plus préoccupant encore, elles sont présentes sur des éléments n'en ayant pas besoin, comme la table des matières ou les chapitres ne citant rien. Comme si un \nocite{*} était inséré partout. Voici un ECM qui illustre le problème : \documentclass[ mainlanguage=english, french, localtocs, localbibs*, secnumdepth=subsubsection, titlesec={pagestyles}]{yathesis} \usepackage{lipsum} \usepackage{geometry} \usepackage[ backend=biber, url=true, isbn=true, eprint=false, maxcitenames=10, maxnames=10, style=alphabetic, sortlocale=en_UK]{biblatex} \begin{filecontents}{bib.bib} @article{einstein, author = "Albert Einstein", title = "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German}) [{On} the electrodynamics of moving bodies]", journal = "Annalen der Physik", volume = "322", number = "10", pages = "891--921", year = "1905", DOI = "http://dx.doi.org/10.1002/andp.19053221004", keywords = "physics" } @book{dirac, title={The Principles of Quantum Mechanics}, author={Paul Adrien Maurice Dirac}, isbn={9780198520115}, series={International series of monographs on physics}, year={1981}, publisher={Clarendon Press}, keywords = {physics} } @online{knuthwebsite, author = "Donald Knuth", title = "Knuth: Computers and Typesetting", url = "http://www-cs-faculty.stanford.edu/~uno/abcde.html", keywords = "latex,knuth" } @inbook{knuth-fa, author = "Donald E. Knuth", title = "Fundamental Algorithms", publisher = "Addison-Wesley", year = "1973", chapter = "1.2", keywords = "knuth,programming" } \end{filecontents} \addbibresource{bib.bib} \makeatletter \def\@makechapterhead#1{% \vspace*{0\p@}% (no extra top margin) {\parindent \z@ \centering \normalfont\sffamily % --- Chapter number line with colored text and rule --- \ifnum \c@secnumdepth >\m@ne \if@mainmatter \Huge\bfseries\color{gray}\@chapapp~\thechapter\par\nobreak \vskip -7\p@ % tighten spacing above the rule {\color{black}\rule{0.9\linewidth}{0.2pt}}\par % horizontal rule \vskip 7\p@ % space between rule and title \fi \fi % --- Chapter title line --- \LARGE\bfseries\color{blue} #1\par}% \vskip 30\p@ % space below chapter title % --- Insert leadchapter text, if provided --- \@ifundefined{YAD@leadchapter}{}{% \noindent\YAD@leadchapter\par \let\YAD@leadchapter\relax }% % --- Insert local chapter TOC, if enabled --- \ifbool{YAD@localtocs}{% \YAD@localtoc \renewcommand{\YAD@localtoc}{\YAD@default@localtoc}% \ifbool{YAD@nextwithlocaltoc}{% \boolfalse{YAD@localtocs}\boolfalse{YAD@nextwithlocaltoc}}{}% % (no extra gap here; adjust with \vskip if desired) }{}% \@afterheading \clearpage } \def\@makeschapterhead#1{% \vspace*{0\p@}% (no extra top margin) {\parindent \z@ \centering \normalfont\sffamily \LARGE\bfseries\color{red} #1\par}% \vskip 30\p@ % space below chapter title % --- Insert leadchapter text, if provided --- \@ifundefined{YAD@leadchapter}{}{% \noindent\YAD@leadchapter\par \let\YAD@leadchapter\relax }% % --- Insert local chapter TOC, if enabled --- \ifbool{YAD@localtocs}{% \YAD@localtoc \renewcommand{\YAD@localtoc}{\YAD@default@localtoc}% \ifbool{YAD@nextwithlocaltoc}{% \boolfalse{YAD@localtocs}\boolfalse{YAD@nextwithlocaltoc}}{}% % (no extra gap here; adjust with \vskip if desired) }{}% \@afterheading }\let\old@makechapterhead\@makechapterhead \AfterPreamble{% \patchcmd{\chapter}{{\YAD@starred@chapter}{\YAD@unstarred@chapter}}{{\let\@makechapterhead\@makeschapterhead\YAD@starred@chapter}{\let\@makechapterhead\old@makechapterhead\YAD@unstarred@chapter}}{}{\err} } \makeatother \geometry{ paper=a4paper } % \begin{document} \tableofcontents[depth=section] \mainmatter \chapter{Le premier} \lipsum{4} Ceci est une citation \cite{einstein} \cite{dirac} \chapter{Le deuxième} \lipsum{8} ici aussi une citation \cite{knuth-fa} \chapter*{Un test non num} \lipsum{6} \end{document} Est-ce qu'il existe une solution pour remédier à ce problème ? J'ai déjà (vainement) essayé de patcher les commandes de chapitres pour retirer la bibliographie. La seule chose qui fonctionne pour moi pour le moment est de retirer la ligne \patchcmd{\chapter}{{\YAD@starred@chapter}{\YAD@unstarred@chapter}} {{\let\@makechapterhead\@makeschapterhead\YAD@starred@chapter} {\let\@makechapterhead\old@makechapterhead\YAD@unstarred@chapter}}{}{\err} Mais ça me fait perdre la personnalisation des en-têtes de chapitres non numérotés, ce qui revient essentiellement dans mon cas (hors ECM) à avoir un saut de page non désiré entre le titre d'un chapitre non numéroté (comme le sommaire ou la bibliographie finale) et son contenu.

  • Écriture de conversion décimale binaire en LaTeX
    by idefix on September 27, 2025 at 6:28 pm

    J'ai récupéré la définition d'une commande qui permet par exemple de poser facilement une conversion d'un nombre décimal en nombre binaire : \documentclass{article} \usepackage{intcalc} \usepackage{tikz} \usetikzlibrary{calc} \newcommand{\divisions}[2]{% % #1 = n -- #2 = base \begin{tikzpicture} \pgfmathsetmacro{\divQ}{ \intcalcDiv{#1}{#2} } \pgfmathsetmacro{\divR}{ \intcalcMod{#1}{#2} } \foreach \i in {0,...,#1} {% \pgfmathsetmacro{\intensite}{10*(\i+1)} \node (a\i) at (\i, -\i) {\ifnum\i=0$#1$\fi} ; \node (b\i) at (\i+1, -\i) {$#2$} ; \node (q\i) at (\i+1, -\i-1) {$\divQ$} ; \node[fill=red!\intensite] (r\i) at (\i, -\i-1) {$\divR$} ; \draw[thick] ($ (a\i)!.5!(b\i) $) -- ++(0,-1) ; \draw[thick] ($ (a\i)!.5!(q\i) $) -- ++(1,0) ; \ifnum \divQ<1 \breakforeach \else \xdef\divR{ \intcalcMod{\divQ}{#2} }; \xdef\divQ{ \intcalcDiv{\divQ}{#2} }; \fi } % end foreach \end{tikzpicture} } \begin{document} \divisions{57}{2} \end{document} Mais existe-t-il un package qui est spécialisé dans ce genre de choses (la présentation des nombres binaires et leur manipulation) et qui soit paramétrable avec des options ?

  • yathesis : problème d’alinéa lié à mainlanguage
    by sinay on September 24, 2025 at 12:40 pm

    Avec yathesis, je rédige en français le résumé substantiel de ma thèse qui, elle, est en anglais ; la mise en page ne se comporte pas comme je m’y attendais. En effet, en sélectionnant french, normalement, il devrait y avoir un alinéa au premier paragraphe après un chapitre, mais ce n’est pas le cas. Il me semble que la mise en page des paragraphes reste bloquée sur celle du mainlanguage parce que si on change pour french la partie anglaise a un alinéa au début comme la partie française. Autrement, le formatage est conforme aux langues respectives. Voici un EMC pour tester : \documentclass[version=inprogress,mainlanguage=english,localtocs,fncychap=Conny,space=onehalf]{yathesis} \usepackage{fontspec} \usepackage{lipsum} \usepackage[autostyle]{csquotes} \begin{document} \selectlanguage{french} \chapter{En français} \lipsum[1-4] J’écris en français: preuve \enquote{en guillemets}. \selectlanguage{english} \chapter{In English} \lipsum[1-4] I write in English: proof with \enquote{quotation marks.} \end{document}

  • Sujets multiples avec pythontex et numérotation automatisée
    by mumblee on September 23, 2025 at 6:43 pm

    Bonsoir, Tout juste inscrit donc, pour commencer, bonjour à tous ! Ainsi que renseigné dans ma description, je suis professeur de mathématiques en lycée et utilisateur de LaTeX depuis de nombreuses années, bien qu'encore néophyte sur certains de ses aspects. L'an dernier, accompagné par un collègue de maths, Jean-Marc Duquesnoy, je me suis mis à pythontex. D'une part, c'est cohérent avec l'enseignement de l'algorithmique et son implémentation en python du programme de BTS SIO 1re année, d'autre part cela permet de générer des sujets avec des éléments aléatoires ; un des bénéfices étant de limiter la "fraude de voisinage". J'ai une solution fonctionnelle mais qui me paraît "lourde" et je me demande si vous auriez des idées de procédures autres, voire moins "lourdes". Ma solution actuelle est constituée de deux fichiers : Un source LaTeX contenant du code python, nécessitant donc une triples compilation (1)LaTeX/(2)pythontex/(3)LaTeX Un script bash avec une variable d'environnement récupérée par le source LaTeX à la compilation, plus précisément aux compilations (1) et (3) Ci-dessous, un ECM. Merci de vos éventuelles suggestions. Cordialement, Fichier 1 : ECM_variable.tex \documentclass{article} %%% Accès aux variables d'environnement. % Référence : % https://tex.stackexchange.com/questions/62010/can-i-access-system-environment-variables-from-latex-for-instance-home \usepackage{xparse} \ExplSyntaxOn \NewDocumentCommand{\getenv}{om} { \sys_get_shell:nnN { kpsewhich ~ --var-value ~ #2 } { } \l_tmpa_tl \tl_trim_spaces:N \l_tmpa_tl \IfNoValueTF { #1 } { \tl_use:N \l_tmpa_tl } { \tl_set_eq:NN #1 \l_tmpa_tl } } \ExplSyntaxOff %%% Interaction avec python. % Triple compilation nécessaire : LaTeX -> pythontex -> LaTeX \usepackage{pythontex} \begin{document} \begin{pycode} from random import randint a,b = randint(1,5),randint(6,10) \end{pycode} \getenv[\NUM]{NUMERO} Sujet \NUM Calculer $\py{a}+\py{b}$ \end{document} Fichier 2 : Plusieurs.sh #!/bin/bash nb=2 # Boucle pour le nombre de sujets demandés. for i in `seq 1 $nb`; do # Variable d'environnement utilisée par le source LaTeX pour numéroter le sujet export NUMERO=$i # On copie le source LaTeX puis on effectue les trois compilations # nécessaires pour obtenir le PDF contenant sujet et corrigé. cp ECM_variable.tex exemplaire$i.tex pdflatex exemplaire$i.tex pythontex exemplaire$i.tex pdflatex exemplaire$i.tex done Utilisation : placer les deux fichiers dans le même répertoire, rendre exécutable le script bash et l'exécuter 🙂

  • Pourquoi le package minted ne fonctionne plus avec MiKTeX (2025) ?
    by idefix on September 16, 2025 at 8:11 pm

    J'utilise Windows 11, MiKTeX et TeXstudio J'utilise le package minted pour écrire du code avec coloration syntaxique Le package utilise le package python pygments qui doit donc être installé et nécessite de compiler avec l'option --shell escape pour pouvoir exécuter pygmentize. pdflatex -synctex=1 -interaction=nonstopmode -shell-escape %.tex C'est le cas chez moi et tout fonctionnait parfaitement, mais à présent j'ai le message suivant Enoncé tableau 1.tex: error: 69: Package minted Error: minted v3+ executable is not installed, is not added toTORY environment variable. end{minted} Peut être une mise à jour du package minted provoque cela. Si vous avez la solution pour résoudre cet obscur problème de configuration je suis preneur