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.

  • Nicematrix et erreur de compilation dans Overleaf
    by endomorphisme on February 4, 2025 at 9:36 pm

    Bonjour, Le code suivant fonctionne parfaitement dans TeX Studio mais génère une erreur dans Overleaf : \documentclass[french]{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage[a4paper]{geometry} \usepackage{amsmath} \usepackage{nicematrix, tikz} \usetikzlibrary{arrows.meta} ` \usepackage{babel} \newcommand{\MyHdotsfor}{\Hdotsfor[horizontal-labels,line-style = <->]} \newcommand{\MyVdotsfor}{\Vdotsfor[horizontal-labels,line-style = <->]} \begin{document} \[ \begin{bNiceArray}{ccccc}[last-row,last-col,margin] 0 & 0 & \Cdots & & 0 & \MyVdotsfor{2}^{2}\\ 0 & 0 & \Ddots & & \Vdots & \\ \Vdots & \Ddots & 1 & & & \MyVdotsfor{3}^{n-3}\\ & & & \Ddots & 0 & \\ 0 & \Cdots & & 0 & 1 & \\ \MyHdotsfor{2}_{2} & \MyHdotsfor{3}_{n-3} \end{bNiceArray} \] \end{document} Visiblement, c'est le paramètre horizontal-labels dans \Hdotsfor et \Hdotsfor qui lui pose problème (il prétend que seuls color, line-style et shorten sont des paramètres valides...). De manière générale, je trouve d'ailleurs Overleafinfiniment plus capricieux que Tex Studio. Comment cela se fait-il, et comment remédier à cela ?

  • mise en page avec includegraphics{fichier.pdf}
    by joseph-tux on February 4, 2025 at 4:28 pm

    Je cherche à inclure la première page d'un fichier pdf sous un texte, ou un titre de section, par exemple, avec la commande \includegraphics du paquet graphicx. Les pages suivantes seront chargées par \includepdf du paquet pdfpages, (le tout dans une NewDocumentCommand) Je voudrais que cette page du pdf soit la plus grande possible, et centrée ou alignée à gauche, tout en restant sur la même page que le titre. Je compile avec XeLaTeX. L'exemple avec le fichier doc de texlive xspace.pdf montre le problème: \documentclass[]{scrartcl} \usepackage[]{graphicx} \begin{document} \section{Titre} \includegraphics{xspace} \end{document} produit la page pdf serrée en bas à droite, sans marge avec un très grand espace entre le Titre et son haut, et une grade marge à sa gauche. J'ai tenté de nombreux essais, avec les paramètres width=, pagebox=, en incluant diverses valeurs de geometry, l'environnement center et la commande centering, bref rien de satisfaisant.

  • Package plex-otf et caractères sans empattements par défaut
    by Pathe on February 3, 2025 at 8:40 pm

    J'utilise le package plex-otf. La documentation de ce package indique que, pour obtenir les caractères sans empattements par défaut, il suffit d'indiquer sans = true (ou alors j'ai rien compris) : sans true/false use only the IBM Plex Sans J'ai donc indiqué dans mon préambule \usepackage[sans = true]{plex-otf} et... j'ai obtenu des caractères avec empattements ! Ça ne fonctionne donc pas, contrairement à ce qu'indique la doc. En revanche, si j'écris \usepackage[sans = false]{plex-otf}, il m'est impossible d'obtenir les caractères sans empattements, y compris avec un commande dédiée, type \PlexMediumSS : le paramètre passé à l'appel du package est donc vaguement actif. Bref. Comment obtenir les caractères sans empattements par défaut, avec plex-otf ?

  • Titre du chapitre trop long en entête de page
    by Marvin on February 2, 2025 at 1:04 pm

    L’un des titres du chapitre de ma thèse (qui est le titre d’un de mes articles) est assez long. Cela rend bien sur la table des matières ainsi que sur la page du titre du chapitre, mais le titre dépasse des pages où on voit sur l’entête le nom du chapitre sur lequel nous nous situons. Voici un ECM : \documentclass[colophon-location=nowhere,12pt]{yathesis} \begin{document} \maketitle \tableofcontents \mainmatter \chapter{Je suis un chapitre long, très long long long long long long long long long long long long long long long long long long long long} Je suis une introduction au chapitre. \newpage L'en-tête de cette page déborde quand même beaucoup. \chapter[Je suis plus court, mais avec un nom différent!]{Je suis un chapitre long, très long long long long long long long long long long long long long long long long long long long long} Le nom du chapitre est préservé ici ... mais pas dans la table des matières !! \newpage Problème réglé sur cette page avec le titre plus court, au prix du nom dans la table des matières qui a été changée. \end{document} Le premier chapitre est le chapitre trop long. On voit que l’affichage est correct sur la table des matières ainsi que sur la page du chapitre (où j’ai mis une introduction au chapitre), mais à la page suivante, l’entête dépasse et le titre est escamoté d’une façon peu élégante. J’y ai aussi mis une proposition que j’ai trouvé sur ce site, à savoir le fait de mettre un titre alternatif plus court. Cette solution convient pour le soucis, mais a pour conséquence de changer le titre du chapitre dans la table des matières, ce que je ne souhaite pas faire. Avez-vous une suggestion ? La solution n’impose peut-être pas l’utilisation de LaTeX : peut-être existe-t-il une façon standard et académique de gérer un titre long que j’ignore …

  • Reproduire des touches de clavier
    by Pathe on February 1, 2025 at 11:39 am

    Je compose la documentation technique d'un instrument de mesure. Il est doté d'un clavier muni de touches particulières : étoile, ENT, CORD, DIST etc. J'aimerais les reproduire dans le texte. Les packages biolinum et menukeys donnent accès à quelques touches de clavier, mais existe-t-il un moyen (ou, mieux encore, un package) qui permettrait de créer les touches dont j'ai besoin ?

  • Format d'une tcbox dans le titre d'une newtcolorbox
    by joseph-tux on January 30, 2025 at 5:59 pm

    J'essaye de créer une newtcolorbox avec un titre comportant une tcbox. Voici un ECM particulièrement mal fichu. Je ne parviens pas à décider de la largeur de la tcbox, de sorte que son titre (Jeanne dans l'exemple ) ne déborde pas du cadre, et soit centré ou aligné à gauche, avec les marges comme size=fbox ou proche. Le premier problème est ici que les options « width » ou « text width » sont sans effet dans la tcbox. \documentclass[a4paper,11pt,french,oneside,DIV=calc]{scrartcl} \usepackage{tcolorbox} \tcbuselibrary{most} \usepackage[french]{babel} %\input{NewCMD} \newtcolorbox[auto counter]{Date}[3][~?\,?\,?~]{% title={{\tcbox[text width=3ex,boxrule=0.1mm,boxsep=0.3mm,center title,title=Jeanne,fonttitle=\tiny,colbacktitle=yellow,coltitle=blue!70!red,on line,colback=yellow!18]{\thetcbcounter } --- #1 --- {#2}}},% beamer,colbacktitle=yellow!3,colback=yellow!3,breakable, sidebyside,sidebyside align=top,lefthand ratio=#3} \begin{document} \begin{Date}[1455]{Bien après sa naissance}{0.5} Maison présentée comme sa maison natale à Domrémy? \tcblower On voit cette date inscrite sur le tympan de la maison \end{Date} \begin{Date}{Bien après sa naissance}{0.5} Maison présentée comme sa maison natale à Domrémy? \tcblower On voit cette date inscrite sur le tympan de la maison \end{Date} \begin{Date}[1455]{Bien après sa naissance}{0.5} Maison présentée comme sa maison natale à Domrémy? \tcblower On voit cette date inscrite sur le tympan de la maison \end{Date} \begin{Date}{Bien après sa naissance}{0.5} Maison présentée comme sa maison natale à Domrémy? \tcblower On voit cette date inscrite sur le tympan de la maison \end{Date} \begin{Date}[1455]{Bien après sa naissance}{0.5} Maison présentée comme sa maison natale à Domrémy? \tcblower On voit cette date inscrite sur le tympan de la maison \end{Date} \begin{Date}{Bien après sa naissance}{0.5} Maison présentée comme sa maison natale à Domrémy? \tcblower On voit cette date inscrite sur le tympan de la maison \end{Date} \begin{Date}[1455]{Bien après sa naissance}{0.5} Maison présentée comme sa maison natale à Domrémy? \tcblower On voit cette date inscrite sur le tympan de la maison \end{Date} \begin{Date}{Bien après sa naissance}{0.5} Maison présentée comme sa maison natale à Domrémy? \tcblower On voit cette date inscrite sur le tympan de la maison \end{Date} \begin{Date}[1455]{Bien après sa naissance}{0.5} Maison présentée comme sa maison natale à Domrémy? \tcblower On voit cette date inscrite sur le tympan de la maison \end{Date} \begin{Date}{Bien après sa naissance}{0.5} Maison présentée comme sa maison natale à Domrémy? \tcblower On voit cette date inscrite sur le tympan de la maison \end{Date} \end{document Résultat

  • Retirer « Table des matières » de la table des matières
    by Marvin on January 30, 2025 at 10:19 am

    Est-ce possible de retirer la table des matières de la table des matières globale ? Je n'ai pas trouvé de façon « simple » de retirer cette ligne.

  • Conservation des espaces d'une chaîne de caractères
    by polymorphisme on January 24, 2025 at 4:55 pm

    Comment conserver les espaces d'une chaîne de caractères retournée par une commande ? Dans l'ECM suivant, la commande \cmdTxt retourne « Une phrase. », En revanche, dans mon programme, la commande \cmdTxt retourne « Unephrase. », et je n'en vois pas la cause. % !TeX TS-program = lualatex \documentclass{article} \usepackage{polyglossia} \setdefaultlanguage[frenchpart=false]{french} % \NewDocumentCommand{\cmdTxt}{}{% Une phrase.% }% \begin{document} \cmdTxt{} \end{document}

  • Compatiblité entre Yathesis et chronos
    by GreenMaker on January 16, 2025 at 1:44 pm

    Je souhaite réaliser une frise à l'aide du package chronos avec la classe yathesis. Néanmoins, même avec un exemple simple j'obtiens l'erreur de compilation suivante : ! File ended while scanning use of \pgfkeys@code. Un exemple de code : \documentclass[version=draft]{yathesis} \usepackage[backend=biber,safeinputenc]{biblatex} \usepackage{chronos} \begin{document} \begin{figure}\centering \begin{chronos} [ cronoleg,% load chronos style timeline={% configure the timeline 'line' itself start date=1974,end date=2020, timeline width'=10cm }, levels=4:7, %Etages en haut et en bas ] \chronosevent{name=seveso, date=1976-07-10,} \end{chronos} \end{figure} \end{document} Ma solution pour contourner le problème et qui ne me convient pas trop est de faire une compilation sur un autre fichier et d'incorporer le résultat par la suite.

  • Dirtree dans une liste : problème d'espacement
    by endomorphisme on January 12, 2025 at 1:12 pm

    Je rencontre un problème d'espacement lorsque j'insère un arbre avec le package dirtree dans une liste (gros alinéa avant le premier "menu"). Je remarque aussi que si je mets deux arbres à la suite, le problème ne se manifeste que sur le premier : \documentclass[french]{article} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{parskip} \usepackage[a4paper]{geometry} \usepackage{enumitem} \usepackage{dirtree} \usepackage{babel} \begin{document} \begin{itemize} \item Ici, on a un problème: \dirtree{% .1 Menu. .2 Sous-menu. .3 Sous-sous-menu. } Mais pas là: \dirtree{% .1 Menu. .2 Sous-menu. .3 Sous-sous-menu. } \end{itemize} \end{document} Comment pourrais-je régler ce problème ?

  • Saut de page et awesomebox
    by endomorphisme on January 12, 2025 at 1:03 pm

    Peut-on autoriser les sauts de page à l'intérieur d'un bloc créé avec "awesomebox" (un peu comme la commande \allowdisplaybreaks pour les équations). A défaut, j'ai réussi à le faire "à la main" (mais le problème est qu'il faut savoir exactement où va situer le saut de page...). De plus, un problème qui se pose avec ce "bidouillage", c'est si le saut de page intervient au sein d'un (long) item d'une liste. Je ne parviens pas à mettre le bon espacement dans le "second" bloc destiné à être après le saut de page : \documentclass[french]{article} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{parskip} \usepackage[a4paper]{geometry} \usepackage{awesomebox} \usepackage{enumitem} \usepackage{lipsum} \usepackage{babel} \NewDocumentCommand{\beginAgregBlock}{}{\begin{awesomeblock}[darkgray]{1pt}{\faChalkboardTeacher}{darkgray}} \NewDocumentCommand{\beginAgregBlockPageSkip}{}{\begin{awesomeblock}[darkgray]{1pt}{}{white}} \NewDocumentCommand{\endAgregBlock}{}{\end{awesomeblock}} \begin{document} \beginAgregBlock \begin{enumerate} \item \lipsum \end{enumerate} \endAgregBlock \beginAgregBlockPageSkip \lipsum %Ce paragraphe est censé être la suite de l'item 1. \endAgregBlock \end{document}

  • scrbook: comment ne pas afficher le numéro de la page 2
    by joseph-tux on January 12, 2025 at 9:20 am

    J'utilise la classe scrbook et la commande \maketitle, et \pagestyle{scrheadings} (ce n'est pas une exigence). J'aimerais que le numéro de page n'apparaisse ni sur la page de titre (ce qui est le cas) ni sur la page blanche suivante (numéro visible).

  • Paramétrer Glossaries
    by fred02840 on January 4, 2025 at 1:37 pm

    Je me lance dans la réalisation d'un dictionnaire biographique. Attendez-vous donc à une série de questions de ma part sur l'utilisation du package glossaries, qui m'a semblé le plus à même de répondre à mes besoins. Je me suis inspiré d'une réponse donnée en 2012 par Nikola Talbot elle-même [merci Patrick…], dont voici quelques extraits : \documentclass{article} \usepackage{lipsum} \usepackage[xindy]{glossaries} \makeglossaries % The optional argument is in case you can't use the name as a label \newcommand{\dict}[4][]{% \newglossaryentry{#2}% {% name=#2,% symbol=#3,% description=#4,% #1% }% \glsadd{#2}% } \renewcommand{\glossaryentryfield}[5]{% \markboth{##2}{##2}% \par\vspace{0.25\baselineskip}% \textbf{\textsf{##2}} \textit{- ##4 -} ##3% }% }% \renewcommand*{\glossarysection}[2][]{} \begin{document} \dict{Gus}{}{\lipsum[1]} \dict{Mec}{}{\lipsum[2]} \dict{Zigue}{}{\lipsum[3]} \dict{Jojo}{}{\lipsum[4]} \printglossary[style=dict] \end{document} Pour commencer, est-il possible de créer ses propres entrées générales (donc valables pour chaque notice biographique) ? Pour être plus clair, name=, symbol= et description= ne me suffisent pas. J'aimerais obtenir une notice qui se présente comme suit: Nom [gras, petites capitales] prénoms [gras] Courte biographie Biographie détaillée [avec hyperliens et illustrations, mais on verra plus tard : probablement en bricolant renewcommand{glossaryentryfield}] Mais j'en doute, d'après ce qu'indiquent le manuel de glossaries et ce que j'ai pu lire par ailleurs...

  • Comment centrer un pdf de 504 x 648 pt dans un document A4 (595 x 842 pt)
    by joseph-tux on December 10, 2024 at 2:57 pm

    Il s'agit de transformer ce document pdf de 504 x 648 pt pour qu'il puisse être centré dans un format A4, sans le dégrader. J'ai donc pensé créer un document LaTeX sans autre contenu que l'insertion de ces pages.

  • ctan.org en sommeil
    by pzorba75 on December 9, 2024 at 4:29 am

    Je note que ce site n'est plus mis à jour depuis le 2 décembre, alors que les mises à jours étaient quotidiennes depuis des années. Peut-on connaître l'origine de ce sommeil et disposer d'un site pour suivre l'activité sur Tex et Latex?

  • \pdfinfo : ! Undefined control sequence. l.31
    by joseph-tux on November 25, 2024 at 6:36 pm

    Paut-être depuis la dernière mise à jour de TexLive, je me heurte à l'erreur de compilation suivante: ! Undefined control sequence. l.31 \pdfinfo { Je compile avec latexmk et la configuration suivante: # Copie: ce fichier doit être dans ~ (ou dans le répertoire du fichier *tex compilé par latexmk ) # Utilise XeLaTeX: $pdf_mode = 5; $postscript_mode = $dvi_mode = 0; set_tex_cmds( '--shell-escape %O %S ' ); # # Pour que latexmk utilise texindy au lieu de makeindex # -C utf8 ⇒ classement avec D, E, É, È,Ê... N, 0, Œ, ... $makeindex = "texindy -L french -C utf8"

  • Comment légender une figure MetaPost avec la fonte choisie pour l'ensemble du document ?
    by Pathe on November 23, 2024 at 7:04 am

    Tout est dans le titre : comment légender une figure MetaPost avec la fonte choisie pour l'ensemble du document ? L'ECM suivant compose la légende de la figure dans une autre fonte et sans prendre en compte les caractères accentués : % pour résister à l'impérialisme américain \documentclass[french]{scrartcl} % choix de la fonte plex dans sa version sans empattements \usepackage[sfdefault]{plex-sans} % pour intégrer des dessins MetaPost compilés directement avec LuaLaTeX \usepackage{luamplib} % pour le logo MetaPost \usepackage{hologo} % pour franciser la chose selon le paramètre passé à la classe \usepackage{babel} \begin{document} Ce texte, composé à l'aide du package plex-sans, introduit un carré dessiné avec \hologo{METAPOST} : \hspace{10pt} % Centrage dans un environnement MetaPost \begin{mplibcode} beginfig(1); % Dimensions et points numeric u; u := 72; % Taille d'un côté (1 inch en points typographiques) pair A, B, C, D; A = (0, 0); B = (u, 0); C = (u, u); D = (0, u); % Dessin du carré draw A--B--C--D--cycle withpen pencircle scaled 1pt; % Label label.bot("Une légende composée avec une autre fonte", (A + B)/2 - (0, 20)); endfig; \end{mplibcode} \hspace{10pt} Et le texte continue ici, toujours composé avec Plex... \end{document} Comment obtenir une légende composée avec la fonte choisie et... le texte rédigé (c'est à dire avec tous ses caractères accentués) ?

  • Centrer une figure MetaPost
    by Pathe on November 23, 2024 at 6:37 am

    Je ne réussis pas à centrer une figure MetaPost, même avec l'environnement figure et la commande \centering (et je crois bien qu'avec MetaPost, on peut s'en passer). Qu'est-ce qui cloche dans le code suivant, en termes de centrage ? % pour composer cet ECM selon des usages vaguement européens \documentclass[french]{scrartcl} % choix de la fonte plex dans sa version sans empattements \usepackage[sfdefault]{plex-sans} % pour intégrer des dessins MetaPost compilés directement avec LuaLaTeX \usepackage{luamplib} % pour franciser la chose selon le paramètre passé à la classe \usepackage{babel} \begin{document} Voici un carré : \hspace{10pt} % Centrage dans un environnement MetaPost \begin{mplibcode} beginfig(1); % Dimensions et points numeric u; u := 72; % Taille d'un côté (1 inch en points typographiques) pair A, B, C, D; A = (0, 0); B = (u, 0); C = (u, u); D = (0, u); % Dessin du carré draw A--B--C--D--cycle withpen pencircle scaled 1pt; % Centrage currentpicture := currentpicture shifted - center currentpicture; endfig; \end{mplibcode} \hspace{10pt} Et le texte continue ici, ce qui montre bien que cette figure n'est pas centrée ! \end{document}

  • Mise à jour de texlive avec le paquet Debian (stable)
    by joseph-tux on November 3, 2024 at 6:03 pm

    Texlive recommande une installation indépendante des paquets Debian, dans un répertoire /usr/local/texlive C'est la méthode que j'utilise depuis des années. Il existe au moins un inconvénient à utiliser les paquets Debian stable: la version actuelle --- 3 novembre 2024 --- (12, Bookworm) propose une version 2022 de texlive. Sa mise à niveau nécessiterait donc de modifier les 3 variables PATH, INFOPATH et MANPATH (dans ~.bashrc). Mais ceci n'est pas très coûteux, il suffit juste d'y penser. Ma question ici est un peu théorique¹ car la méthode texlive me convient. Le besoin de mises à jour avec tlmgr est fréquent, même si ce besoin est rarement perceptible en pratique courante (du moins, je crois). Ma question est la suivante: avec une installation à la Debian, est-ce qu'on peut utiliser les commandes tlmgr sans dommage pour Debian (essentiellement tlmgr update --self et tlmgr update -all) ¹ Mais elle pourrait faciliter le passage de Windows à Linux pour une candidate à cette évolution

  • Formatage de devises avec le paquetage tabularray
    by polymorphisme on October 31, 2024 at 3:12 pm

    Je suis en train de réécrire des tables avec le paquetage tabularray. Le format des montants de devise est le suivant : la virgule pour séparateur des unités et des fractions; une espace pour séparateur de groupe de 3 chiffres; une complétion du nombre de chiffres significatifs dans certaines colonnes. Ex : 2000 --> 2 000,00 et 2000.0 --> 2 000,00 Une devise est formattée avec une variante de fonte ttfamily. %!TEX engine=lualatex \documentclass{article}% % % Package polyglossia. \usepackage{polyglossia}% \setdefaultlanguage[frenchpart=false]{french}% % % Package tabularray \usepackage{tabularray}% \UseTblrLibrary{amsmath,booktabs,countern diagbox,nameref,siunitx,varwidth,zref}% \begin{document}% \begin{tblr}{% colspec = { Q[0.10\textwidth,l] *{4}{Q[0.15\textwidth,c,si={table-format=3.2,table-number-alignment=center}]} },% row{1} = {c,guard},% cell{2-Z}{1} = {guard},% cell{2-Z}{2-Z} = {font=\ttfamily},% }% Année & Base & Dotation & { Amortissement \\ cumulé } & VNC \\% 1-5 N & 10000 & 877.78 & 877.78 & 9122.22 \\% 1-5 N+1 & 10000 & 2000 & 2877.78 & 7122.22 \\% 1-5 N+2 & 10000 & 2000 & 4877.78 & 5122.22 \\% 1-5 N+3 & 10000 & 2000 & 6877.78 & 3122.22 \\% 1-5 N+4 & 10000 & 2000 & 8877.78 & 1122.22 \\% 1-5 N+5 & 10000 & 1122.22 & 10000.00 & 0.00 \\% 1-5 Total & & 10000.00 & & \\% 1-5 \end{tblr}% \end{document}%