• ltx-talk and \part
    by EconGuy on November 13, 2026 at 12:19 pm

    I am confused, in the ltx-talk documentation it says \part exists to structure your presentation (and resets the ToC, which I want),see this link, but when I use \part, then it comes up as an 'undefined control sequence'. Am I missing the obvious? MWE: \DocumentMetadata{tagging = on, pdfstandard = ua-2} \documentclass{ltx-talk} \begin{document} \part{Main Presentation} \begin{frame} \frametitle{Part 1 Overview} \tableofcontents % Shows only sections in Part 1 \end{frame} \section{Introduction} \begin{frame}\frametitle{Intro} Content... \end{frame} \section{Methodology} \begin{frame}\frametitle{Methods} Content... \end{frame} % --- Start a later part with a new ToC --- \part{Advanced Topics} \begin{frame} \frametitle{Part 2 Overview} \tableofcontents % Shows only sections in Part 2 \end{frame} \section{Deep Dive} \begin{frame}\frametitle{Details} Content... \end{frame} \section{Future Work} \begin{frame}\frametitle{Next Steps} Content... \end{frame} \end{document}

  • why i get this error [duplicate]
    by Tldi You on November 13, 2026 at 10:53 am

    Why I get this error when I run this code \documentclass[border=5pt,tikz]{standalone} \usepackage[T1]{fontenc} \usepackage{newtxtext} \usepackage{newtxmath} \usepackage{tikz} \usetikzlibrary{arrows.meta,patterns} \begin{document} \begin{tikzpicture}[ x=1cm, y=0.38cm, font=\normalsize, line cap=round, line join=round, >=Stealth ] % ------------------------------------------------------------ % Ground surface % ------------------------------------------------------------ \draw[thin] (0,0) -- (10.6,0); % Small irregular strokes representing the ground texture \foreach \x in {0.12,0.30,...,1.55}{ \draw[very thin] (\x,-0.08) -- ++(0.08,-0.28) (\x,-0.10) -- ++(-0.06,-0.24) (\x+0.05,-0.19) -- ++(-0.10,-0.20); } % ------------------------------------------------------------ % Table and vertical depth axis % ------------------------------------------------------------ \draw[thin,-{Stealth[length=2.5mm,width=1.8mm]}] (1.65,0) -- (1.65,-17.25); \draw[thin] (2.85,0) -- (2.85,-16.25); \draw[thin] (4.18,0) -- (4.18,-16.25); \node[above=3pt] at (2.25,0) {$P_1$}; \node[above=3pt] at (3.51,0) {$E$}; \node[above=3pt,anchor=south west] at (4.28,-0.15) {$(\mathrm{kPa})$}; % Depth ticks \foreach \z in {1,...,16}{ \draw[thin] (1.57,-\z) -- (1.65,-\z); } \node[below=3pt] at (1.65,-17.25) {$z\;(\mathrm{m})$}; % Depth annotations \node[left=6pt] at (1.57,-5) {$5$}; \node[left=6pt] at (1.57,-6.5) {$6{,}5$}; \node[left=6pt] at (1.57,-9.3) {$9{,}3$}; \node[left=6pt] at (1.57,-10) {$10$}; \node[left=6pt] at (1.57,-15) {$15$}; % Soil names \node[anchor=west] at (0.22,-1.4) {Argile}; \node[anchor=west] at (0.10,-7.7) {Limon}; % ------------------------------------------------------------ % Numerical data % ------------------------------------------------------------ \foreach \z/\p/\e in { 1/1500/11000, 2/1200/13000, 3/1700/20000, 4/1700/16000, 5/1700/27000, 6/1800/40000, 7/1800/35000, 8/1400/24000, 9/1900/35000, 10/1800/37000, 11/2100/70000, 12/1700/55000, 13/2200/60000, 14/2300/70000, 15/2300/75000, 16/3000/80000 }{ \node at (2.25,-\z) {$\p$}; \node at (3.51,-\z) {$\e$}; } % ------------------------------------------------------------ % E profile % ------------------------------------------------------------ \draw[thin] plot coordinates { (4.455,-1) (4.485,-2) (4.590,-3) (4.530,-4) (4.695,-5) (4.890,-6) (4.815,-7) (4.650,-8) (4.815,-9) (4.845,-10) (5.340,-11) (5.115,-12) (5.190,-13) (5.340,-14) (5.415,-15) (5.490,-16) }; \foreach \x/\z in { 4.455/1,4.485/2,4.590/3,4.530/4, 4.695/5,4.890/6,4.815/7,4.650/8, 4.815/9,4.845/10,5.340/11,5.115/12, 5.190/13,5.340/14,5.415/15,5.490/16 }{ \fill (\x,-\z) circle[radius=1.05pt]; } % ------------------------------------------------------------ % Footing and vertical column % ------------------------------------------------------------ \path[ draw=black, thin, pattern=dots, pattern color=gray ] (8.95,-1.70) -- (10.45,-1.70) -- (10.45,-0.92) -- (9.84,-0.92) -- (9.84,0.68) -- (9.55,0.68) -- (9.55,-0.92) -- (8.95,-0.92) -- cycle; % Applied load \draw[ line width=1.8pt, -{Stealth[length=3.7mm,width=2.5mm]} ] (9.695,1.25) -- (9.695,-1.62); \node[anchor=east] at (9.48,1.10) {$P=66000\ \mathrm{kN}$}; \end{tikzpicture} \end{document} error message expl3.sty: erreur: 78: Mismatched LaTeX support files detected. \ExplLoaderFileDate{expl3.sty}} essai_pressio.tex: avertissement: : No file essai_pressio.aux.

  • PythonTeX output not shown for imported modules in Beamer overlays
    by Tonechas on November 13, 2026 at 12:49 am

    I want to show Python code and its output on the same Beamer slide. The code is displayed on the left side of a colored box and the output on the right. Using \pause, the code is shown on the first overlay and the output on the second. This is a MWE: \documentclass[xcolor=table]{beamer} \usepackage{fontspec} \usepackage{pythontex} \usepackage{fancyvrb} \usepackage[skins,listings,most]{tcolorbox} \newcommand{\tmpFontSize}{\normalsize} \newcommand{\codepath}{../../PySlides/code} \setpythontexworkingdir{../../PySlides/code} \newenvironment{PyBlockSnippetRight}[3][fontsize=\normalsize] {% \VerbatimEnvironment% \renewcommand{\tmpFontSize}{#1}% \ifstrempty{#2}{% \begin{tcolorbox}[% notitle, colframe=cyan!75!gray, colback=cyan!5, size=small, sidebyside, lefthand ratio=#3, sidebyside align=top]% } { \begin{tcolorbox}[% title=#2, colframe=cyan!75!gray, colback=cyan!5, size=small, sidebyside, lefthand ratio=#3, sidebyside align=top]% } \setpythontexautoprint{false} \begin{pyblock}[][fontsize=#1] } { \end{pyblock} \tcblower \pause \printpythontex[verbatim][formatcom={\color{gray}\tmpFontSize}] \end{tcolorbox} } \begin{document} \begin{frame}[fragile] \frametitle{MWE} \begin{PyBlockSnippetRight}[\large]{Code and output}{.5} for i in range(10): print(i) \end{PyBlockSnippetRight} \end{frame} \end{document} This works fine. The problem arises when I move the Python code to mymodule.py and try to obtain the same output by importing the code like this: \begin{PyBlockSnippetRight}[\large]{Code and output}{.5} import mymodule \end{PyBlockSnippetRight} In this case, the output is not displayed, although it should be. Note that the colored box has the expected height (10 lines) in the first overlay, but shrinks to a single line in the second overlay. More context: Windows 10 PythonTeX 0.19 LuaHBTeX, Version 1.25.7 (MiKTeX 26.5) I have been struggling with this issue for quite a while and cannot figure out what is going wrong. Any suggestions would be greatly appreciated.

  • TeXShop for macOS: strange behaviour of the magnification tool
    by Pierre Funck on November 12, 2026 at 11:12 pm

    I freshly installed the current TeXShop version (5.57) on a brand-new MacBook with macOS 27.2, and the magnification tool in the preview window behaves very strangely (see this video). The magnified area is in the wrong place and moves in the opposite direction of my trackpad movement. In my System Settings, “Natural scrolling” is turned on. Toggling this setting doesn’t change the behaviour in TeXShop. I have been using TeXShop for many years on several macOS computers and have never encountered this behaviour… Thanks for any help! Pierre Funck

  • Indenting a second sentence within an enumerated item
    by Sho Furuta on November 12, 2026 at 9:42 pm

    I want my second sentence in an enumerated item to be indented compared to the first sentence, like below:

  • Procedure for taking over maintenance of a CTAN package with old maintainer's permission in 2026
    by jwodder on November 12, 2026 at 2:08 pm

    I recently e-mailed the maintainer of a CTAN package about a problem with it, and they responded that they don't use it anymore and would be fine with me taking over maintenance. Before I try blindly uploading a new version at https://ctan.org/upload, I feel I should ask: How do I establish to the CTAN staff that I have the maintainer's blessings to do this? Should I ask the maintainer to e-mail CTAN? Is there a button in the CTAN web interface that they can press to give me maintainer powers? Further information: The package's ctan.org page states that the package is licensed under version 1 of the LaTeX Project License (which, from a quick look, says nothing about maintainership), while the README.txt file in the package source just states "This program is provided under the terms of the LaTeX Project Public License distributed from CTAN archives in the directory macros/latex/base/lppl.txt" — and, in my version of TeX Live, that file contains version 1.3c of the LPPL, which states: If the Current Maintainer is reachable and agrees to pass maintenance of the Work to you, then this takes effect immediately upon announcement. The "announcement" bit appears to be a reference to a previous clause that states: ..., then announce within the pertinent community your intention to take over maintenance. (If the Work is a LATEX work, this could be done, for example, by posting to comp.text.tex.) Do people really post stuff like this on Usenet in this day & age? I'd have to jump through multiple hoops to post there.

  • How to show chapter names in one line in Contents? [duplicate]
    by Rup_LA on November 12, 2026 at 1:49 pm

    I am writing a report in which I have some long chapter names, which I want to write in two lines. But I also want them to be in a single line in the table of contents. When I write the chapter names in two lines, the same appears in the table of contents too. How can I fix that? MWE: \documentclass{report} \begin{document} \tableofcontents \chapter{Spectral Integral Variation\\ occuring in one place} Something something... \chapter{Spectral Integral Variation\\ occuring in two places} Something else!!! \end{document} which produces: Also can you suggest should I keep the naming like this or should I capitalize everything in chapter names (or something else which will look good). Actually, to be honest, I don't like the chapter names to be like this long but for the content of my report, I'm bound to do it.

  • Compiling a local copy of a dtx of an installed package while ignoring the installed version [duplicate]
    by jwodder on November 12, 2026 at 1:39 pm

    I have recently begun attempting to fix a broken CTAN package that is also broken in my installation of the latest TeX Live. I downloaded the zip file from CTAN and edited the .dtx file to fix the problem (I think), but when I run latex package-name.dtx, LaTeX loads the broken TeX Live copy of the package, and the build fails. How can I instruct LaTeX to ignore the installed copy of the package and/or to give priority to the local version?

  • What the heck is going on with SE? [migrated]
    by Jack on November 12, 2026 at 9:11 am

    Today I got a mail with the subject “1 new item in your Stack Exchange inbox“ saying  You are now able to set your unique username for your profile. I was puzzled and clicked it, and after some security checks, I ended up on a page, where I was asked to join the community. To my surprise, my username "Jack" was known and appeared. But then I read: Member since today Last seen this week Visited 1 days total, 1 consecutive days And worse: All my old messages were lost, as were my badges and reputations. What can I do to restore my old values, also for the other groups I am in?

  • want \autoref to print "Chapter #" instead of "chapter #" in report class
    by Rup_LA on November 12, 2026 at 4:05 am

    I want to link/cite some chapters to demonstrate that "these topics will be studied in Chapter #". I am using report document class. I use \autoref for linking Theorems and Lemmas, which prints them like this: "Theorem #" / "Lemma #". But when I do the same thing with the chapters, it prints it like this "chapter #" instead of "Chapter #". How can I fix that? MWE: \documentclass{report} \usepackage{amsmath,amssymb,amsthm} \usepackage{hyperref} \hypersetup{ colorlinks=true, filecolor=blue, urlcolor=blue, linkcolor=blue } \newtheorem{theorem}{Theorem} \newtheorem{lemma}[theorem]{Lemma} \newcommand\lemmaautorefname{Lemma} \newcommand\chapterautoframename{Chapter} \begin{document} \chapter{Preliminaries} \begin{lemma} \label{lemma} This is a lemma. \end{lemma} From \autoref{lemma} it follows that... \\ These topics will be studied in \autoref{ch} \chapter{Results} \label{ch} \end{document} Part of the PDF produced:

  • Memoir: how to remove dot at the end of legend?
    by Zarko on November 11, 2026 at 8:53 pm

    To explain the abbreviations used in my block diagrams, I customized the \legend command in the memoir document class. For captions of figures and tables I enabled an option that automatically appends a dot (period) to the end of captions, which also applies to the legend. However, when a legend description includes a table, this trailing dot looks awkward. How can I redesign my customization so it automatically detects whether a dot is needed? Is it necessary to define two separate types of legends, or is there a simpler/smarter way to suppress the dot when a table is present? MWE: \documentclass{memoir} %---------------------------------------------------------------% \makeatletter \captiontitlefinal{.} \renewcommand{\legend}[1]{ \par\smallskip \begingroup \@parboxrestore \if@minipage \@setminipage \fi \normalsize \setlength\abovecaptionskip{0.25ex} \captiondelim{\mbox{}} \@makecaption{}{\ignorespaces\textbf{Legenda:} #1}\par \endgroup} \makeatother %---------------------------------------------------------------% \usepackage{tikz} \usepackage{tabularray} \begin{document} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{figure}\centering \tikz\node[draw] {some complex image}; \legend{explanation of image elements} \caption{Caption of image 1} \tikz\node[draw, text width=0.8\linewidth] {some very complex image with a lot of items which meaning are explained in the \verb+\legend+}; \legend{\\ \begin{tblr}[t]{colspec={*{2}{Q[r, font=\bfseries] Q[l]}}, rowsep = 1pt, hlines, vlines} item 1 & description of the item & item 2 & description of the item \\ item 3 & description of the item & item 4 & description of the item \\ \end{tblr} } \caption{Caption of image 2 where I like to omit the dot at the end of legend} \end{figure} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \end{document}

  • foreach doesn't split a dynamically build variable (csname)?
    by lAtExFaN on November 11, 2026 at 5:33 pm

    I would like to process/build a list of filenames to be processed by \input I use pgf's foreach to process/build the list for filenames. But the build lists aren't split (seems to be expansion; I have no clue how to solve (not even how to ask properly). Hopefully this example code helps to understand my goal and the problem. \documentclass{article} \usepackage{pgffor}% http://ctan.org/pkg/{pgf,pgffor} \begin{filecontents}[overwrite,noheader]{fileA.tex} Content file A\par \end{filecontents} \begin{filecontents}[overwrite,noheader]{fileB.tex} Content file B\par \end{filecontents} \begin{filecontents}[overwrite,noheader]{fileC.tex} Content file C\par \end{filecontents} \begin{document} %There are n lists, named eg. parts- and stationsList: \newcommand{\partsList}{fileA,fileB,fileC} \newcommand{\stationsList}{fileC,fileB,fileA} % I would like to iterate over the names, build the lists % and \input each list's files: \foreach \listName in {parts, stations} {% \newcommand{\aList}{\csname \listName List\endcsname} aList (\listName): \aList\par %<- seems fine, but ... \foreach \file in \aList {% ... isn't split %\input{\file} %<- fails obiously f: \file\par %<- output for debugging/testing } } \end{document}

  • Winedit book contents [closed]
    by user450830 on November 11, 2026 at 7:31 am

    In Latex Winedit, I am writing a book which has five chapters, including preface, acknowledgement, index, bibliography etc, now I want to extract contents from the book, what to do for displaying only contents pages not the other things.

  • Attempting to make align environment that's very long fit on page
    by leg42004 on November 11, 2026 at 5:57 am

    I am working on formatting a line of equalities, including a second column labelling where each equality comes from. Below is my tex code. Any ideas on how to get this to look nice and fit on the page? \documentclass{article} \usepackage{amsmath} \begin{document} \newcommand{\by}[2]{&{#1}&\text{#2}} \newcommand{\id}{\text{id}} \newcommand{\ev}{\text{ev}} \newcommand{\coev}{\text{coev}} \newcommand{\cat}{\mathcal{C}} \begin{alignat*}{2} &(\id_Z \otimes \ev_Y \otimes \id_{X^*}) \circ (\tilde{g} \otimes \tilde{f}) = (\id_Z \otimes \ev_Y \otimes \id_{X^*})\circ (((g\otimes \id_{Y^*}) \circ \coev_Y) \otimes (f\otimes \id_{X^*}) \circ \coev_X)\\ &= (\id_Z \otimes \ev_Y \otimes \id_{X^*})\circ (g\otimes \id_{Y^*}\otimes f\otimes \id_{X^*}) \circ (\coev_Y \otimes \coev_X) \by{\quad}{by functoriallity of $\otimes$}\\ &=(\id_Z\otimes \ev_Y \otimes \id_{X^*}) \circ (\id_Z \otimes \id_{Y^*}\otimes \id_Y \otimes \id_{X^*}) \circ (g\otimes \id_{Y^*}\otimes f\otimes \id_{X^*}) \circ (\coev_Y \otimes \coev_X)\\ &= (g\otimes \ev_Y \otimes \id_{X^*}) \circ (\id_Y \otimes \id_{Y^*}\otimes \id_Y \otimes \id_{X^*}) \circ (\id_Y\otimes \id_{Y^*}\otimes f\otimes \id_{X^*}) \circ (\coev_Y \otimes \coev_X)\\ &= (g\otimes \ev_Y \otimes \id_{X^*}) \circ (\id_Y \otimes \id_{Y^*}\otimes \id_Y \otimes \id_{X^*}) \circ (\coev_Y \otimes ((f\otimes \id_{X^*})\circ \coev_X) \by{\quad}{by functoriallity of $\otimes$}\\ &= (g\otimes \id_{1_\cat} \otimes \id_{X^*}) \circ (\id_Y \otimes \ev_Y \otimes \id_{X^*}) \circ (\id_Z \otimes \coev_Y \otimes \id_{X^*}) \circ (((f\otimes \id_{X^*})\circ \coev_X) \\ &= (g\otimes \id_{1_\cat} \otimes \id_{X^*}) \circ (((\id_Y \otimes \ev_Y) \circ (\id_Z \otimes \coev_Y)) \otimes \id_{X^*}) \circ (((f\otimes \id_{X^*})\circ \coev_X) \by{\quad}{by functoriallity of $\otimes$}\\ &= (g\otimes \id_{X^*}) \circ (\id_Y \otimes \id_{X^*}) \circ (((f\otimes \id_{X^*})\circ \coev_X) \by{\quad}{by $\cat$ having duals.}\\ &= (g\otimes \id_{X^*}) \circ (((f\otimes \id_{X^*})\circ \coev_X) \\ &= ((g\circ f) \otimes \id_{X^*}) \circ \coev_X \by{\quad}{by functoriallity of $\otimes$}\\ &= \widetilde{g\circ f}\\ \end{alignat*} \end{document}

  • Is it possible to create commutative diagrams with hawkdraw package?
    by Luis Turcio on November 10, 2026 at 1:56 am

    I'm trying to use hawkdraw package, I know is a new package still in development. Still I would like to use it to draw commutative diagrams. This is a (posible naïve) first attempt: \documentclass{article} \usepackage{hawkdraw} \begin{document} \begin{hawkdraw} \node[at={(0cm,0cm)}, name={1-1}] {A} \node[at={(3cm,0cm)}, name={1-2}] {B} \stroke[arrow end]{(1-1) -- (1-2)} \end{hawkdraw} \end{document} But the output is rather unespected: If the start of the stroke is (0cm,0cm), then the result is more accurate: I'm trying to use it like this because of the similarity with tikz. There is something wrong with the code? Also, is it planned to support commutative diagrams?

  • Can you draw graphs with overleaf’s free version? [closed]
    by Rainofrisk on November 9, 2026 at 9:31 pm

    I just discovered that you can make graphs in LaTeX. As a high school student whose only access point to the software is overleaf on my school iPad, is there a way to make graphs? This would be incredibly useful.

  • MTPro2 Lite: curly brace changes appearance when using \dfrac inside cases
    by Sebastiano on November 9, 2026 at 9:11 pm

    I am using the mtpro2[lite] package and have noticed an unexpected behaviour when using \dfrac inside the cases environment. When I use \frac, the left curly brace has its usual appearance. However, when I replace \frac with \dfrac, the curly brace changes its appearance. Interestingly, this does not happen with \ccases: the brace retains the same appearance even when using \dfrac. Here is a minimal working example: \documentclass[12pt]{article} \usepackage{mathtools} \usepackage[lite]{mtpro2} \begin{document} \[ f(x)= \begin{cases} \dfrac{1}{x}, & x>0,\\ \dfrac{x^2+1}{x-1}, & x<0 \end{cases} \] \[ f(x)= \begin{cases} \frac{1}{x}, & x>0,\\ \frac{x^2+1}{x-1}, & x<0 \end{cases} \] \[ g(x)=\ccases{ \dfrac{1}{x}, & x>0,\\ \dfrac{x^2+1}{x-1}, & x<0 } \] \end{document} Why is there this difference?

  • Losing Section Hierarchy When Using Cleverref
    by Mark Verschell on November 9, 2026 at 9:01 pm

    I am trying to get complete hierarchical section labels by using cleverref in the main body, e.g., I.B.2., but just each section in the TOC {2.}. I have gotten pretty close, but now I am stumped. Two problems in my MWE: In the TOC, the section prints as I Main Topic, when I need I. Main Topic (missing period); while the subsections have the complete hierarchy, the subsubsection does not, I.1. instead of I.A.1. Thanks in advance: Minimum Working Example \documentclass[12pt,letterpaper]{article} % --- Packages --- \usepackage[explicit]{titlesec} % Custom section formatting \usepackage{ulem} \usepackage{cleveref} % --- Section Title Formatting --- \titleformat{\section}{\normalfont\bfseries\centering}{\thesection.}{0.5em}{\MakeUppercase{#1}} \titleformat{\subsection}{\normalfont\bfseries}{\thesubsection}{0.5em}{#1} \titleformat{\subsubsection}{\normalfont\bfseries}{\thesubsubsection}{1em}{\uline{#1}} \makeatletter \renewcommand{\p@section}{\thesection.} \renewcommand{\p@subsection}{\thesection.} \renewcommand{\p@subsubsection}{\thesection.} \renewcommand{\thesection}{\Roman{section}} \renewcommand{\thesubsection}{\Alph{subsection}.} \renewcommand{\thesubsubsection}{\arabic{subsubsection}.} \makeatother \begin{document} \tableofcontents \section{Main Topic} \subsection{First Sub-point}\label{subsec:first} \subsubsection{First Sub-Sub-point}\label{subsubsec:first} \subsection{Second Sub-point}\label{subsec:second} \subsection{Third Sub-point}\label{subsec:third} See \cref{subsec:first} for details. \Cref{subsec:first} provides the overview. We analyze this across \cref{subsec:first,subsec:second,subsec:third} Finally, we refer to \cref{subsubsec:first} \end{document} Which gives:

  • ConTeXt: snapping ascenders of headings to grid
    by Georgian Ilie on November 9, 2026 at 7:58 pm

    Good evening everyone, To be more clear in my request, I start the message by showing this output: which derives from the code below: \setuplayout[grid=yes] \setuphead[chapter][style={\tfb}] \starttext \showgrid \chapter{Hello} This is a text. \section{What's up?} This is some other text. \stoptext I would like to snap the top of the headings to the baselines staying on top of them, that is, to snap the top of Chapter "Hello" to line 1 and the top of section "What's up?" to line 10. I know that there are some options about snapping within \setuphead, but I did not find the correct one (I ask for sorry in advance if I have missed it). Is there a simple solution to this? Thank you in advance for your help. Edit 1 To be more clear in my request, I add the following pictorial example: In addition, as requested I provide the output of the code including \showstruts in the preamble of my code:

  • Long document \inputting many small files that may \input smaller files, comprising "nested" sections
    by eigengrau on November 9, 2026 at 6:46 pm

    I'm trying to develop and organize a long document about one overall (math and theoretical computer science, i.e., domain theory) subject, but with many subtopics that I need to individually focus my thinking on. And I can't really see the best way to "fit together" all the necessary subtopics until they've been mostly written. So I want to write each in its own topic.tex file, and eventually \input each such topic file in a more-or-less skeleton paper.tex file. But, as per title, after I get my thoughts better organized, a heirarchy may emerge such that some topic files end up \inputting others. And then, what I originally wrote as \sections in one topic file, may need to end up as \subsections (or \subsubsections, or \paragraphs, etc) when \inputted by another. Is there any way to sensibly accomplish that kind of thing? If we could reasonably do stuff like \begin{section}...\end{section}, then that kind of nesting could, at least in principle, be effectively recognized, e.g., if one such \begin{section}...\end(section} ends up being \inputted by another such section, then it would automatically be formatted as a \subsubsection, and numbered accordingly. But as it stands, seems like I'd have to do lots and lots of secretarial-type editing and re-editing to organize and re-organize (and re-re-organize) the topic files as the work progresses and I get better ideas about how all the little pieces should best fit together. Is there any latex approach that gives me the desired organizational flexibility with a minimum of secretarial editing overhead? I'd have thought this is a reasonably common kind of situation, but couldn't google a solution. Thanks.

  • How to use the siunitx S column type (for tabular...) in a Jinja2 latex template?
    by Serge Ballesta on November 9, 2026 at 3:17 pm

    I have to provide an automatic report containing financial data in tables. What I mean is that I want some data to display as 12,20 € and aligned on the decimal comma (comma is the decimal point in French locale...), even if it was passed 12.2 €. So far so good, I have found the S column type of the siunitx package which nicely handles the conversion and my source file looks like: ... \usepackage{tabularx} \usepackage[table]{xcolor} \usepackage{siunitx} \sisetup{ locale = FR, round-mode = places, round-precision = 2, round-pad = true } ... \begin{tabularx}{0.9\textwidth}{XSc} \rowcolor{black!10} \textbf{Description}&\textbf{Montant}&\textbf{Date} \\Cours à domicile&24.48 \euro{}&07/07/2026 \\Cours à domicile&40.8 \euro{}&08/07/2026 \end{tabularx} ... Things only go bad when I try to automate the task, with a Jinja2 template. Because the template table becomes: \begin{tabularx}{0.9\textwidth}{XSc} \rowcolor{black!10} \textbf{Description}&\textbf{Montant}&\textbf{Date} <! for presta in invoice.prestas !> \\<<presta.label>>&<<presta.amount>> \euro{}&<<presta.dat.strftime('%d/%m/%Y')>> <!endfor!> \end{tabularx} And I can no longer test the template as a valid latex document because the S type complains that it is given invalid values. What I have tried: manually replace the S with a r while developing the template, and only switch to S when the template is ready for production : it works but is err... manual use a variable containing XScor Xrc to allow an automatic switch. But then the tabular environment complains that it is given an invalid format string make all the conversions in the upside Python code and only use r column format. It surely works, but the S type looked so cute... I am now using the manual method 1, but wonder whether more clever ways could exist. So the question is : Is there a way to have a tex template for Jinja2 containing tables using the S column type from sunitx and have that template be a valid latex document?

  • What's the position of LaTeX community on LLM-geneated software? [closed]
    by niru on November 9, 2026 at 9:16 am

    Like many other software communities, the LaTeX world also has started witnessing software fully written by (or co-authored by) LLM models aka AI. I have some software that I developed for my personal use. I would like to distribute it. I generally prefer distributing my own software on forums that are decentralized and community-oriented, e.g., GNU Savannah, Puszcza, Codeberg, Sourcehut, git gay (as opposed to enterprises, e.g., Microsoft GitHub, Gitlab). Most of these decentralized software hosts have decided to not allow hosting LLM-generated software. In light of this, I wonder what the stance of LaTeX community is on this. There already are some packages written using LLM on CTAN and the number might soon increase. How should this be looked at? Note: I am aware that this is neither directly related to the TeX SE website, nor to its meta, but since it is primarily about best practices of (La)TeX development, I think this is a good place for this discussion. If it is still found to be not suitable for the website, I will delete it.

  • Bidirectional hyperlinks between exercises and figures in LaTeX
    by Sebastiano on November 8, 2026 at 10:12 pm

    I have the following minimal working example: \documentclass[12pt,a4paper]{amsart} \usepackage{tikz} \usepackage[colorlinks=true,linkcolor=blue]{hyperref} \newtheorem{Es}{Esercizio} \begin{document} \section{Esercizi} \begin{Es} My solution Link to figure \end{Es} \bigskip \begin{Es} My solution \end{Es} \newpage \section*{Figure} %%%%%%%%%%%%%%%%% Add automatically link to exercise \begin{figure}[htbp] \centering \begin{tikzpicture}[scale=1.25] \draw[->] (-1.8,0) -- (1.8,0) node[below right] {$x$}; \draw[->] (0,-1.8) -- (0,1.8) node[below left] {$y$}; \draw[gray, thick] (0,0) circle (1); \draw[gray,very thick] (0,0) circle (1.5); \fill (0,0) circle (0.025); \node[below left] at (0,0) {$O$}; \draw[blue, very thick, domain=45:225, samples=100] plot ({1.5*cos(\x)},{1.5*sin(\x)}); \draw[blue, fill=white, very thick] ({1.5*cos(45)},{1.5*sin(45)}) circle (0.06); \draw[blue, fill=white, very thick] ({1.5*cos(225)},{1.5*sin(225)}) circle (0.06); \draw[dashed, gray] (0,0) -- ({1.6*cos(45)},{1.6*sin(45)}); \draw[dashed, gray] (0,0) -- ({1.6*cos(225)},{1.6*sin(225)}); \node[above right] at ({1.5*cos(45)},{1.5*sin(45)}) {$\frac{\pi}{4}$}; \node[below left] at ({1.5*cos(225)},{1.5*sin(225)}) {$\frac{5\pi}{4}$}; \end{tikzpicture} \caption{Soluzioni della disequazione $\sin x-\cos x>0$.} \label{fig:soluzioni_seno_coseno} \end{figure} \end{document} How can I modify this example to automatically create bidirectional hyperlinks between each Es environment and its corresponding TikZ figure, so that clicking at the end of an exercise takes me to its figure and clicking at the end of the figure takes me back to the exercise, without manually specifying exercise numbers, figure numbers, \hypertarget, or \hyperlink? Here an example PDF in this link https://www.lorenzoroi.net/prelievi/ProblemiEsame3.pdf PS: In this question Hyperlinks from exercises to solutions and vice versa there are mdframed and tcolorbox which I don’t need for the exercises, and I’d like it to be, for example, ‘Exercise 1 (solution)’, and at the end, in a final section, the image relating to Exercise 1 which, when clicked, takes me to the solution to the exercise, just like the PDF file mentioned above. I'm looking for a very simple solution that doesn't include packages released after 2018

  • pgfplots warning when input starts with equal digits
    by jlab on November 8, 2026 at 2:28 pm

    I'm plotting thermodynamics data with pgfplots. I get a strange warning when a value begin with 55. For example: \addplot table[x index=3,y index=1, col sep=comma]{ 311.00, 100.00, 55.463, 0.018030 } ; gives Missing character: There is no . (U+002E) in font nullfont! Missing character: There is no 4 (U+0034) in font nullfont! Missing character: There is no 6 (U+0036) in font nullfont! Missing character: There is no 3 (U+0033) in font nullfont! If I replace 55.463 with 550 I get Missing character: There is no 0 (U+0030) in font nullfont! But there is no warning if 55.463 is replaced by 5.463 54.463 56.463 Any idea to explain this strange behaviour? Compilable example: \documentclass{article} \usepackage{pgfplots} \pgfplotsset{compat=1.18} \begin{document} \begin{tikzpicture} \begin{axis}[ ,xmin = {0} ,xmax = {0.02} ,ymin = {90} ,ymax = {300} ] %% Warnings: %% Missing character: There is no . (U+002E) in font nullfont! %% Missing character: There is no 4 (U+0034) in font nullfont! %% Missing character: There is no 6 (U+0036) in font nullfont! %% Missing character: There is no 3 (U+0033) in font nullfont! %% \addplot table[x index=3,y index=1, col sep=comma]{ 311.00, 100.00, 55.463, 0.018030 } ; %% Replace 55.463 by 550: %% Missing character: There is no 0 (U+0030) in font nullfont! \addplot table[x index=3,y index=1, col sep=comma]{ 311.00, 100.00, 550, 0.018030 } ; %% Replace 55.463 by 5.463: no warnings \addplot table[x index=3,y index=1, col sep=comma]{ 311.00, 100.00, 5.463, 0.018030 } ; %% Replace 55.463 by 54.463: no warnings \addplot table[x index=3,y index=1, col sep=comma]{ 311.00, 100.00, 54.463, 0.018030 } ; %% Replace 55.463 by 56.463: no warnings \addplot table[x index=3,y index=1, col sep=comma]{ 311.00, 100.00, 56.463, 0.018030 } ; \end{axis} \end{tikzpicture} \end{document} Bug report I filled a bug report for that: https://github.com/pgf-tikz/pgfplots/issues/532

  • \edef with incomplete expansion
    by Elayson Abreu on November 6, 2026 at 7:00 pm

    I have a macro that removes whitespace from a set of tokens, called \removespaces. When I compile the code below, 1_2_3_ becomes 123 (where the underscore represents a whitespace character). In other words, \z=macro: ->123. And this is the desired result. \def\removespaces#1 {\if\relax\detokenize{#1}\relax\else#1\expandafter\removespaces\fi} \edef\z{\removespaces 1 2 3 {} } \show\z \bye The code below, in turn, produces the result \z=macro: ->1 2 3 {} . \def\removespaces#1 {\if\relax\detokenize{#1}\relax\else#1\expandafter\removespaces\fi} \def\y#1{\removespaces#1 {} } \edef\z{\y{ 1 2 3 }} \show\z \bye So my question is, why didn't a complete expansion occur at \z?

  • Is there a way, using Pandoc, to set the format of \today (Markdown to PDF)?
    by gjmb on November 6, 2026 at 1:01 am

    I'm trying to set the format of the date field using Pandoc to convert .MD to .PDF. I use the xelatex engine to convert. Here is a MWE: --- title: "foo" author: Me date: \today --- What this prints as the date: November 5th, 2026. What I want: to be able to set it to things like 2026-11-05. What I've tried: Loading the isodate package (-\usepackage[USenglish]{isodate}). This didn't seem to do anything. Setting options as described here. I included every variant of -M date="`date "+%B%e, %Y"`" listed, but all this seemed to was to print that string of code in place of \today. What I have not tried (because it seems unnecessarily complicated) is making a Lua filter. I admittedly do not know that much about Pandoc or LaTeX. I know LaTeX and Markdown syntax, but my knowledge of the backend of these things is limited. I never learned raw TeX, and I may be missing something obvious. Is there some way to just format the input \today so that it is in, say, ISO?

  • Can I automatically record the alt text of images?
    by Teepeemm on November 5, 2026 at 7:17 pm

    To support digital accessibility, my graduate school is requiring students' theses and dissertations to include an appendix that contains the alt-text, and long description when applicable, for all visual elements. I can somewhat help this process by creating commands for any alt text and description as follows: \DocumentMetadata{ tagging=on, lang=en-US, pdfstandard=ua-2 } \documentclass{article} \title{Title} \usepackage{graphicx} \begin{document} Some text that comes before a float. \begin{figure} \centering \gdef\duckAlt{A rubber duck with a crown on its head and a pizza.} \includegraphics[alt={\duckAlt},width=.5\textwidth]{example-image-duck} \caption{King duck}\label{fig:duck} \end{figure} Some text that comes between floats. \begin{figure} \centering % \gdef\gardnerAlt{Gardner's Conceptual Framework of Doctoral Student Development outlines the progressive phases of identity development that doctoral students experience, highlighting key challenges, sources of support, and potential points of attrition at each state.} % \gdef\gardnerDesc{% This is a diagram of Gardner's Conceptual Framework of Doctoral Student Development. It includes challenges and supports at three different phases. It also shows that students may depart their program at any phase. There is indication of the overlapping nature of Phase 1 to Phase 2 and Phase 2 to Phase 3. \begin{itemize} \item Phase 1 Challenges include admission, coursework begins, learning balance, transition from undergraduate to graduate expectations. \item Phase 1 Supports include orientation and initial relationships formed with peers and faculty. \item Phase 2 Challenges include coursework, examinations, changing role. \item Phase 2 Supports include peer relationships and advisor relationships. \item Phase 3 Challenges include candidacy, dissertation work, job search, and transition to professional role. \item Phase 3 supports include writing groups, advisor, and mentors. \end{itemize}} % \includegraphics[alt={\gardnerAlt},width=.77\textwidth]{Gardner} % \caption{Gardner's Conceptual Framework of Doctoral Student Development}\label{fig:gardner} % \end{figure} Some text that comes after a float. \clearpage \appendix \section*{Alt texts and figure descriptions} \paragraph{Figure \ref{fig:duck}:} \duckAlt \paragraph{Figure \ref{fig:gardner}:} \gardnerAlt \gardnerDesc \end{document} But this seems a bit error prone. Would it be possible to automate this process so that alt= records everything and then another command prints them? And a custom longDesc environment attaches itself to that alt text as well? The Gardner figure:

  • Drawing 3D atomic orbitals in LaTeX [closed]
    by sstac on November 4, 2026 at 12:54 pm

    I am trying to recreate a few graphics found on a paper: https://www.researchgate.net/publication/376028984_Visualizing_atomic_orbitals_of_an_electron_by_Latex The images I want to recreate: The author supposedly wanted to share the source code, but the link in abstract is (at least for me) not working and I wasn't able to reach out to the author, so I decided to try to recreate the graphics myself. Unfortunaley I don't have much experience in drawing in latex/tikz/pgfplots (I did some 3d graphics in tikz-3dplot tho, but that was some time ago) so I am interested if someone can guess or say how were such graphics created? Thanks in advance! Best, Stipe Edit: Narrowed the question, removed the whole bunch of images.

  • How to make diagonal titles on a step table
    by es2377 on November 4, 2026 at 12:07 pm

    Here is a sideways step-table taking up a full page, with each title for part of a column and the corresponding row. The titles, however, will not rotate about the origin specified by \rotatebox, and crash into the columns. Ideally they would rotate about the last letter and all be parallel. \documentclass{memoir} \usepackage{array} \usepackage[figuresright]{rotating} \usepackage{xltabular} \begin{document} \newlength{\pwid} \setlength{\pwid}{0.15\textwidth} %Define width of parbox %Excess width leads to squashing the table. \newcommand{\rot}[1]{\rotatebox[origin=br]{-45}{#1}} %Define a rotation %\newcommand{\rpar}[1]{\rot{\parbox[c][0.05\linewidth]{\pwid}{ #1}}}% %Rotating the parbox itself leads to excess column heights. \newcommand{\rpar}[1]{\parbox[c][0.05\textwidth]{\pwid}{\raggedleft% \leftskip 0pt plus \hsize minus \hsize % %This justifies the text in the parbox % \leftskip 0pt plus 1fill minus 1fill %This appears to have no effect \rot{#1}}} \newcolumntype{Q}{>{\tiny\arraybackslash}>{\raggedright}X} %Define our main column \renewcommand{\arraystretch}{1.3} \begin{sidewaystable} \begin{xltabular}{\textwidth}{|r |Q|Q|Q| Q|Q|Q| Q|Q|Q| Q|Q|Q|} \multicolumn{13}{r}{\rpar{Amsterdam}} \\ \cline{13-13} \multicolumn{12}{r|}{\rpar{Birmingham}} & \\ \cline{12-13} \multicolumn{11}{r|}{\rpar{Cleveland}} && \\ \cline{11-13} \multicolumn{10}{r|}{\rpar{Donegal {(Ireland)}}} &&& \\ \cline{10-13} \multicolumn{9}{r|}{\rpar{Eboracum (Yorkshire)}} && Some info && \textbf{MORE!}\\ \cline{9-13} \multicolumn{8}{r|}{\rpar{Florence}} &&&&&\\ \cline{8-13} \multicolumn{7}{r|}{\rpar{Geneva \mbox{(Switzerland)}}} &&&&& &\\ \cline{7-13} \multicolumn{6}{r|}{\rpar{Hartlepool }} &&&&& &&\\ \cline{6-13} \multicolumn{5}{r|}{\rpar{Indianapolis}} &&&&& &&&\\ \cline{5-13} \multicolumn{4}{r|}{\rpar{Jakarta {(Indonesia)}}} &&& More info && &&&&\\ \cline{4-13} \multicolumn{3}{r|}{\rpar{Kaliningrad (Russia)}} &&&&& &&& And so on && \\ \cline{3-13} \multicolumn{2}{r|}{\rpar{Ladrillera \mbox{(Mexico)}}} &&&&& &&Perhaps a distance &&& & \\ \cline{2-13} \multicolumn{1}{r|}{\rpar{Mandanici \mbox{(Italy)}}} &&&&& &&&&& &&\\ \cline{2-13} \end{xltabular} \smallskip \caption[Short caption title]{A long caption title that spreads across the page, all the way across, on and on and on it goes, before finally spreading itself onto the next line.} \end{sidewaystable} \end{document} The \parbox for each title is needed to force the row-heights to be fixed. It needs its height specified and the and the rotation to be within it, as rotating the \parboxes leads to different row heights. (Edit: This is not strictly true, as the answer below shows.) The \parbox width cannot be too much, or it squashes the table to the right, as the last row . This answer on right-justified text in a \parbox suggests \leftskip 0pt plus \hsize minus \hsize, but it does not seem to work. Overleaf suggests 1fill as an adjustment, but it also does not work, while the LaTeX Wikibook has only a brief description. (I am well aware that some people hate vertical lines in tables, but for the purposes of this exercise, they help to show the columns.)

  • want certain phrases to appear differently
    by Rup_LA on November 2, 2026 at 12:55 pm

    I am writing a report, where I need certain words and phrases to appear in different fonts or/and sizes to distinguish them from that of the other texts (and for some personal preferences too). How can I achieve this? Any help or suggestions would be appreciated. \documentclass[a4paper,12pt]{report} \usepackage{amsmath,amssymb,amsthm} \begin{document} As the rank of $L(G)$ is $n-k$ where $k=k(G)$ is the number of connected components in $G$, it is easy to see that the multiplicity of $0$ is $k(G)$ and hence, the second smallest eigenvalue of $L(G)$ is $0$ if and only if $G$ is disconnected. Thus the second smallest eigenvalue of $L(G)$ is popularly known as the \textbf{\textit{algebraic connectivity}} of $G$ and is denoted by $a(G)$. The eigenvectors corresponding to $a(G)$ are called\textbf{\textit{ Fiedler vectors}} of the graph $G$. \end{document} In particular, for the above, I want "algebraic connectivity" & "Fiedler vectors" appearing in the pdf to be in Times New Roman font with 14pt size.