• Custom ToC entries in LaTeX June 2026 release
    by Alexander Perlis on July 2, 2026 at 12:07 am

    For certain documents I need the following: Periods after numbers both in numbered headings and in ToC entries. Centered single-line chapter titles, no extraneous vertical space. No extraneous vertical space between chapters in List of Tables / Figures. The word “Part” / “Chapter” / “Appendix” in ToC lines for part and chapter. Up until the June 2026 release of LaTeX, I achieved the above by modifying bits copied from book.cls: \def\numberline#1{\hb@xt@\@tempdima{#1.\hfil}} %% Add period after numbers in ToC \def\@chapter[#1]#2{ ... 4 lines unchanged code ... \addcontentsline{toc}{chapter}{\@chapapp\space\thechapter.\hspace{1em}#1}% %% Custom ToC ... 7 lines unchanged code ... %%\addtocontents{lof}{\protect\addvspace{10\p@}}% %% No extra blank lines in LoF %%\addtocontents{lot}{\protect\addvspace{10\p@}}% %% No extra blank lines in LoT ... 6 lines unchanged code ... } \def\@makechapterhead#1{% %%\vspace*{50\p@}% %% Eliminate vertical space {\parindent \z@ \centering \normalfont %% Centered ... 2 lines unchanged code ... \huge\bfseries \@chapapp\space \thechapter. %% Add period after number %%\par\nobreak\vskip 20\p@ %% Eliminate newline and vertical space ... 4 lines unchanged code ... %%\vskip 40\p@ %% Eliminate vertical space }} %% Similarly modified versions of \@makeschapterhead, \@part, \@spart The LaTeX June 2026 release uses the template mechanism for sectioning commands. I achieve my first three goals by editing appropriate key-value pairs: \def\numberline#1{\hb@xt@\@tempdima{#1.\hfil}} %% Add period after numbers in ToC \EditInstance{heading}{chapter} { , after-penalty-vspace = 0pt , after-vspace = \baselineskip , prefix = \@chapapp , number-format = \thechapter. , heading-decls = \centering \parindent0pt \bfseries \huge , title-decls = , contents-extra = , headformat-instance = std } \EditInstance{headformat}{std} { , heading-indent = 0pt , prefix-number-sep = \WordSpaceAmount{1} , number-title-sep = 0.5em } Kudos to the developers for providing this more convenient and robust approach! As for the ToC lines for part and chapter, is there a key-value pair that controls how \addcontentsline gets called?, or how should I control those lines?

  • Custom zref-clever reference format for a particular section
    by Sergey Slyusarev on July 1, 2026 at 9:11 pm

    Is there a way to use custom reference format for one specific section in zref-clever? \documentclass{article} \usepackage{zref-clever} \usepackage{hyperref} \begin{document} \section{Regular section}\label{sect:I} \section{Named section}\label{sect:namedsectionII} \section{Regular section}\label{sect:III} When I reference \zcref{sect:I}, \zcref{sect:III} or any other section, I need it to be displayed as usual, but when I reference \zcref{sect:namedsectionII} specifically, I need the reference to look like ``somename,'' instead of ``section 2'' every time I reference it, with the hyperref link still leading to ``section 2.'' I know I can just use hyperref like this: \hyperref[sect:namedsectionII]{somename}, but I want to use the same zref-clever syntax for all the sections, be able define `somename' once, and, if necessary, turn this custom formatting off in one place. \end{document}

  • Problems with table wrapped with text
    by Daniel Neskorodov on July 1, 2026 at 5:29 pm

    I have the following \documentclass[12pt,a4paper]{article} \usepackage{amsmath,amssymb} \usepackage{geometry} \usepackage{lipsum} \geometry{margin=2cm} \setlength{\parindent}{0pt} \renewcommand{\arraystretch}{1.25} \newsavebox{\leftbox} \begin{document} \begin{lrbox}{\leftbox} \begin{minipage}[t]{0.33\textwidth} \textbf{Given:}\hspace{2.5cm}\textbf{SI:} \vspace{2mm} \begin{tabular}{@{}l|l@{}} $m_1=120$ g & $0.12$ kg\\ $m_2=50$ g & $0.05$ kg\\ $c_1=4200\ \dfrac{\text{J}}{\text{kg}\cdot^\circ\text{C}}$ &\\ $c_2=920\ \dfrac{\text{J}}{\text{kg}\cdot^\circ\text{C}}$ &\\ $R=2\ \Omega$ &\\ $U=5$ V &\\ $\Delta t=12^\circ\text{C}$ &\\ $\eta=20\%$ &\\ \hline \multicolumn{2}{@{}l@{}}{\textbf{Find:}}\\ \multicolumn{2}{@{}l@{}}{$U-?$} \end{tabular} \end{minipage} \end{lrbox} \noindent \usebox{\leftbox} \hfill \begin{minipage}[t][\dimexpr\ht\leftbox+\dp\leftbox\relax][t]{0.64\textwidth} \textbf{Solution:} \vspace{2mm} \lipsum[1] \vfill \end{minipage} \lipsum[1-2] \end{document} which gives me this However I would like to write text in the right minipage as a continuous text without the need to break it (now it is causing problems with overlapping). I also would like to automatically left align the word 'SI' with the letters below it. It obviously comes from the fact that neither 'SI' or 'Given' are in the table, but that's on purpose - I need 'Given', 'SI' and 'Solution' to be on the same level vertically. How do I do that?

  • tabulary not stretching into column and text width
    by MadyYuvi on July 1, 2026 at 1:28 pm

    Tried with the below: (thanks to @David and @Stephan Is it possible to make an underfull tabulary spread out?): \documentclass[twocolumn]{article} \usepackage{lipsum} \usepackage{showframe} \usepackage{tabulary} \usepackage{etoolbox} \makeatletter \patchcmd\TY@checkmin {\def\TY@ratio{1}} {% \@tempdima\dimexpr\p@*\TY@linewidth/\TY@tablewidth\relax \edef\TY@ratio{\strip@pt\@tempdima}% }{}{} \let\TY@@checkmin\TY@checkmin \makeatother \begin{document} \lipsum[1-2] \begin{table} \caption{Table caption} \begin{tabulary}{\columnwidth}{@{\extracolsep\fill}LLLL@{\extracolsep\fill}} \hline 1 &2 &3 &4 \\ 1 &2 &3 &4 \\ 1 &2 &3 &4 \\ 1 &2 &3 &4 \\ \hline \end{tabulary} \end{table} \lipsum[1-2] \begin{table*} \caption{Table caption} \begin{tabulary}{\textwidth}{@{\extracolsep\fill}LLLL@{\extracolsep\fill}} \hline 1 &2 &3 &4 \\ 1 &2 &3 &4 \\ 1 &2 &3 &4 \\ 1 &2 &3 &4 \\ \hline \end{tabulary} \end{table*} \lipsum[1-3] \end{document} in the .log file, a warning message Package tabulary Warning: No suitable columns!, and the table doesn't stretched. Not sure what went wrong, please advise. I'm using Win11 and TL2024 and tabulary version tabulary 2024/06/04 v0.11 and XeLaTeX engine.

  • How to Increase the Spacing Between Arched Letters?
    by DDS on June 30, 2026 at 10:57 pm

    Consider the code: \documentclass[12pt]{book} \usepackage{tikz,xcolor} \usetikzlibrary{decorations.text} % Spaceout Algorithm \def\theLetterSpace{0.5pt} \def\theWordSpace{1.5\LocalLetterSpace} \newlength\LocalLetterSpace \newcommand\spaceout[2][\theLetterSpace]{% \setlength\LocalLetterSpace{#1}\expandafter\spaceouthelpA#2 \relax\relax} \def\spaceouthelpA#1 #2\relax{% \spaceouthelpB#1\relax\relax% \ifx\relax#2\else\ \kern\theWordSpace\spaceouthelpA#2\relax\fi } \def\spaceouthelpB#1#2\relax{% #1% \ifx\relax#2\else \kern\LocalLetterSpace\spaceouthelpB#2\relax% \fi } \begin{document} \thispagestyle{empty} Here is some text. \vspace{10pt} {\spaceout[2pt]{Here is some "spaced out" text.}} \vspace{65pt} \begin{tikzpicture} \draw[-latex,white,postaction={decorate},decoration={text along path, text={I WOULD LIKE TO INCREASE SPACING BETWEEN THESE ARCHED LETTERS},text color={blue!85!black},text align=center}] (7,0) arc [start angle=180,end angle=0,radius=8]; \end{tikzpicture} \end{document} which produces: The above "spaceout" algorithm (if I recall correctly) cf. Steven B. Segeletes. As you can see, I have encountered no difficulty in applying the algorithm to a regular sentence. However, I have not been apply to apply it correctly to the arched words above. QUESTION: How may I, using this algorithm or by some other method, increase the spacing between the displayed arched letters? I compile the code with xelatex. Thank you.

  • Get an overbrace over a matrix, with entries aligned with columns and rows of matrix
    by jayant on June 30, 2026 at 7:32 pm

    I am trying to get a matrix with an overbrace and sidebrace which looks like the following; I tried the following code so far, \documentclass[12pt]{article} \usepackage{epsfig} \usepackage{amssymb} %\usepackage[dvips]{color} \usepackage{amsmath} \usepackage{amsthm} \[ \begin{array}{ccc} \overbrace{\text{Col 1}}^{\text{Label A}} & %\overbrace{\text{Col 2 \quad Col 3}}^{\text{Label B}} & %\overbrace{\text{Col 4}}^{\text{Label C}} \\ \begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{bmatrix} \end{array} \] \end{document} But it is not giving the desired output. Kindly help.

  • Line endings in catchfilebetweentags
    by Jim Hefferon on June 30, 2026 at 7:26 pm

    I have a textbook, and from it I have derived slides. To ensure that the slide contents match the book's I use catchfilebetweentags. I'm now working on the book's new edition and this package still correctly fetches the material between the tags, but it now omits spaces where the source file book.tex has line endings. Here is the derived file slides.tex. \documentclass{article} \usepackage{catchfilebetweentags} \newcommand{\catchfilefn}{book.tex} \begin{document} Introductory text \ExecuteMetaData[\catchfilefn]{firsttag} \ExecuteMetaData[\catchfilefn]{secondtag} \end{document} Here is the source file book.tex. \documentclass{book} \usepackage{blindtext} \begin{document} \blindtext %<*firsttag> Contents of first tag. This is a sentence with a line break in the middle. %</firsttag> \blindtext %<*secondtag> Contents of \textit{second} tag. One word has an\index{test} index entry. %</secondtag> \blindtext \end{document} In the output slides.pdf there is no space between the tag. and This. Similarly there is no space between a and line. Linewise for tag. and One, and an and index. I have used this package for years and not seen this behavior (its last update on CTAN is 2011). I have today's TeX Live.

  • Dimensionating of color blocks in a matrix
    by Carl Anderson on June 30, 2026 at 3:57 pm

    By using nicematrix package and command \Block, I'm struggling to reduce the width and height of block colors, separately. Any hint? Below, find the code: \documentclass{article} \usepackage{nicematrix,tikz} \begin{document} \begin{equation*} \begin{bNiceArray}{cccc|c}[columns-width=5pt,margin] \Block[fill=red]{2-4}{} a_{11} & a_{12} & a_{13} & a_{14} & \Block[fill=yellow]{3-1}{} a_{15} \\ a_{21} & a_{22} & a_{23} & a_{24} & a_{25} \\ a_{31} & a_{32} & a_{33} & a_{34} & a_{35} \end{bNiceArray} \end{equation*} \end{document}

  • how to align axis-coordinate system with tikzpicture-coordinate system
    by flawr on June 30, 2026 at 3:13 pm

    I'd like to use a pgfplots axis environment to render some plots. I'd like them to be aligned with the surrounding TiKz graphics. However, I have not yet managed to find the correct options. I'm also only interested in the plotted line itself, so no ticks or axes need to be drawn in addition. So far I have this (failed) example. My goal would be aligning the coordinate system the axis environment such that the two curves are right on top of each other. With the width/height I assumed I could set the exact dimensions, but that already seems to be off. Is there a way to modify this axis-environment to match the coordinate system of the tikzpicture-environment? \documentclass{standalone} \usepackage{tikz} \usepackage{pgfplots} \pgfplotsset{compat=1.18} \begin{document} \begin{tikzpicture} \draw[lightgray] (-2, -3) grid (4, 4); \fill[lightgray] (0,0) circle (0.2); % origin \draw[green] plot [red, domain=-2:4, samples=200] (\x, {exp(-abs(\x)^2)}); \begin{axis}[ xtick=\empty, ytick=\empty, hide axis, xmin=-2, xmax=4, axis equal, width=6cm, height=7cm, anchor=south west, at={(-2cm,-2cm)}, ] \addplot [red, domain=-2:5, samples=200] (\x, {exp(-abs(\x)^2)}); \end{axis} \end{tikzpicture} \end{document}

  • skak, xskak, chessboard use black symbols font in move notation
    by Jielpe on June 30, 2026 at 12:40 pm

    I'm writing chesboards and move notation, I would like to use a black symbol when writing black move, \documentclass{article} \usepackage{xskak} \begin{document} \newchessgame \mainline[style=styleC]{1. d4 d5 2. Bf4 Nf6} \end{document} The knight symbol is the one from the white font, I'd like it to be the black one, not sure if i'm clear... [edit] I found another question related : Chess notation: Switch between color and notation style I've tried using what i've foud there but it doesn't seems to work with the styleC i'm using, \documentclass{article} \usepackage{xskak} \makeatletter \def\cfssfixbaseline#1{\raisebox{-0.31ex}{\setboardfontsize{\f@size}#1}} \def\useblackfig{\def\cfss@figlanguage{@BLSB}} \def\usewhitefig{\def\cfss@figlanguage{@WLSB}} \def\cfss@king@@WLSB{\cfssfixbaseline{\cfss@WhiteKingOnWhite}} \def\cfss@queen@@WLSB{\cfssfixbaseline{\cfss@WhiteQueenOnWhite}} \def\cfss@rook@@WLSB{\cfssfixbaseline{\cfss@WhiteRookOnWhite}} \def\cfss@bishop@@WLSB{\cfssfixbaseline{\cfss@WhiteBishopOnWhite}} \def\cfss@knight@@WLSB{\cfssfixbaseline{\cfss@WhiteKnightOnWhite}} \def\cfss@pawn@@WLSB{\cfssfixbaseline{\cfss@WhitePawnOnWhite}} \def\cfss@king@@BLSB{\cfssfixbaseline{\cfss@BlackKingOnWhite}} \def\cfss@queen@@BLSB{\cfssfixbaseline{\cfss@BlackQueenOnWhite}} \def\cfss@rook@@BLSB{\cfssfixbaseline{\cfss@BlackRookOnWhite}} \def\cfss@bishop@@BLSB{\cfssfixbaseline{\cfss@BlackBishopOnWhite}} \def\cfss@knight@@BLSB{\cfssfixbaseline{\cfss@BlackKnightOnWhite}} \def\cfss@pawn@@BLSB{\cfssfixbaseline{\cfss@BlackPawnOnWhite}} % % https://tex.stackexchange.com/a/312066/46023 \def\instring#1#2{TT\fi\begingroup \edef\x{\endgroup\noexpand\in@{#1}{#2}}\x\ifin@} % \def\isuppercase#1{% \instring{#1}{ABCDEFGHIJKLMNOPRSTUVYZ}% }% \makeatother \def\FirstArgX{text} \newcommand\skaksymb[2][]{\begingroup% \def\SecondArgX{#1}% \ifx\FirstArgX\SecondArgX \usetextfig\textsymfigsymbol{#2}\else% \if\isuppercase{#2}\textsymfigsymbol{#2}% \usewhitefig \else% \useblackfig\textsymfigsymbol{#2}\fi\fi% \endgroup} \begin{document} \xskaknewstyleitem[% template=UF,% I tried putting styleC here beforewhite={\usewhitefig}, beforeblack={\useblackfig}, afterblack=\color{black}\hspace{1.25ex} ]{myitems} \xskakaddtostyle[% font=\normalfont, styleitem=myitems ]{test} \newchessgame \hidemoves{1.d4 d5 2. Bf4 Nc6 } \printchessgame[style=test] \end{document} Gives :

  • Parskip and itemize packages - space after and before itemize depending on surrounding text
    by Zlog on June 30, 2026 at 11:04 am

    Below is my MWE: \documentclass[a4paper]{article} \usepackage{enumitem} \usepackage[skip=\baselineskip]{parskip} \setlist[itemize]{nosep} \newenvironment{nospitemize}{% \begin{itemize}[topsep=-\parskip]% }{ \end{itemize}% \leavevmode% } \begin{document} aaaa \begin{nospitemize} \item first item \item second item \end{nospitemize} bbbb \begin{nospitemize} \item first item \item second item \end{nospitemize} cccc \begin{nospitemize} \item first item of list that should be in "new" paragraph \item second item \end{nospitemize} dddd \end{document} What I want is so that \nospitemize does not start new paragraph on its own and also does not prevent from starting it. So the same as in code "aaaa", "bbbb" and "dddd" should stick to lists, but "cccc" should be in different paragraph then lists (at least visually). The closest I got is by also adding \leavevmode at the begining: \newenvironment{nospitemize}{% \leavevmode% \begin{itemize}[topsep=-\parskip]% }{ \end{itemize}% \leavevmode% } but that creates too large space between "cccc" and next itemize

  • How to have multiple hyperlinks in a TikZ picture with alt text and valid tagging?
    by Senex on June 30, 2026 at 10:02 am

    In the MWE below, the TikZ picture is a ‘roadmap’ showing how various lemmas combine in a proof (vastly simplified from my original), and I would like to have the hyperlinked \refs to the lemmas (which are spread over multiple pages in my original). But with alt={...}, VeraPDF complains that Link annotations that target different locations shall be in separate Link or Reference structure elements If I remove alt={...}, the PDF passes validation. If I change \ref to \ref* to remove the hyperlinks, the PDF passes validation. If there is only one hyperlink in the TikZ picture, the PDF passes validation. The same problem occurs replacing on alt={...} with artifact. I understand that tagging is in development, but is there any quick fix or workaround that allows multiple hyperlinks in a TikZ picture with alt text? (Or is there perhaps some fundamental incompatibility with tagging multiple hyperlinks inside a TikZ picture?) MWE: \DocumentMetadata{ pdfversion=2.0, pdfstandard=UA-2, lang=en-GB, tagging=on, } \documentclass{article} \usepackage{unicode-math} \usepackage{hyperref} \usepackage{tikz} \newtheorem{lemma}{Lemma} \title{Test} \begin{document} Roadmap of proving the theorem: \begin{tikzpicture}[alt={Roadmap}] \node (A) at (0,0) {$A$}; \node (B) at (2,0) {$B$}; \node (C) at (4,0) {$C$}; \draw[->] (A) edge node[auto] {Lem.~\ref{lem:ab}} (B); \draw[->] (B) edge node[auto] {Lem.~\ref{lem:bc}} (C); \end{tikzpicture} \begin{lemma} \label{lem:ab} If $A$, then $B$. \end{lemma} \begin{lemma} \label{lem:bc} If $B$, then $C$. \end{lemma} \end{document}

  • Why does physics enlarge brackets after \exp[...] but not after \log[...] or \ln[...]? [closed]
    by Firestar-Reimu on June 30, 2026 at 9:43 am

    I'm using the physics package and noticed an inconsistent behavior of its automatic delimiter feature. According to the package documentation, automatic bracing is extended to functions such as \exp, \log, \ln, \det, and \Pr. However, I found that parentheses and square brackets behave differently. Here is a minimal example: \documentclass{article} \usepackage{physics} \begin{document} \[ \exp[\frac{1}{x}] \] \[ \log[\frac{1}{x}] \] \[ \ln[\frac{1}{x}] \] \[ \det[\frac{1}{x}] \] \[ \Pr[\frac{1}{x}] \] \[ \exp(\frac{1}{x}) \] \[ \log(\frac{1}{x}) \] \[ \ln(\frac{1}{x}) \] \[ \det(\frac{1}{x}) \] \[ \Pr(\frac{1}{x}) \] \end{document} However, with the shorthand syntax, I observe the following behavior: \exp[...] → square brackets are automatically resized. \det[...] → square brackets are automatically resized. \Pr[...] → square brackets are automatically resized. \log[...] → square brackets are not resized. \ln[...] → square brackets are not resized. On the other hand, parentheses work correctly for all five functions: \exp(\frac{1}{x}) \log(\frac{1}{x}) \ln(\frac{1}{x}) \det(\frac{1}{x}) \Pr(\frac{1}{x}) all produce automatically sized parentheses. The physics manual only shows examples with parentheses, so I'm not sure whether the behavior for square brackets is intended. Also, if I use \ln\qty[\frac{1}{x}] and \log\qty[\frac{1}{x}], it can produce automatically sized parentheses. Question: Is this an intentional design choice, or is it a bug/inconsistency in physics? If intentional, why do \exp, \det, and \Pr accept automatic square brackets while \log and \ln do not?

  • Itemize bullets changed when loading fontsetup
    by rahotep on June 29, 2026 at 8:39 pm

    I am experiencing a unexpected interaction between the New Computer Modern fonts and the bullets used for itemize environments. They are replaced by squared bullets and I didn't see any reference about it the documentation. Here is a MWE % !TEX TS-program = lualatex \documentclass[12pt,a4paper]{article} \usepackage[sansdefault]{fontsetup} \usepackage{lipsum} \begin{document} \lipsum[1][1-5] \begin{itemize} \item item 1 \item item 2 \item item 3 \end{itemize} \lipsum[1][1-5] \end{document}

  • `memoize` and `PGFPlots`: multiple graphs get "merged" into one?
    by Thibault de Villèle on June 29, 2026 at 12:08 pm

    I've got a bunch of figures which are PGFPlots elements side by side, as such: \begin{figure}[ht]% \centering% \begin{subfigure}{.49\textwidth}% \centering% \sizedplot{../path/to/plot-dir/bunny-multires}{p1-rmse.tikz}% \end{subfigure}\hfill% \begin{subfigure}{.49\textwidth}% \centering% \sizedplot{../path/to/plot-dir/bunny-multires}{p1-times-graph.tikz}% \end{subfigure}\\[1pt]% % Note: the `bunny-multires-plot` key is defined as the "legend name" in p1-rmse.tikz: \pgfplotslegendfromname{bunny-multires-plot}% \caption{Blah, blah, blah.}% \label{fig/bunny-multires}% \end{figure}% Where the \sizedplot command is defined as such: \NewDocumentCommand{\sizedplot}{s O{\textwidth} m m}{% \bgroup% \def\basepath{#3}% \def\fullpath{\basepath/#4}% \mmznext{meaning to salt={\fullpath}}% \begin{memoize}% \IfBooleanTF{#1}% If star, do not resize to #2. {\begin{tikzpicture}\input{\fullpath}\end{tikzpicture}}% {\resizebox{#2}{!}{\begin{tikzpicture}\input{\fullpath}\end{tikzpicture}}}% \end{memoize}% \egroup% }% This indirection is mainly due to the fact I include data from CSV files relative to the path of the plots, like: \addplot table [options] {\basepath/losses.csv}. When doing this, and enabling external compilation through the use of the memoize package, both graphs (the subfigure elements) are detected as the same "source", leading to one of the graphs (often the second one in the order they were defined) being copied in both sub-figures after memoization + recompilation. What could go wrong here? I've added -- as shown above -- the full path as a source for the salt in memoize's options, hoping they would thus get detected as two different graphs, but nothing seems to make that specific use case work. If I only have one TikZ / PGFPlots image in a figure environment, it compiles just fine. Here is a MWE, with all contents laid inline (sorry, the file is a bit long as a result): \documentclass{scrarticle} \usepackage{subcaption} \usepackage{siunitx} \usepackage{tikz} \usepackage{pgfplots} % IMPORTANT: switch this on/off to see the changes. \usepackage{nomemoize} %\usepackage{memoize} \NewDocumentCommand{\ValeurLegende}{m}{\num[output-exponent-marker=e,tight-spacing=true]{#1}}% \NewDocumentCommand{\ValeurAnnotation}{m}{\bgroup\scriptsize\num[output-exponent-marker=e,tight-spacing=true]{#1}\egroup}% \mmzset{padding=0pt, include context in ccmemo, trace} \pgfplotsset{% rmse/.style={table/col sep=comma,table/x={iteration}, table/y={classic}},% timings/.style={table/col sep=comma,table/x={iteration}, table/y={time-ms}},% }% \NewDocumentCommand{\sizedplot}{s O{\textwidth} m m}{% \bgroup% \def\basepath{#3}% \def\fullpath{\basepath/#4}% \mmznext{meaning to salt={\fullpath}}% \mmznext{meaning to context={\fullpath}}% \begin{memoize}% \IfBooleanTF{#1}% If star, do not resize to #2. {\begin{tikzpicture}\input{\fullpath}\end{tikzpicture}}% {\resizebox{#2}{!}{\begin{tikzpicture}\input{\fullpath}\end{tikzpicture}}}% \end{memoize}% \egroup% }% \begin{filecontents}{inline-loss-1.csv} iteration,time-ms,loss-abs,loss-cen,loss-fro 0,217.78973,9.07334387e-02,3.75475502e-04,2.29247450e-03 1,13.39216,8.98691937e-02,3.73302639e-04,3.80451954e-03 2,11.54511,8.92234743e-02,3.69715272e-04,4.83295647e-03 3,11.24531,8.90074968e-02,3.68322566e-04,5.51446620e-03 4,11.06645,8.86987820e-02,3.66538385e-04,6.02372689e-03 5,11.16146,8.89326632e-02,3.68111941e-04,6.37550279e-03 6,11.35311,8.90174806e-02,3.68967390e-04,6.63577626e-03 \end{filecontents} \begin{filecontents}{inline-loss-7.csv} iteration,time-ms,loss-abs,loss-cen,loss-fro 0,440.79675,4.83646780e-01,8.67330883e-08,4.42878436e-03 1,120.62730,4.86005545e-01,9.31322575e-10,5.97733771e-03 2,121.23386,4.86002266e-01,9.31322575e-10,6.64955098e-03 \end{filecontents} \begin{filecontents}{inline-rmse-1.csv} iteration,classic,normalized,normalizedpercent 00000,2.43285656e-01,1.58218700e+00,158.22 00001,8.82571621e-04,2.21190803e-01,22.12 00002,8.10880039e-04,2.27497900e-01,22.75 00003,7.84764765e-04,2.19129181e-01,21.91 00004,7.73038832e-04,2.14945569e-01,21.49 00005,7.67099671e-04,2.28823943e-01,22.88 00006,7.63582473e-04,2.29091554e-01,22.91 \end{filecontents} \begin{filecontents}{inline-rmse-7.csv} iteration,classic,normalized,normalizedpercent 00000,2.43285656e-01,1.58218700e+00,158.22 00001,7.45367841e-04,1.91473720e-01,19.15 00002,6.76008989e-04,1.71335431e-01,17.13 \end{filecontents} \begin{filecontents}{inline-rmse.tikz} \begin{semilogyaxis}[% width=7cm,% height=5cm,% legend columns=7,% legend to name={plot-loss},% xtick pos=bottom,% ytick pos=left,% ylabel={\texttt{Losses}},% ]% \addplot table [rmse] {\basepath/inline-rmse-7.csv};% \addlegendentry{\(\epsilon=\ValeurLegende{1e-7}\)}% \addplot table [rmse] {\basepath/inline-rmse-1.csv};% \addlegendentry{\(\epsilon=\ValeurLegende{1e-1}\)}% \end{semilogyaxis}% \end{filecontents} \begin{filecontents}{inline-timings.tikz} \begin{semilogyaxis}[% width=7cm, height=5cm,% xtick pos=bottom, ytick pos=left,% ylabel={\(t_i~(\unit{\milli\second})\)}, log ticks with fixed point,% ]% \addplot table [timings] {\basepath/inline-loss-7.csv};% \addplot table [timings] {\basepath/inline-loss-1.csv};% \end{semilogyaxis}% \end{filecontents} \begin{document} \begin{figure}[ht]% \centering% \begin{subfigure}{.49\textwidth}% \centering% \sizedplot{.}{inline-rmse.tikz}% \end{subfigure}\hfill% \begin{subfigure}{.49\textwidth}% \centering% \sizedplot{.}{inline-timings.tikz}% \end{subfigure}\\[1pt]% \pgfplotslegendfromname{plot-loss}% \caption{Blah, blah, blah.}% \label{fig/losses}% \end{figure}% \end{document} Passing include context in ccmemo and trace both helped me discover memoize does not expand the macro \fullpath when trying to memoize the second graph (inline-timings.tikz). Instead, it only receives this bit of code to generate the hash: Code: \IfBooleanTF {\BooleanFalse }{\begin {tikzpicture}\input {\fullpath }\end {tikzpicture}}{\resizebox {\textwidth }{!}{\begin {tikzpicture}\input {\fullpath }\end {tikzpicture}}} And since it is the same for both pictures, this means the second graph (encountered later) will be saved under the "common" hash when compiling for the first time, leading to the graphs being the same on the final PDF... Now that I've discovered the cause, I need to dig deeper into why it happens 🙂

  • mhchem negative charge signs changes in math environments
    by Bekir Şahin on June 29, 2026 at 10:18 am

    While using ce in the body, the - signs for the charge looks smaller. However, while using it in a math environment, the minus sign gets elongated and becomes more pronounced, which looks completely different than the previous one. I am using New CM, with lualatex. Is there a bypass for that? \ce{B-} \(\ce{B-}\), \ce{B+} \(\ce{B+}\), \ce{B^{2-}} \(\ce{B^{2-}}\), \ce{B^{2+}} \(\ce{B^{2+}}\)

  • Node label style in TikZ cd
    by CarLaTeX on June 29, 2026 at 7:47 am

    Is it possible to set the font style of the node labels in tikz-cd? Pay attention: the node labels, not the arrow labels or the node itself. I tried with every label/.append style={font=\scriptstyle,}, but it doesn't work. In the following MWE, I would like to have all the node labels \scriptstyle, without writing it in every label. \documentclass{article} \usepackage{tikz-cd} \tikzset{punto/.style={ circle, fill=red, inner sep=2pt } } \begin{document} \begin{tikzcd}[ cells={nodes={punto}}, ] |[label=left:{\scriptstyle 1}]| & |[label=right:{\scriptstyle 2}]|\\ |[label=left:{\scriptstyle 3}]| & |[label=right:{\scriptstyle 4}]|\\ \end{tikzcd} \end{document}

  • draw line shadow or outline
    by Abd el hamid BENAOUM on June 29, 2026 at 12:01 am

    I am trying to draw a line in TikZ between two arbitrary points, for example, from $A(0,0)$ to $B(3,5)$, where the gradient (degradation) runs perpendicularly (transversely) to the path itself. The line should be solid black in the exact center and fade smoothly to white/transparent on both the top and bottom edges, looking like a soft or blurred brush stroke. like this: I managed to approximate this by drawing a manual path with calc offsets and calculating the specific shading angle manually: \begin{tikzpicture} % Define coordinates for the horizontal path (center-line) % A is the starting point, B is the ending point \coordinate (A) at (0,0); \coordinate (B) at (6,0); % Create a vertical degradation (fading) using a shaded rectangle. % We define a rectangle centered on the line, where: % - top color fades to white % - bottom color fades to white % - middle color is solid black % Adjust the height (e.g., 0.6cm) to make the bar and blur thicker or thinner. % Adjust the width (the X coordinate of B) to make it longer or shorter. \shade[top color=white, bottom color=white, middle color=black, line cap=butt] ($(A) + (0, 0.3cm)$) rectangle ($(B) + (0, -0.3cm)$); \end{tikzpicture}

  • Stacking diacritics to small capitals
    by Antonis on June 28, 2026 at 1:36 pm

    A user asked how to stack diacritics on small capitals in NewCM. Small capitals are accessible via scmp from lowercase and via c2sc from uppercase, but stacking fails. For example, when A is followed by U+0304 (combining macron) with c2sc enabled, the letter switches to the plain capital A. When U+0304 is removed, the small capital A is produced correctly. NewCM contains information for stacking diacritics on its small capitals as well, but it seems there is a bug in the engine, or something else is happening that I do not understand. Here is an MWE: \documentclass{article} \usepackage[default]{fontsetup} \begin{document} \addfontfeatures{RawFeature=+c2sc} \textsc{ā, ī, ū, ṭ, ḍ, ḷ, ṁ, ṃ, ṇ, ṅ, ñ} \textsc{a}̄ \textsc{a} A Ā \end{document} Notice that small-cap n with tilde works because this character is precomposed in the font, but we cannot expect the font to have all characters precomposed, which is why we need stacking. The output is erratic. The line \textsc{a}̄ does not result from stacking but from the negative width of the macron, which is why it is not centered. Note that you may find another font that produces correct output, but this will only be because it has the above characters precomposed. Stacking still fails. We cannot precompose everything.

  • Straight lines in a matrix
    by Andy Fletcher on June 28, 2026 at 12:14 pm

    I'm trying to draw straight lines in a matrix using nicematrix, and I achived the code: \documentclass{article} \usepackage{nicematrix,tikz} \begin{document} \begin{equation*} \begin{bNiceMatrix} \CodeBefore[create-cell-nodes] \begin{tikzpicture} %\draw[blue,-] (3-1) -- (4-2) ; %\draw[blue,-] (4-2) -- (3-4) ; \draw[blue,-] (3-1.north west) -- (4-2.south east) ; \draw[blue,-] (4-2.south east) -- (3-4.north east) ; \end{tikzpicture} \Body a_{11} & a_{12} & a_{13} & a_{14} \\ a_{21} & a_{22} & a_{23} & a_{24} \\ a_{31} & a_{32} & a_{33} & a_{34} \\ a_{41} & a_{42} & a_{43} & a_{44} \end{bNiceMatrix} \end{equation*} \end{document} My problem is the straight lines are not centered in the entries of the matrix (see image below); I considered also \draw[blue,-] (3-1) -- (4-2) ; \draw[blue,-] (4-2) -- (3-4) ; instead of \draw[blue,-] (3-1.north west) -- (4-2.south east) ; \draw[blue,-] (4-2.south east) -- (3-4.north east) ; but in this case the two line are not linked. Any hint (desirably keeping the matrix created by nicematrix)? Thanks.

  • ! TeX capacity exceeded, sorry [save size=500000]. How to increase limit?
    by Nasser on June 28, 2026 at 7:16 am

    I have large document with many \label{} and another document which does reference on these. This below is MWE to produce this error I get on my real document ! TeX capacity exceeded, sorry [save size=500000]. I tried to increase it in texmf.cnf but had no effect. (did rehash and rebuild formats, etc...) Is this hardcoded in lualatex? Is there a way to increase it? I know how to rebuild lualatex from source. I just now do not know where to look for this limit if it is hardcoded there or not to change it. \documentclass{book} \usepackage{hyperref} \begin{document} \chapter{A} \directlua{ for i = 1, 800000 do tex.print("\\section{" .. i .. "}\\label{".. i .."}") tex.print("some text") end } \end{document} Compile with lualatex gives (/usr/local/texlive/2026/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty (/usr/local/texlive/2026/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty ))) (/usr/local/texlive/2026/texmf-dist/tex/latex/l3backend/l3backend-luatex.def) (./A.aux) (./A.out) (./A.out ! TeX capacity exceeded, sorry [save size=500000]. \Hy@pstringdef ...->\begingroup \edef ~{\string ~} \xdef \Hy@gtemp {\pdf@esca... l.499937 ...4\0009\0009\0009\0003\0006}{chapter.1} % 499937 382 words of node memory still in use: 2 hlist, 1 rule, 1 dir, 3 kern, 1 glyph, 3 attribute, 49 glue_spec, 3 attrib ute_list, 1 if_stack, 1 write nodes avail lists: 2:12,3:2,4:1,5:3,6:1,7:2,9:3 ! ==> Fatal error occurred, no output PDF file produced! Transcript written on A.log. > info >which lualatex /usr/local/texlive/2026/bin/x86_64-linux/lualatex >lualatex --version This is LuaHBTeX, Version 1.24.0 (TeX Live 2026) Development id: 7724 I asked google AI but it did not know.

  • How to remove the `:n` specifier when calling `\getdata:n { h }`?
    by xcn on June 28, 2026 at 4:41 am

    If I replace in: \cs_new:Nn \getdata:n { \prop_item:Nn \g_landingslab_data_prop {#1} } \cs_set:Npn \getdata #1 { \prop_item:Nn \g_landingslab_data_prop {#1} } then I can use \getdata{ h } instead of \getdata:n { h } , is it the correct way to do this ? \documentclass[12pt]{article} \usepackage[UTF8]{ctex} \usepackage{amsmath,siunitx} \ExplSyntaxOn \prop_new:N \g_landingslab_data_prop \cs_new:Nn \getdata:n { \prop_item:Nn \g_landingslab_data_prop {#1} } \cs_new:Nn \putdata:nn { \prop_put:Nnn \g_landingslab_data_prop {#1} {#2} } \keys_define:nn { landingslab } { width .code:n = { \putdata:nn { width } {#1} }, length .code:n = { \putdata:nn { length } {#1} }, h .code:n = { \putdata:nn { h } {#1} }, c .code:n = { \putdata:nn { c } {#1} }, d .code:n = { \putdata:nn { d } {#1} }, s .code:n = { \putdata:nn { s } {#1} }, frontfaceload .code:n = { \putdata:nn { frontfaceload } {#1} }, rearfaceload .code:n = { \putdata:nn { rearfaceload } {#1} }, } \cs_new_protected:Nn \l_landingslab_calc:n { \keys_set:nn { landingslab } {#1} \putdata:nn { h0 } { \fp_eval:n { \getdata:n { h } - \getdata:n { c } - \getdata:n { d } / 2 } } landing~slab~thickness: ~$ h = \getdata:n { h } \, \unit{mm} $\par slab~effective~depth:~$ h\sb 0 = \getdata:n { h0 }\, \unit{mm} $\par } \NewDocumentCommand{\stairPTB}{m}{ \l_landingslab_calc:n {#1} } \ExplSyntaxOff \begin{document} \begin{center}{\large\bfseries civil air\ defence\ stair }\end{center} \stairPTB{ width = 1.5, length = 2.9, h = 120, c = 20, d = 12, s = 200, frontfaceload = 60, rearfaceload = 30 } \end{document}

  • Formatting long division without the longdivision package
    by Matt on June 28, 2026 at 3:59 am

    I'm trying to make a worksheet where students need to fill out parts of a long division statement. I usually use the longdivision package, but realized that I can't cover up parts of it for students to fill out. Any suggestions? I've attached an image for reference.

  • Display and execute Latex code with Piton
    by Mariuslp on June 27, 2026 at 10:36 pm

    I am trying to replicate an example in the nicematrix guide, using piton to display latex code, execute it, and add an annotation with the code. However, while the code gets correctly displayed and annotated, the matrix is not displayed. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% MUST USE LuaLatex %%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass{article} \usepackage{amsmath} \usepackage{piton} % using github version from 2026-06-27 since 'annotation' key comes from oct. 2025 and is not available on overleaf yet % copy-pasted files piton.lua and piton.sty % Taken from https://github.com/fpantigny/nicematrix/blob/master/nicematrix.tex#L78 \let\myrlap\rlap \PitonOptions{language = verbatim, detected-commands = {myrlap, emph,textsl}, splittable = 4} \SetPitonStyle{ Number = , Comment = } \ExplSyntaxOn \dim_new:N \l__pantigny_width_dim \keys_define:nn { pantigny } { width .dim_set:N = \l__pantigny_width_dim , annotation .code:n = \PitonOptions { annotation = #1 } } \NewPitonEnvironment { Code } { O { } } { \char_set_catcode_other:N | \cs_set_eq:NN \emph \emphase \dim_zero:N \l__pantigny_width_dim \PitonOptions { annotation,indent-broken-lines,continuation-symbol=\empty,end-of-broken-line=\empty, continuation-symbol-on-indentation=\hspace{2em} } \keys_set:nn { pantigny } { #1 } \color{gray} \dim_compare:nNnT \l__pantigny_width_dim > \c_zero_dim { \PitonOptions { width = \l__pantigny_width_dim } \begin{minipage}[c]{\l__pantigny_width_dim} } } { \dim_compare:nNnT \l__pantigny_width_dim > \c_zero_dim { \end{minipage} } } \ExplSyntaxOff \begin{document} displays the code but not the matrix: \begin{Code}[width=9cm] $\begin{pmatrix} \frac{1}{2} & -\frac{1}{2}\\ \frac{1}{3} & \frac{1}{4} \\ \end{pmatrix}$ \end{Code} matrix can get normally displayed: $\begin{pmatrix} \frac{1}{2} & -\frac{1}{2}\\ \frac{1}{3} & \frac{1}{4} \\ \end{pmatrix}$ \end{document} What am I doing wrong? Alternatively, if there is a way to obtain a similar result with tcblisting (code displayed and executed + pdf annotation using e.g. pdfcomment, that works for me too. Bonus points for latex syntax highlighting.

  • Context: How to add small font verbatim text to image caption?
    by Nasser on June 26, 2026 at 11:59 pm

    I have been working with google AI on this for one hr, the AI even gave up and suggested I try tex stackexchange. I simply want to add caption to an image. Easy, right? but the trick part is that part of the caption is verbatim and in small font. Here is the latex version \documentclass{article} \usepackage{graphicx} \begin{document} \begin{figure} \centering \includegraphics[width=0.7\textwidth]{example-image-a} \caption[]{verview of EJB security concepts. \tiny{ejb\_sec\_1.vsd}} \end{figure} \end{document} Compiled with lualatex gives The problem is how to translate the caption to context. Here are two trials out of dozen or so and none of them worked. \starttext \placefigure {verview of EJB security concepts. {\tpx ejb\_sec\_1.vsd}}%caption {\externalfigure[dummy][width=0.7\textwidth]} \placefigure {verview of EJB security concepts. {\tpx\type{ejb_sec_1.vsd}}}%caption {\externalfigure[dummy][width=0.7\textwidth]} \stoptext Both give long compile errors. This below works \starttext \placefigure {verview of EJB security concepts. \type{ejb_sec_1.vsd}} {\externalfigure[dummy][width=0.7\textwidth]} \stoptext But I want the text ejb_sec_1.vsd to be in small/tiny font. And this is where google AI could not figure how to do it. It tried to explain to me why this works in Latex something related to immediate macro expansion but in context it is passing things to lua engine and all that. All of it was over my head. Is there a simple way to do this in context? TL 2026 on linux

  • tcolorbox: Using tikz pattern for drop shadow
    by Craig on June 26, 2026 at 6:21 pm

    MWE: \documentclass{standalone} \usepackage{tcolorbox,tikz} \usetikzlibrary{patterns,patterns.meta} \begin{document} \begin{tcolorbox}[ sharp corners, rounded corners=downhill, ] Hello world \end{tcolorbox} \end{document} I have a tcolorbox. I would like the drop shadow to be made of the tikz pattern north east lines. I know tikz patterns can be used to fill parts of the tcolorbox itself (such as with title style={preaction={fill=white},pattern=crosshatch dots,pattern color=black}), but can this same trick also be used for drop shadows?

  • Interaction between drawing something in the background and a page of floats
    by Werner on June 26, 2026 at 3:59 am

    In the following setup, I have a couple of images that forms part of a very large figure. The float ends up on a page of floats (on its own), because of the size. I plan on drawing some elements in the background, simulated by the background fill being the example images via \AddToHookNext{shipout/background}{<background drawing>}: \documentclass{article} \usepackage{lipsum,tikz} \begin{document} \lipsum[1-2] \begin{figure} \centering \tikz [remember picture] \node [inner sep = 10pt] (image-a) {\includegraphics[width = 0.5\linewidth]{example-image-a}}; \bigskip \tikz [remember picture] \node [inner sep = 10pt] (image-b) {\includegraphics[width = 0.5\linewidth]{example-image-b}}; \bigskip \tikz [remember picture] \node [inner sep = 10pt] (image-c) {\includegraphics[width = 0.5\linewidth]{example-image-c}}; \caption{A large figure} \AddToHookNext{shipout/background}{% \begin{tikzpicture}[remember picture, overlay] \filldraw [draw = red, fill = red!10!white, thick] (image-a.south west) rectangle (image-a.north east); \filldraw [draw = blue, fill = blue!10!white, thick] (image-b.south west) rectangle (image-b.north east); \filldraw [draw = green, fill = green!10!white, thick] (image-c.south west) rectangle (image-c.north east); \end{tikzpicture}} \end{figure} \lipsum[3-10] \end{document} Using this approach, however, puts the background drawing on the page where the original figure is processed, rather than where the actual figure is placed. How can I adjust the code so that the background content is placed correctly on the page where the float ends up? Ideally I'd like to keep the code as part of the figure as it semantically belongs with the figure, rather than placing it at some other bizarre place in the document just to make sure it fits there.

  • How can I generate random numbers that are unique using pgftikz?
    by Matt on June 25, 2026 at 7:50 pm

    I am trying to generate worksheets where each time \A is called for in the document, a random number is generated. I use \NewNumbers to make sure each \A within a section is identical. How can I make it so that each \A after the \NewNumbers command is different? \documentclass[addpoints, 12pt, answers]{exam} \usepackage[margin=1in]{geometry} \usepackage{amsmath, amssymb, lmodern, pgfmath, tikz, tcolorbox, multicol} \renewcommand{\familydefault}{\sfdefault} \pointformat{} \renewcommand{\TheSolution}[1]{ \pgfmathparse{#1 <= 1 ? "Neither" : (isprime(#1) ? "Prime" : "Composite")} \pgfmathresult } \pgfmathsetseed{1} \newcommand{\NewNumbers}{ \pgfmathsetmacro{\A}{random(0,100)} } \begin{document} \printanswers \begin{questions} \begin{multicols}{3} \NewNumbers \question[1] $\A$ \fillin[\TheSolution{\A}] \NewNumbers \question[1] $\A$ \fillin[\TheSolution{\A}] \NewNumbers \question[1] $\A$ \fillin[\TheSolution{\A}] \end{multicols} \end{questions} \end{document}

  • Using TikZ-CD's "shift left" outside TikZ-CD (in a "\draw")
    by Eduardo Ochs on June 25, 2026 at 7:11 pm

    The manual for TikZ-CD has a section called "3.3 Drawing diagrams directly with TikZ" that shows how to use the TikZ-CD styles "outside Tikz-CD". For example, "shift left" and "shift right" are styles defined in tikzlibrarycd.code.tex, and by default they only work inside a \begin{tikzcd}...\end{tikzcd} block; the tricks from section 3.3 should make "shift left" and "shift right" work inside a \begin{tikzpicture}...\end{tikzpicture} block, but the last example below shows that that doesn't work, or at least don't work inside a \draw, with the syntaxes that I've tried... What am I missing? Any hints? \documentclass{article} \usepackage{tikz} \usepackage{tikz-cd} \begin{document} Tikz-CD: % \begin{tikzcd}[baseline=(A4.base)] |[alias=A4]| B & |[alias=A5]| A \arrow [from=A4, to=A5, <-, "L", shift left=1] \arrow [from=A4, to=A5, ->, "R"', shift right=1] \end{tikzcd} Tikzpicture, 1: % \begin{tikzpicture}[baseline=(A4.base)] \node [anchor=center] (A4) at (0,0) {$\textstyle B$}; \node [anchor=center] (A5) at (1.25,0) {$\textstyle A$}; \draw [<-] (A4) -- (A5) node[midway,above] {$\scriptstyle L$}; \draw [->] (A4) -- (A5) node[midway,below] {$\scriptstyle R$}; \end{tikzpicture} Tikzpicture, 2: % \begin{tikzpicture}[baseline=(A4.base), commutative diagrams/.cd,every arrow,every label] \node [anchor=center] (A4) at (0,0) {$\textstyle B$}; \node [anchor=center] (A5) at (1.25,0) {$\textstyle A$}; \draw [<-, commutative diagrams/shift left=1] (A4) -- (A5) node[midway,above] {$\scriptstyle L$}; \draw [->, commutative diagrams/shift right=1] (A4) -- (A5) node[midway,below] {$\scriptstyle R$}; \end{tikzpicture} \end{document} Update after egreg's answer... My question was a pgfkeys question in disguise! I am adding a TikZ backend to Dednat6/Dednat7 (big example), and I'm looking for a solution that at some point will have a readable syntax, like this one... \draw [<-,shift left=1] (A4) -- (A5) node[midway,above] {$\scriptstyle L$}; \draw [->,shift right=1] (A4) -- (A5) node[midway,below] {$\scriptstyle R$}; ...and to get there I will probably need several steps, like starting by copying some definitions around and then calling shift left and shift right with explicit pgfkeys paths, discovering the pgfkeys paths used by \draw, and defining a shift left and a shift right in the pgfkeys path for \draw that will call that shift left and the shift right in pgfk@/tikz/commutative diagrams/... By the way, if we run this: \documentclass{article} \usepackage{tikz} \usepackage{tikz-cd} \begin{document} \directlua{ for i,name in pairs(tex.hashtokens()) do local pat = "shift left" if name:match(pat) then print(name, token.get_macro(name)) end end } \end{document} The output in stdout is this (abbreviated): pgfk@/tikz/commutative diagrams/shift left/.@def +0.56ex pgfk@/tikz/commutative diagrams/shift left/.@cmd \pgfkeysalso (...)

  • Marking the intersection of two wires in a circuit
    by Jarvis on June 25, 2026 at 6:02 pm

    I am drawing a circuit using relative coordinates in which it contains a part like this. I used the following sample code to generate the above: \begin{circuitikz} \draw (0,0) node[op amp](OA){}; \draw (OA.-) to[R] ++(-4,0); \draw (OA.+) to[R] ++(-4,0); \draw (-2,-4) to[R] ++(0,2) |- (OA.-); \end{circuitikz} How do I place a dot where the vertical wire intersects inverting terminal input wire? Although I can find the coordinates in this example, the actual circuit I am drawing does not directly give away the coordinates. For reference, the actual circuit goes like below. (M1.D) to [R, l=$R8$, a=\SI{47}{k\ohm}] ++(0,2) |- (U2.-);