Hot
- Inner block vspace depending on whether first or last child of outer blockby David Purton on November 14, 2026 at 12:13 pm
The new block implementation is much more flexible than the old \list option. So, I'm hunting for a neat way of controlling the vspace around an inner block depending on whether the inner block is a first or last thing inside an outer block. Implementation should work with and without tagging enabled. The rule set for the inner block environment should be: Set begin-vspace and end-vspace to some value (could be different). If inner block is first thing inside outer block, set begin-vspace to 0pt. If inner block is last thing inside outer block, set end-vspace to 0pt. MWE %! TeX Program = lualatex \DocumentMetadata{} \documentclass{article} \begin{document} Text above outer block environment. \begin{displayblock}[ , begin-vspace = 0pt , begin-extra-vspace = 0pt , end-vspace = 0pt , end-extra-vspace = 0pt ] \begin{displayblock}[ , begin-vspace = 1ex , begin-extra-vspace = 0pt , end-vspace = 1ex , end-extra-vspace = 0pt ] Only put space above if not first thing in outer block. Only put space if not last thing in outer block. \end{displayblock} \end{displayblock} Text below outer block environment. \end{document}
- Significant differences between 'pdflatex' and 'lualatex' PDFsby Denis Bitouzé on November 14, 2026 at 9:14 am
If I'm not mistaken, the outputs from pdflatex and lualatex is supposed to be virtually identical. However, I've noticed significant differences between the PDF files generated by pdflatex, on the one hand, and by lualatex, on the other—to the point that the number of pages isn't the same. I don’t have time right now to reduce this to a minimal example, but this phenomenon can be observed with the these.tex file located in .../texlive/2026/texmf-dist/doc/latex/yathesis/french/exemples/specimen/a-plat/, run with: latexmk these for pdflatex (thanks to the line $pdf_mode = 1; in the latexmkrc file in the a-plat/ directory), latexmk -c these && latexmk -pdflua these for lualatex. Are such differences now accepted?
- combine multiple functions of author in authortypeby Alexander Wittmann on November 14, 2026 at 1:10 am
May there be a book which I bibliographize not by its author, but by its editor. The editor has not only edited the book, but also translated it and commented it upon. If the "author" was only the editor, I can write author = {Some Body} and authortype = {editor}. That's the cool way. BUT if I want to combine several functions of the "author", how can I put them into one authortype? Neither authortype = {editor AND translator AND commentator} nor authortype = {editor, translator, commentator} nor authortype = {editor translator commentator} do work, the same with commentary... instead of commentator... Regardless of any biblatex-styles, is there an easy way to combine the different functions in one field authortype = {function1 function2 function3}? MNWE @Book{Flores:Naevius, editor = {Enrico Flores}, introduction = {Enrico Flores}, translation = {Enrico Flores}, % author = {Enrico Flores}, % authortype = {editor}, % still works % authortype = {editor AND introduction AND translator}, % authortype = {editor, introduction, translator}, % authortype = {editor introduction translator}, title = {Naeuius \mkbibemph{Some Title}}, date = 2011, publisher = {Editore}, location = {Localita}, }
- How to Significantly Increase the Number of Circularly Arranged Tikz Stars?by DDS on November 13, 2026 at 11:00 pm
Consider the code: \documentclass{article} \usepackage{tikz,xcolor} \usetikzlibrary{decorations.text} \usetikzlibrary{shapes.geometric} \pgfkeyssetvalue{cacamailg/picture-scale}{1.5} % To produce the stars \definecolor{red_color}{RGB}{111,6,2} \begin{document} \pagecolor{red_color} {\begin{tikzpicture} \foreach \k in {0,1,...,39}{ \node[ xscale=0.10,yscale=0.10, shape=star, star points=5, star point ratio=3.0, minimum size=0.8cm, fill=white, draw=white, rotate=360*\k/100, ] at (360*\k/40+90:5.7cm) {}; } \end{tikzpicture}} \end{document} which produces: There are 40 five-point stars circularly arranged in this display. I would like to be able to increase this to, say, 120 such circularly arranged stars; however, when I try to do this, I get an error message stating "dimension too large." QUESTION: How may I (if possible) increase the number of stars in the display in excess of 100? Thank you.
- ! LaTeX Error: Encoding scheme 'TS1' unknown triggered by \copyrightby Sebastiano on November 13, 2026 at 9:38 pm
I am getting the following compilation error when using \copyright in my document: ! LaTeX Error: Encoding scheme `TS1' unknown. See the LaTeX manual or LaTeX Companion for explanation. Type H <return> for immediate help. ... l.7 \DeclareFontFamily{TS1}{ntxtlf}{} The strange thing is that \copyright used to compile without any issues until a few days ago, and I haven't intentionally changed my preamble. If I remove \copyright from the text, the document compiles fine. Here is a minimal not working example of my setup: \documentclass{article} \usepackage[T1]{fontenc} \usepackage{newtxtext} \begin{document} Some text \copyright\ 2026. \end{document} With \usepackage[TS1,T1]{fontenc} all works correctly. PS Few mounths ago all works without TS1. Here is the log file This is pdfTeX, Version 3.141592653-2.6-1.40.29 (MiKTeX 26.5) (preloaded format=pdflatex 2026.11.9) 14 NOV 2026 08:30 entering extended mode \write18 enabled. %&-line parsing enabled. **"C:/Users/sebys/OneDrive/Desktop/new question/Test2.tex" (C:/Users/sebys/OneDrive/Desktop/new question/Test2.tex LaTeX2e <2026-06-01> L3 programming layer <2026-09-09> (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/base\article.cls Document Class: article 2026-06-04 v1.4n Standard LaTeX document class (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/base\size10.clo File: size10.clo 2026-06-04 v1.4n Standard LaTeX file (size option) ) \c@part=\count276 \c@section=\count277 \c@subsection=\count278 \c@subsubsection=\count279 \c@paragraph=\count280 \c@subparagraph=\count281 \c@figure=\count282 \c@table=\count283 \abovecaptionskip=\skip49 \belowcaptionskip=\skip50 \bibindent=\dimen150 ) (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/base\fontenc.sty Package: fontenc 2026-07-31 v2.2a Standard LaTeX package ) (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/newtx\newtxtext.sty Package: newtxtext 2024/04/01 v1.744(Michael Sharpe) latex and unicode latex su pport for TeXGyreTermesX `newtxtext' v1.744, 2024/04/01 Text macros taking advantage of TeXGyre Termes a nd its extensions (msharpe) (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/xpatch\xpatch.sty (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/l3kernel\expl3.sty Package: expl3 2026-09-09 L3 programming layer (loader) (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/l3kernel\l3backend-pdft ex.def File: l3backend-pdftex.def 2026-09-09 L3 backend support: PDF output (pdfTeX) \l__color_backend_stack_int=\count284 )) Package: xpatch 2020/03/25 v0.3a Extending etoolbox patching commands (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/l3packages/xparse\xpars e.sty Package: xparse 2025-10-09 L3 Experimental document command parser ) (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/etoolbox\etoolbox.sty Package: etoolbox 2025/10/02 v2.5m e-TeX tools for LaTeX (JAW) \etb@tempcnta=\count285 )) (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/xcolor\xcolor.sty Package: xcolor 2024/09/29 v3.02 LaTeX color extensions (UK) (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/graphics-cfg\color.cfg File: color.cfg 2016/01/02 v1.6 sample color configuration ) Package xcolor Info: Driver file: pdftex.def on input line 274. (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/graphics-def\pdftex.def File: pdftex.def 2025/09/29 v1.2d Graphics/color driver for pdftex ) (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/graphics\mathcolor.ltx) Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1349. Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1353. Package xcolor Info: Model `RGB' extended on input line 1365. Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1367. Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1368. Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1369. Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1370. Package xcolor Info: Model `Gray' substituted by `gray' on input line 1371. Package xcolor Info: Model `wave' substituted by `hsb' on input line 1372. ) (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/generic/iftex\iftex.sty Package: iftex 2024/12/12 v1.0g TeX engine tests ) (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/xkeyval\xkeyval.sty Package: xkeyval 2022/06/16 v2.9 package option processing (HA) (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/generic/xkeyval\xkeyval.tex (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/generic/xkeyval\xkvutils.tex \XKV@toks=\toks17 \XKV@tempa@toks=\toks18 (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/generic/xkeyval\keyval.tex)) \XKV@depth=\count286 File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) )) (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/base\textcomp.sty Package: textcomp 2024/04/24 v2.1b Standard LaTeX package ) (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/xstring\xstring.sty (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/generic/xstring\xstring.tex \xs_counta=\count287 \xs_countb=\count288 ) Package: xstring 2023/08/22 v1.86 String manipulations (CT) ) (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/base\ifthen.sty Package: ifthen 2026-06-01 v1.1e Standard LaTeX ifthen package (DPC) ) (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/carlisle\scalefnt.sty) LaTeX Font Info: Setting ntxLF sub-encoding to TS1/0 on input line 24. LaTeX Font Info: Setting ntxTLF sub-encoding to TS1/0 on input line 24. LaTeX Font Info: Setting ntxOsF sub-encoding to TS1/0 on input line 24. LaTeX Font Info: Setting ntxTOsF sub-encoding to TS1/0 on input line 24. (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/generic/binhex\binhex.tex) \ntx@tmpcnta=\count289 \ntx@cnt=\count290 (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/fontaxes\fontaxes.sty Package: fontaxes 2026-01-02 v2.0.2 Font selection axes (deprecated) Applying: [2024-11-01] Use figureversions if present on input line 74. (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/figureversions\figureve rsions.sty Package: figureversions 2025-04-29 v1.0.1 Figure versions ) Already applied: [0000-00-00] Fall back to v1 on input line 76. ) \tx@sixem=\dimen151 \tx@y=\dimen152 \tx@x=\dimen153 \tx@tmpdima=\dimen154 \tx@tmpdimb=\dimen155 \tx@tmpdimc=\dimen156 \tx@tmpdimd=\dimen157 \tx@tmpdime=\dimen158 \tx@tmpdimf=\dimen159 \tx@dimA=\dimen160 \tx@dimAA=\dimen161 \tx@dimB=\dimen162 \tx@dimBB=\dimen163 \tx@dimC=\dimen164 LaTeX Info: Redefining \oldstylenums on input line 902. ) LaTeX Font Info: Trying to load font information for T1+ntxtlf on input line 4. (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/newtx\t1ntxtlf.fd File: t1ntxtlf.fd 2021/05/24 v1.1 font definition file for T1/ntx/tlf ) LaTeX Font Info: Font shape `T1/ntxtlf/m/n' will be (Font) scaled to size 10.0pt on input line 4. (C:/Users/sebys/OneDrive/Desktop/new question\Test2.aux) \openout1 = `Test2.aux'. LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 4. LaTeX Font Info: ... okay on input line 4. LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 4. LaTeX Font Info: ... okay on input line 4. LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 4. LaTeX Font Info: ... okay on input line 4. LaTeX Font Info: Checking defaults for IL2/cmr/m/n on input line 4. LaTeX Font Info: ... okay on input line 4. LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 4. LaTeX Font Info: ... okay on input line 4. LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 4. LaTeX Font Info: ... okay on input line 4. LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 4. LaTeX Font Info: ... okay on input line 4. (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/context/base/mkii\supp-pdf.mk ii [Loading MPS to PDF converter (version 2006.09.02).] \scratchcounter=\count291 \scratchdimen=\dimen165 \scratchbox=\box53 \nofMPsegments=\count292 \nofMParguments=\count293 \everyMPshowfont=\toks19 \MPscratchCnt=\count294 \MPscratchDim=\dimen166 \MPnumerator=\count295 \makeMPintoPDFobject=\count296 \everyMPtoPDFconversion=\toks20 ) \c@mv@tabular=\count297 \c@mv@boldtabular=\count298 LaTeX Font Info: Trying to load font information for TS1+ntxtlf on input lin e 5. (C:\Users\sebys\AppData\Local\Programs\MiKTeX\tex/latex/newtx\ts1ntxtlf.fd File: ts1ntxtlf.fd 2015/01/18 v1.0 fd file for TS1/ntxtlf ! LaTeX Error: Encoding scheme `TS1' unknown. See the LaTeX manual or LaTeX Companion for explanation. Type H <return> for immediate help. ... l.7 \DeclareFontFamily{TS1}{ntxtlf}{} ? ! Emergency stop. ... l.7 \DeclareFontFamily{TS1}{ntxtlf}{} Your command was ignored. Type I <command> <return> to replace it with another command, or <return> to continue without it. Here is how much of TeX's memory you used: 3425 strings out of 467518 55508 string characters out of 5407995 465567 words of memory out of 5000000 32638 multiletter control sequences out of 15000+600000 632123 words of font info for 42 fonts, out of 8000000 for 9000 1141 hyphenation exceptions out of 8191 74i,0n,77p,344b,106s stack positions out of 10000i,1000n,20000p,200000b,200000s ! ==> Fatal error occurred, no output PDF file produced!
- Florilegium both margins at same pageby CrocoDuck on November 13, 2026 at 5:20 pm
I tried placing flowers on both sides of the text using "florilegium," but without success. \documentclass[11pt,a4paper]{article} \usepackage{fontspec} \usepackage[a4paper, left=55.1mm, right=55mm, top=10mm, bottom=30mm]{geometry} \usepackage[grown, density=.6]{florilegium} \begin{document} \vline \end{document} There is also Tikzflora, but it produces much larger files; the file for the image below -- even when empty and set to a density of 0.1 -- is 2.7 MB, whereas a file using "florilegium" is 350 KB.
- ltx-talk and \partby 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 overlaysby 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 toolby 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!
- Indenting a second sentence within an enumerated itemby 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 2026by 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 [duplicate]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 pageby 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?
- MTPro2 Lite: curly brace changes appearance when using \dfrac inside casesby 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 Cleverrefby 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:
- 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 LaTeXby 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 digitsby 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 expansionby 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?
- Print page numbers from one run of a document as rules in a later run?by modallyFragile on November 6, 2026 at 11:27 am
I have a custom class for making lecture handouts. It has an environment notes and an option notes; when the option is enabled, everything in the environment is printed in greyed-out text. When it is not, the environment is ignored completely. I use this to prepare my own, 'instructors version' of the handout for each lecture -- I write just one document, then I compile without the option (and print many copies for the students), then recompile with the option (and print one copy for me). During lectures I often refer to our place in the handout. Before I used the greyed-out notes I used to do this by page number. But of course, with the greyed-out notes, my copy of the handout has different numbering to the student's. I can use section and paragraph numbers, but it's not the same. Goal: I would like to somehow save the locations of the page-breaks in the students (non-noted) compilation run, and print these, perhaps as margin notes or cross-pages rules, in my notated compilation run (e.g. similar to the cross-page rules used for page-numbering here). I know how to do all the typesetting and I can play around with the format myself, but I don't know where to start with saving and printing the external numbers. I imagine the answer has something to do with the aux file, zref, or maybe the new marks interface? Ideally I would also like to be able to compile with notes more than once, and not lose the existing data on the student's page numbering, but I recognise that might be a lot of extra work for little benefit. Any solution should also ideally account for the possibility that I compile with notes first, and so there is no data on the students' numbering -- in this case perhaps just print a question mark or something. Here's an MWE. \begin{filecontents}[overwrite]{handout.cls} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{handout-base} % Option for displaying notes \newif\ifnotes \notesfalse \DeclareOption{notes}{% \typeout{Option `notes' passed, notes will be displayed. Define macro `noteformat' to change formatting.} \notestrue% } \DeclareOption*{% \PassOptionsToClass{\CurrentOption}{article}% } \ProcessOptions\relax \LoadClass{article} \RequirePackage{xcolor} % Environment for writing notes \NewDocumentEnvironment{notes}{ +b }% {\ifnotes\bgroup\color{gray}#1\fi}% {\ifnotes\egroup\fi} % Cross-page rule counter printer for the page number \newcommand*\arabicpagerule[1]{\expandafter\@arabicpagerule\csname c@#1\endcsname} \newcommand*\@arabicpagerule[1]{ \begin{center} \hrulefill\raisebox{-0.5ex}{\the#1}\hrulefill\relax \end{center} } \end{filecontents} \documentclass% % [notes] % Uncomment and recompile for notated version {handout} \title{On the importance of \LaTeX\ in academia} \date{}\author{} \usepackage{lipsum} \begin{document} \maketitle \section{\TeX, the earlier days} \lipsum[1-2] \begin{notes}\lipsum[3]\end{notes} \section{Lamport's genius} \lipsum[5-6] \end{document} Which delivers: And my desired output after two runs, without then with notes, is something like this: Any help gratefully received. TIA.
- 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: