Hot
- How to correctly parse tokens and preserve command-argument structure in expl3?by Alexander Rodríguez on April 1, 2026 at 6:49 pm
I am parsing input in expl3 token by token. I want to wrap characters like a or + as [a], [+], while preserving commands such as \textbf{...} and \textit{...}. The problem is that my current approach separates the command from its argument, so something like \textbf{text} is no longer preserved as a single structure. How can I correctly parse the input so that commands keep their arguments, while still processing the content recursively? \documentclass[8pt]{article} \usepackage[ paperwidth=28cm, paperheight=4cm, margin=0.5cm ]{geometry} \usepackage{xparse} \ExplSyntaxOn \NewDocumentCommand{\Brackets}{m} { \brackets_process:n {#1} } \cs_new_protected:Npn \brackets_process:n #1 { \tl_map_inline:nn {#1} { \brackets_case:n {##1} } } \cs_new_protected:Npn \brackets_case:n #1 { \tl_if_single:nTF {#1} { \tl_if_head_is_group:nTF {#1} { % Es un grupo \BracketsGroup:n {#1} } { % Es una lista \token_if_cs:NTF #1 { \BracketsCommand:n {#1} } % Es un comando { \token_if_space:NTF #1 { [\c_space_tl] } { \BracketsToken:n {#1} } } % Es un caracter } } { { \BracketsGroup:n {#1} } } } \cs_new_protected:Npn \BracketsGroup:n #1 { \brackets_process:n {#1} } \cs_new_protected:Npn \BracketsCommand:n #1 { #1 } \cs_new_protected:Npn \BracketsToken:n #1 { \str_case:nnF {#1}{{$}{$}{^}{^}{_}{_}}{ [#1] } } \ExplSyntaxOff \begin{document} \Brackets{Text \textbf{textbf \textit{textit} text } text {text {group}} text $ x^{1+1}+2x+4$ $\frac{1}{2} \sqrt[3]{x}$ text. {{Text}} } \vspace{5mm} Expected:\\ [T][e][x][t] \textbf{[t][e][x][t][b][f][ ]\textit{[t][e][x][t][i][t]}[ ][t][e][x][t]}[ ][t][e][x][t][ ]{[t][e][x][t][ ]{[g][r][o][u][p]}}[ ][t][e][x][t][ ]$ [x]^{[1][+][1]}[+][2][x][+][4]$[ ]$\frac{[1]}{[2]} \sqrt[{[3]}]{[x]}$[ ][t][e][x][t][.][ ]{{[T][e][x][t]}} \end{document} Expected behavior:
- Is there a straightforward way to break and align an equation on more than one 'level'?by Simon on April 1, 2026 at 4:46 pm
There is an equation that I would like to break and align as follows: ( in the second line and - in the third line should be aligned the same way that [ in the first line and + in the second line are, which requires aligning on more than one 'level' if level is the correct term. Intuitively, it would work as shown in the MWE, just with && not commented out: & for the first 'level' and && for the second one. (The concept could be extended by &&& for the third one and so on.) \documentclass{article} \usepackage{amsmath} \begin{document} \begin{align} E_\mathrm{kinetic}=\frac{1}{2}&\left[m_\mathrm{1}\left(v_\mathrm{1}-v_\mathrm{2}\right)^2\right.\notag\\ &\left.+m_\mathrm{2} % && \left(v_\mathrm{3}+...+...+...+...+a\omega_\mathrm{1}\right.\right.\notag\\ % && -\left.\left.b\omega_\mathrm{2}-...-...-...-...-v_\mathrm{4}\right)\right] \end{align} \end{document}
- Auto placement of Tables in single and twocolumn formatby MadyYuvi on April 1, 2026 at 1:46 pm
I'm trying to automate the table placement either in single or two column based on its width, for this, I've tried: \documentclass[twocolumn]{article} \usepackage{tabularx} \usepackage{showframe} \usepackage{lipsum} \begin{document} \makeatletter \newlength{\tabboxwidth}% \newdimen\tempdime \newbox\temptbox \newenvironment{splprocesstable}[3]{\setbox\temptbox=\hbox{\sffamily{#2}}% \tempdime\wd\temptbox\@splprocesstable{#1}{#2}{#3}{\tempdime}} {\relax} \newlength{\tablebotadjustskip}% \setlength{\tablebotadjustskip}{\z@}% \newenvironment{@splprocesstable}[4]{% \setbox4=\hbox to \textwidth{\vbox{\begin{center}\begin{minipage}[t]{#4}% \sffamily% \caption{#1}{#2}% \vskip4pt\noindent% \parbox{#4}{\sffamily\fontsize{8bp}{10bp}\selectfont% #3\par}% \vspace*{\tablebotadjustskip}% \end{minipage}\end{center}}}% \box4} {\relax} \newbox\tabwdbox% \newdimen\tabwddimen% \newcommand{\processtable}[4][tb!]{\bgroup% \setbox\tabwdbox=\hbox{#3}% \tabwddimen=\wd\tabwdbox% \ifdim\tabwddimen = 245\p@%actual size 241 and fix buffer upto 4pts \setlength{\tabboxwidth}{245\p@}% \begin{table}[#1]% \splprocesstable{#2}{#3}{#4}% \end{table}% \else% \ifdim\tabwddimen < 245\p@% \setlength{\tabboxwidth}{245\p@}% \begin{table}[#1]% \splprocesstable{#2}{#3}{#4}% \end{table}% \else%%End of Single column Table \ifdim\tabwddimen = 502\p@%actual size 241 and fix buffer upto 4pts \setlength{\tabboxwidth}{502\p@}% \begin{table*}[#1]% \splprocesstable{#2}{#3}{#4}% \end{table*}% \else% \ifdim\tabwddimen < 502\p@%actual size 241 and fix buffer upto 4pts \setlength{\tabboxwidth}{502\p@}% \begin{table*}[#1]% \splprocesstable{#2}{#3}{#4}% \end{table*}% \fi\fi\fi\fi% \egroup}% \makeatother \lipsum[1-4] \processtable{For Single column Testing.\label{sara}} {\begin{tabularx}{\tabboxwidth}{@{\extracolsep\fill}XXXXX@{\extracolsep\fill}} \hline 1 &2 &3 &4 &5 \\ 1 &2 &3 &4 &5 \\ 1 &2 &3 &4 &5 \\ \hline 1 &2 &3 &4 &5 \\ \end{tabularx}}{} \processtable{For Two column Testing.\label{sara}} {\begin{tabularx}{\tabboxwidth}{@{\extracolsep\fill}XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX@{\extracolsep\fill}} \hline 1 &2 &3 &4 &5 &6 &7 &8 &9 &10 &11 &12 &13 &14 &15 &16 &17 &18 &19 &20 &21 &22 &23 &24 &25 &26 &27 &28 &29 &30\\ 1 &2 &3 &4 &5 &6 &7 &8 &9 &10 &11 &12 &13 &14 &15 &16 &17 &18 &19 &20 &21 &22 &23 &24 &25 &26 &27 &28 &29 &30\\ 1 &2 &3 &4 &5 &6 &7 &8 &9 &10 &11 &12 &13 &14 &15 &16 &17 &18 &19 &20 &21 &22 &23 &24 &25 &26 &27 &28 &29 &30\\ 1 &2 &3 &4 &5 &6 &7 &8 &9 &10 &11 &12 &13 &14 &15 &16 &17 &18 &19 &20 &21 &22 &23 &24 &25 &26 &27 &28 &29 &30\\ \hline \end{tabularx}}{} \end{document} But both the tables are comes in single column only, how can I fix this? Please advise.
- How to colorized any line drawed with draw (nor with plot expression)?by Mika Ike on April 1, 2026 at 1:44 pm
How to colorized any line drawed with draw (nor with plot expression)? \documentclass{article} \usepackage{pgfplots} \pgfplotsset{compat=1.18} \begin{document} \begin{tikzpicture} \begin{axis}[ axis lines = middle, %title={Cor baseada no valor de $y$}, title={Color depending on $y$ coordinate}, colormap/hot % Podes usar 'hot', 'cool', 'jet', etc. ] \addplot[ mesh, % Divide o trazo en segmentos para aplicar cores thick, domain=-3:3, samples=100, point meta=y % Indica que a cor depende do valor de y ] {x^2}; % A función matemática \draw[thick, xshift=0.5,rounded corners] (-2,0.5) .. controls (0,-1) and (0,7) .. (1,7.8) .. controls (2,1) and (2,4) .. (3,3) node[anchor=east,pos=0.95] {How to colorize black line with colormap?} node[anchor=north east,pos=0.95] {depending on $y$ coordinate}; \end{axis} \end{tikzpicture} \end{document}
- mdframed error with math mode: missing \itemby David61 on April 1, 2026 at 12:16 pm
When I type \documentclass[11pt]{scrartcl} \usepackage[dvipsnames,svgnames]{xcolor} \usepackage[framemethod=TikZ]{mdframed} \usepackage{amsmath,amssymb,amsthm} \usepackage{thmtools} \mdfdefinestyle{mdgreenbox}{linecolor=ForestGreen,backgroundcolor=ForestGreen!5, linewidth=2pt,rightline=false,leftline=true,topline=false,bottomline=false,} \declaretheoremstyle[headfont=\bfseries\sffamily\color{ForestGreen!70!black}, mdframed={style=mdgreenbox},headpunct={.},]{thmgreenbox} \mdfdefinestyle{mdblackbox}{linecolor=black,backgroundcolor=RedViolet!5!gray!5, linewidth=3pt,rightline=false,leftline=true,topline=false,bottomline=false,nobreak=true} \declaretheoremstyle[mdframed={style=mdblackbox}]{thmblackbox} \declaretheorem[style=thmblackbox,name=Test1,numbered=no]{t1} \declaretheorem[style=thmgreenbox,name=Test2,numbered=no]{t2} \begin{document} \title{Hello} \author{hello} \maketitle \begin{t1} \[hello\]hello. \begin{t2} hello \end{t2} \end{t1} \end{document} into Overleaf, line 21 (the line saying "hello") gives the error: LaTeX Error: Something's wrong--perhaps a missing \item. The result of render also looks like the "hello." after \[hello\] is unusually squashed into the green box. However, when I delete the \[hello\], or if I add another "hello" preceeding it, everything is normal! What is going on and what does \item have to do with anything?
- Retrieve coordinates of self-intersections of a curveby Ventrikle on April 1, 2026 at 11:06 am
I am trying to extract the intersection points of a closed curve using the spath3 package. Currently, I have managed to find these points by splitting the path at self-intersections and then using the spath cs (coordinate system) on the resulting components. However, I noticed that the spath3 documentation doesn't seem to provide a direct command for "finding intersections" and returning them as coordinates. My current workaround involves a somewhat manual process: splitting the path, identifying components, and then grabbing the coordinates at the end of specific segments. Here is my MWE. \documentclass[tikz, border=10pt]{standalone} \usetikzlibrary{spath3, knots, hobby, intersections} \begin{document} \begin{tikzpicture}[ use Hobby shortcut, ] \path[spath/save=trefoil] ([closed]90:2) foreach \k in {1,...,3} {.. (-30+\k*240:.5) .. (90+\k*240:2) } (90:2); \tikzset{ spath/.cd, split at self intersections=trefoil, remove empty components=trefoil, get components of={trefoil}\pathcomponents, } % Label each component at its midpoint for reference \foreach[count=\k] \cpt in \pathcomponents { \node[] at (spath cs:{\cpt} 0.5) {\tiny \k}; } % Extracting coordinates before inserting gaps \foreach[count=\k] \i in {1, 3, 5} { \coordinate (A\k) at (spath cs:\getComponentOf{\pathcomponents}{\i} 1); } \tikzset{ % Gaps are inserted after coordinate retrieval. % If inserted earlier, spath cs would only capture positions within the fragmented arcs. spath/insert gaps after components={trefoil}{10pt}{1,3,5}, } \draw[spath/use=trefoil]; % Mark the original intersection points \foreach \k in {1,2,3} { \fill[red, opacity=0.5] (A\k) circle[radius=2pt] node[above, black, opacity=1] {\color{red}\(\k\)}; } \end{tikzpicture} \end{document} While this code works, it feels like a "workaround." Is there a more concise or idiomatic way to retrieve these intersection coordinates directly using spath3 or its integration with the intersections library?
- circuitikz, how to prettify connection between transformer and connecting lines?by Zarko on March 31, 2026 at 10:52 pm
I would like to reproduce the following image using the circuitikz package: So far I was able to write the following MWE: \documentclass[border=1mm, 11pt]{standalone} \usepackage{circuitikz} \usetikzlibrary{positioning} %---------------------------------------------------------------% \begin{document} \begin{circuitikz}[ node distance = 3mm and 7mm, N/.style = {draw, minimum height=13mm, text width=#1, font=\small\linespread{0,84}\selectfont, align=center}, ] \ctikzset{inductors/coils=6, quadpoles/transformer core/inner = 1.0, quadpoles/transformer core/width = 0.5, quadpoles/transformer core/height= 0.68} \node (n1) [N=13mm] {SPE\\ PHY}; \node (n2) [transformer core, rotate=90, transform shape, right=of n1, anchor=base] {}; \node (n3) [transformer core, right=of n2.south] {}; \node (n4) [N=23mm, right=of n3] {common mode\\ termination}; %--- \draw[semithick] (n2.north east) -- (n2.north east -| n1.east) (n2.north west) -- (n2.north west -| n1.east) % (n2.south east) |- (n3.north west) (n2.south west) |- (n3.south west) % (n3.north east) -- (n3.north east -| n4.west) (n3-L2.midtap) -- (n4.west) (n3.south east) -- (n3.south west -| n4.west); %-------------------- \end{circuitikz} \end{document} which produce: As you can see, connections between transformers and connecting lines are not as on image, which I want to reproduce. Is there a (if possible simple) way to improve these connections?
- Exam class: change color of \firstpagefootrule, \firstpageheadrule and \runningheadrule \runningfootruleby MrI2C on March 31, 2026 at 7:53 pm
is there a way to change the color end pts thickness from default black to anything else in the exam class? \runningheadrule % lijn onder de running header (pagina 2+) \runningfootrule % lijn boven de running footer (pagina 2+) \firstpageheadrule % lijn onder de header op pagina 1 \firstpagefootrule % lijn boven de footer op pagina 1 for example here: \documentclass[12pt, a4paper, addpoints]{exam} % ── Pakketten ────────────────────────────────────────────────────────────────── \usepackage[a4paper, top=3cm, bottom=2.5cm, left=2.5cm, right=2.5cm]{geometry} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} %\usepackage{helvet} %\usepackage{palatino} % of met betere math-ondersteuning: %\usepackage{newpxtext} %\usepackage{newpxmath} \usepackage{xcolor} \usepackage{lipsum} \renewcommand{\familydefault}{\sfdefault} % ── Kleuren ──────────────────────────────────────────────────────────────────── \definecolor{darkblue}{RGB}{26,37,47} \definecolor{midgray}{RGB}{85,85,85} % ── exam class: activeer de vier regels ─────────────────────────────────────── \runningheadrule % lijn onder de running header (pagina 2+) \runningfootrule % lijn boven de running footer (pagina 2+) \firstpageheadrule % lijn onder de header op pagina 1 \firstpagefootrule % lijn boven de footer op pagina 1 % ── Running header/footer (pagina 2+) ───────────────────────────────────────── \runningheader {\textbf{Examen: Inleiding tot de Magie}} {} {\textcolor{midgray}{Academiejaar 2025--2026}} \runningfooter {\textcolor{midgray}{Faculteit Toveren \& Hocus Pocus \quad|\quad Vertrouwelijk}} {} {Pagina \thepage\ van \numpages} % ── First page header/footer (pagina 1) ─────────────────────────────────────── \firstpageheader {} {% \textbf{\large\textcolor{darkblue}{UNIVERSITEIT HOGWARDS}}\\[3pt] \textcolor{midgray}{Faculteit Magie \& Toveren}% } {} \firstpagefooter {Datum: 15 juni 2026 \quad|\quad Duur: 3 uur Gesloten boek} {} {Nummer: \underline{\hspace{4cm}}} % ══════════════════════════════════════════════════════════════════════════════ \begin{document} % ── Titel ───────────────────────────────────────────────────────────────────── \begin{center} {\LARGE\bfseries\textcolor{darkblue}{EXAMEN: INLEIDING TOT DE MAGIE}}\\[6pt] {\large\textcolor{midgray}{Bachelor Magicus -- 1ste jaar \quad|\quad 15 juni 2026}} \end{center} \vspace{1em} \textbf{Instructies} \lipsum[1] \lipsum[2] \lipsum[3] % ── Vragen ──────────────────────────────────────────────────────────────────── \begin{questions} \question[20] \lipsum[1] \end{questions} % ── Pagina 2: antwoordruimte ────────────────────────────────────────────────── \newpage \textbf{Antwoordruimte -- Vraag 1} \lipsum[4] \lipsum[5] \lipsum[1] \lipsum[2] \end{document}
- I started using TeXstudio and my margins are crazy [closed]by Анна on March 31, 2026 at 5:54 pm
I used to use overleaf for work, and my documents always looked fine, but when I moved the same code to the TeXstudio editor, no matter how I tried to change the preamble or adjust the program, my document's margins weren't respected. Here's my preamble: \documentclass[12pt,a4paper,titlepage]{article} \usepackage[utf8]{inputenc} \usepackage[T2A]{fontenc} \usepackage[russian, english]{babel} %\usepackage{multicol} \usepackage{float} \usepackage{pgfplots} \usepackage{booktabs} \usepackage{amsmath,amsthm,amssymb} \usepackage{mathtext} \usepackage{graphicx} \usepackage{hyperref} \usepackage{gensymb} \usepackage{array} \usepackage{mathrsfs} \usepackage[parfill]{parskip} \usepackage{showframe} \usepackage{hyperref} \usepackage[left=15mm, top=20mm, right=15mm, bottom=20mm, nohead, nofoot]{geometry} %\makecell[l]{$$ \\ $$ } для колонок Пример отображения: Буду рада любым предложениям по решениям этой проблемы.
- Phantom overline over visible expressionby Michael on March 31, 2026 at 4:22 pm
The following code: \documentclass{article} \begin{document} \[ f(x',\overline{x'}) \] \end{document} produces the following output for me: I'm a bit bothered that the heights of the primes are mismatched. My first thought for how to fix this issue was to add a phantom overline over the first argument so that the prime in the first argument would get pushed down to the same height. However, despite some experimentation with syntax (\phantom{\overline}{x'} for instance), I couldn't find something which compiles. Apologies if this has been asked before. The inverted version of this question overline over no text does not seem relevant here.
- Replace placeholder in chemical formulaby cis on March 31, 2026 at 3:11 pm
I have a large table with many cells of the type <appropriated value>c<Mendeleev's correction>; e.g., BeCl3cBeCl2, VCl2cVCl5,... I would like to display this in a special notation: Is the following an efficient implementation, or is there a better way? \newcommand{\mycorrectio}{\ensuremath{\,{\color{red}\scriptscriptstyle\complement}\,}} % \NewDocumentCommand{\AddCorrectio}{m}{% \saveexpandmode\expandarg \StrSubstitute{#1}{c}{{{\mycorrectio}}}[\temp]% \temp% \restoreexpandmode% } Does mhchem perhaps have its own method for making such substitutions? PS: I just noticed that mhchem no longer seems to work in the table. Oh dear... \documentclass{article} \usepackage[version=4]{mhchem} \usepackage{pgfplotstable} \pgfplotsset{compat=1.18} \usepackage{xstring} \usepackage{amsmath, amssymb} \usepackage{xcolor} \newcommand{\mycorrectio}{\ensuremath{\,{\color{red}\scriptscriptstyle\complement}\,}} % \NewDocumentCommand{\AddCorrectio}{m}{% \saveexpandmode\expandarg \StrSubstitute{#1}{c}{{{\mycorrectio}}}[\temp]% \temp% \restoreexpandmode% } \pgfplotstableset{ % Standard chemistry without substitution StandardMHchem/.style={% string type, column type={l}, postproc cell content/.code={ \pgfkeyssetvalue{/pgfplots/table/@cell content}{\ce{##1}} } },% % Chemistry with correction symbol MendeleevCorrectio/.style={ string type, column type={l}, postproc cell content/.code={ \edef\final{\noexpand\ce{\AddCorrectio{##1}}}% \pgfkeyslet{/pgfplots/table/@cell content}{\final}% } } } \pgfplotstableread[header=false]{ Cl BeCl3cBeCl2 VCl2cVCl5 - InCl2cInCl3 }\mydata \begin{document} \section{Mendeleev's Correctios} \subsection{Text} \AddCorrectio{BeCl3cBeCl2} \subsection{Table} \pgfplotstabletypeset[ display columns/0/.style={% StandardMHchem, column name={Standard \ce{mhchem}} },% % Create a virtual copy of column 0 for the correction view create on use/corr/.style={create col/copy=0}, columns={0, corr}, columns/corr/.style={MendeleevCorrectio, column name={With AddCorrectio}}, every head row/.style={after row=\hline}, ]{\mydata} \end{document}
- Graph of f and f' with luacas packageby Sebastiano on March 31, 2026 at 1:29 pm
Recently I have discovered the interesting package named luacas (compilable with LuaLaTeX). To pag. 14 of the manual https://ctan.mirror.garr.it/mirrors/ctan/macros/luatex/latex/luacas/doc/luacas.pdf I have not understood the necessary packages to put in the preamble to compile the MWE to plot f and f'. Someone please, can help me? Here the fragment of the code: \directlua{ tex.print(h:tolatex()) } For Bob’s purposes, \fetch{h} is exactly what he needs: \begin{tikzpicture}[scale=0.9] \begin{axis}[legend pos = north west] \addplot [domain=-3.5:1.5,samples=100] {\fetch{h}}; \addlegendentry{$f$}; \addplot[densely dashed] [domain=-3.25:1.25,samples=100] {\fetch{dh}}; \addlegendentry{$df/dx$}; \addplot[gray,dashed,thick] [domain=-3.5:1.5] {0}; \end{axis} \end{tikzpicture} Alternatively, Bob could use \store. The \store command will fetch the contents of its mandatory argument and store it in a macro of the same name. \store{h} \store{dh}
- Is there a lowercase Greek letter font with a fixed width in math format?by 2023 Siri on March 31, 2026 at 1:20 pm
I've noticed that monospaced fonts have uppercase Greek letters but no lowercase Greek letters. Is there a mathematical format to resolve this issue with monospaced fonts? \documentclass{article} \begin{document} $\mathtt{\Gamma \Delta \Theta \Lambda \Xi \alpha \beta \gamma \delta}$ \end{document}
- add image to footline only in beamer titleframeby Matteo on March 31, 2026 at 1:11 pm
Hi I'm working on a beamer presentation and I already have a somewhat modified \titlepage and setting, to this I would ideally need to add an image to the footline; however, after a few experiments and editing the prompt I already worked on I cannot quite achieve what I want... The problem is for one that the image seems to overlay the original footline instead of being the only element there and is poorly cropped; additionally, the page numbers are not visible on the \titlepage although I set them up as before. Lastly, I wish to have a very small margin from the bottom, left, and right to don't show the image as it is completely framed to the bottom of the slide. Thanks! Below, a MWE \documentclass[xcolor=svgnames,aspectratio=149]{beamer} \usepackage{tikz} \usepackage[normalem]{ulem} \usepackage[dvipsnames]{xcolor} \usetheme{Singapore} \usecolortheme{dolphin} \usecolortheme[named=OliveGreen]{structure} \definecolor{floralwhite}{rgb}{1.0, 0.98, 0.94} \definecolor{smokyblack}{rgb}{0.06, 0.05, 0.03} \definecolor{forestgreen(traditional)}{rgb}{0.0, 0.27, 0.13} \makeatletter \def\ps@navigation@titlepage{% \setbeamertemplate{footline}{ \leavevmode% \pgfsetfillopacity{.85}\centering\includegraphics[width=\paperwidth,height=.219in]{example-image-golden} \vskip-1pt \hbox{% \begin{beamercolorbox}[wd=.333333\paperwidth,ht=3.1ex,dp=1.125ex,center]{author in head/foot}% \end{beamercolorbox}% \begin{beamercolorbox}[wd=.333333\paperwidth,ht=3.1ex,dp=1.125ex,center]{title in head/foot}% \end{beamercolorbox}% \begin{beamercolorbox}[wd=.333333\paperwidth,ht=3.1ex,dp=1.125ex]{date in head/foot}\hspace{15em}\insertframenumber\,/\,\inserttotalframenumber \end{beamercolorbox} }% \vskip0pt% } \@nameuse{ps@navigation}} \addtobeamertemplate{title page}{\thispagestyle{navigation@titlepage}}{} \makeatother \makeatletter \setbeamertemplate{footline}{ \leavevmode% \begin{beamercolorbox}[wd=.3333\paperwidth,ht=3.1ex,dp=1.125ex,center]{author in head/foot}\insertshortauthor% \end{beamercolorbox}% \begin{beamercolorbox}[wd=.3333\paperwidth,ht=3.1ex,dp=1.125ex,center]{title in head/foot}\insertshorttitle% \end{beamercolorbox}% \begin{beamercolorbox}[wd=.3333\paperwidth,ht=3.1ex,dp=1.125ex,center]{date in head/foot}\insertshortdate{}\hspace{5em}\insertframenumber\,/\,\inserttotalframenumber \end{beamercolorbox}% }% \makeatother \title[Conference XYZ]{Project's Title} \author[INIT.]{\footnotesize \texorpdfstring{\uline{auth1}}{} \and auth2 \and auth3 \and etc.} \date{\vspace*{-.4in}\today} \titlegraphic{% \begin{tikzpicture}[overlay,remember picture] \node[at=(current page.north west), anchor=north west] {% \hspace{2em} \includegraphics[width=.75in,keepaspectratio]{example-image-a} \hspace{3.75em} \includegraphics[width=.75in,keepaspectratio]{example-image-b} \hspace{3.75em} \includegraphics[width=.75in,keepaspectratio]{example-image-c} \hspace{3.75em} \includegraphics[width=.75in,keepaspectratio]{example-image} }; \end{tikzpicture} } \setbeamercolor{title}{fg=black} \setbeamercolor{titlelike}{parent=structure} \setbeamerfont{title}{shape=\bfseries,size=\Huge,family=\fontfamily{cmr}\selectfont} \setbeamercolor{author in head/foot}{fg=floralwhite,bg=DarkGreen!50!white} \setbeamercolor{title in head/foot}{fg=floralwhite!75,bg=DarkGreen!75!white} \setbeamercolor{date in head/foot}{fg=floralwhite!50,bg=DarkGreen} \begin{document} {\setbeamertemplate{headline}[plain] \setbeamertemplate{navigation symbols}{} \begin{frame} \vspace{.2in} \titlepage \end{frame} } \begin{frame} \end{frame} \end{document} Actual output: EDIT sketch of the output
- Hyperlink does not scale in pgfplotsby Thomas on March 31, 2026 at 10:32 am
I have a figure drawn with pgfplots where I cite a reference in the legend. the issue I have is when I try to scale the whole figure, I noticed that the green hyper link for the reference is not scaled and inserted at the original place. Here is an ECM with on the one hand the figure in whole size, and on the other hand the figure scaled. \documentclass{article} \usepackage{biblatex} \usepackage{hyperref} \usepackage{pgfplots} \pgfplotsset{compat=1.5} \addbibresource{biblatex-examples.bib} \begin{document} \begin{tikzpicture} \begin{axis} \addplot[red, domain=-3e-3:3e-3, samples=51]{exp(-x^2 / (2e-3^2)) / (1e-3 * sqrt(2*pi))}; \addlegendentry{Text \cite{aksin}} \end{axis} \end{tikzpicture} % \begin{tikzpicture}[scale=0.9] \begin{axis} \addplot[red, domain=-3e-3:3e-3, samples=51]{exp(-x^2 / (2e-3^2)) / (1e-3 * sqrt(2*pi))}; \addlegendentry{Text \cite{aksin}} \end{axis} \end{tikzpicture} \printbibliography \end{document} On the linked export, we see that the second green boxed is not over the reference [1], but over the place it would have been if the figure were not scaled. Is it possible to set the correct location for this box ?
- Luadraw as a background imageby PHL on March 31, 2026 at 7:43 am
I would like to use a luadraw picture as a background image on a page. I tried overlay, but this is not working as the picture is shifted above right. Luadraw is not (yet?) on CTAN, but available on github: luadraw %!TEX TS-program = lualatex \documentclass[a4paper]{article} %\usepackage[ignoreall, margin=-0cm, marginparsep=0cm]{geometry} \usepackage{luadraw} \begin{document} \begin{luadraw}{} local g = graph:new{ margins={0,0,0,0} , size={31,31} , pictureoptions="overlay" } for j= 1, 5 do for k=1,10*j do g:Dcircle(Zp(j,k*math.pi/(5*j)),1) end end g:Show(true) \end{luadraw} % without overlay, the center of the picture (on a new page) is approximately at (20,10) (if (0,0) is the bottom left corner % with overlay, the center of the picture is out the page (at (30,50) ? maybe) \end{document} (The original picture is more complex than this one, so using a standard tikzpicture is not really an option)
- How do I break a link within \url{} only after / or //?by Simon on March 30, 2026 at 10:15 pm
I am required to break the links within \url{} to my references only after / or //, not after any other symbol that also might occur in a link. How do I implement this properly for all the links to my references at once? Have I just missed an option of the hyperref package or the \url{} command, or could an input to Forcing linebreaks in \url solve the problem? I have prepared a MWE to illustrate the problem: \documentclass{article} \usepackage[hidelinks]{hyperref} \begin{document} {\raggedright \begin{thebibliography}{} \bibitem[Reference 1]{reference1} Available at \url{https://tex.stackexchange.com/one/two-three/four_five_six} \bibitem[Reference 2]{reference2} Available at \url{https://tex.stackexchange.com/seven-eight-nine/ten_eleven/twelve} \end{thebibliography} } \end{document}
- Exam overview using exercisepoints package: total and section-wise scoresby Sebastiano on March 30, 2026 at 9:33 pm
I have a "frontespizio" that I use for my exam for my students \documentclass[a4paper,12pt]{article} \usepackage[italian]{babel} \usepackage{mathtools,amssymb,siunitx} \usepackage[top=1.5cm,bottom=1.5cm,left=1.5cm,right=1.5cm,headsep=10pt,a4paper]{geometry} \usepackage{subcaption} \newcommand{\truefalse}{\hfill\framebox[1.25em][c]{V}\quad\framebox[1.25em][c]{F}} \newcommand{\squarecap}[1]{\fbox{\makebox[\height]{#1}}} \usepackage{enumext} \usepackage{enumitem} \begin{document} \begin{center} \textbf{I} \end{center} \begin{enumext}[label=\textbf{Domanda} \arabic*.,wrap-label=\textbf{#1},list-indent=0pt, save-ans=test] \setenumext[keyans]{label=\Alph*,font=\small,nosep,wrap-label={\fbox{\makebox[\height]{##1}}}} \item Una motocicletta è lanciata lungo un rettilineo alla velocità costante di 50 m/s. Quanti minuti impiega per percorrere una distanza di 22 km? \begin{keyans}[columns=2,parsep=5pt] \item 6,1 min. \item 7,3 min. \item 7,0 min. \item 7,7 min. \end{keyans} \item Una bicicletta si muove con velocità costante. Se al tempo $t$ = 10 s la sua velocità è 15 m/s, quanto vale la velocità al tempo $t$ = 20 s? \begin{keyans}[columns=2,parsep=2pt] \item 10 m/s. \item 15 m/s. \item 20 m/s. \item 30 m/s. \end{keyans} \item Un’auto di Formula 1, partendo da ferma, impiega \qty{6.8}{\second} per raggiungere la velocità massima di \qty[per-mode=symbol]{270}{\kilo\meter\per\hour}. Qual è la sua accelerazione media? \begin{keyans}[columns=2,parsep=2pt] \item \qty[per-mode=symbol]{9.11}{\meter\per\second\squared}. \item \qty[per-mode=symbol]{39.71}{\meter\per\second\squared}. \item \qty[per-mode=symbol]{0.025}{\meter\per\second\squared}. \item \qty[per-mode=symbol]{11}{\meter\per\second\squared}. \end{keyans} \end{enumext} \begin{center} \textbf{II} \end{center} Giulia e Marco fanno una gara. Giulia si muove a una velocità costante di 3 m/s. Marco parte 10 m più avanti e si muove a una velocità costante di 2 m/s. Scrivi la legge oraria del moto di Giulia e del moto di Marco. A quale istante si incontreranno? \begin{center} \textbf{III} \end{center} Esso esprime il diagramma orario $t-x$ di un oggetto che si muove di moto rettilineo uniforme. Determina per gli intervalli di tempo da $0\div 2$ secondi, $2\div 4$ secondi, $6\div12$ secondi la sua velocità media. Si calcoli infine la velocità media complessiva e la relativa legge oraria nell'intervallo da 0 a 2 secondi. \end{document} an I would use the the package exercisepoints (in Italian language) to have a scores for test and exercises with a final table. Here a MWE with exercisepoints: \documentclass[a4paper,12pt]{article} \usepackage[italian]{babel} \usepackage{exercisepoints} \begin{document} \begin{exercise}[Simple Equation] Determine a number $x$ such that $3 \cdot x = 15$\points {1.5} and explain how you did that.\points{3} \end{exercise} \begin{exercise}[Calculus] \vspace{-1em} \begin{subexercise}[Derivatives] Determine the derivatives of the following functions. \begin{enumerate} \item $f\colon \mathbb{R} \to \mathbb{R}$, $f(x) = x^2+2x+3$ \itempoints{1} \item $g\colon \mathbb{R} \to \mathbb{R}$, $g(x) = \exp(x^2)$ \itempoints{3} \end{enumerate} \end{subexercise}\vspace{-1em} \begin{subexercise}[Maxima and Minima] Determine the local maximum or minimum of the function $f\colon \mathbb{R} \to \mathbb{R}, f(x) = x^2+2x+3$.\points{3} \end{subexercise} \end{exercise} Exercise 0 has \getpoints{0} points, there are \numberofexercises \ exercises with a total of \totalpoints \ points. \end{document}
- Setting node style on specific slide, in a deferred mannerby ysalmon on March 30, 2026 at 7:43 pm
I want to animate a DFS in an example graph. I know I can use keys like onslide to activate specific styling on a given slide, but this requires to give the instruction at the place where the node is defined. I would like to be able to just specify the order in which DFS visits the nodes, eg. \foreach \val[count=\slide from 2] in {0,1,2,3,4,5,11,16,15,14,20,19,25,18,24,,31,30,,36,42,43,38,39,46,47,40,35,34,27} {set node l\val to be red-filled starting on slide \slide} I got the idea to use a expl3 proplist to store, on a given slide, which nodes should have which style (full code below). Then I can define a custom tikz style with some code to retrieve from the proplist and do a \pgfkeysalso. Presently, this works if I set the style to eg. fill. However, setting it to eg. fill=red gives an error Package pgfkeys Error: I do not know the key '/tikz/fill=red' and I am going to ignore it. Perhaps you misspelled it. I presume this is a catcode issue, but I am not able to solve it (I tried converting from tokenlist to expl3 string, to no avail). I know I can avoid the need for an = sign by defining a custom style with the appropriate colour (and this is better code style anyway). But still, this limitation is annoying. MWE : \documentclass{beamer} \usepackage{tikz} \ExplSyntaxOn \NewDocumentCommand{\DeferPropInit}{m} { \prop_gclear_new:c {__DeferPropList#1} } \NewDocumentCommand{\DeferPropReplace}{D<>{.-}mmm} { \only<#1>{\prop_gput:cee {__DeferPropList#2} {#3} {#4}} } % not used here, might be useful in other circumstances \NewDocumentCommand{\DeferPropAppend}{D<>{.-}mmm} { \only<#1>{\prop_get:ceNTF {__DeferPropList#2} {#3} \l_tmpa_tl {\prop_gput:cee {__DeferPropList#2} {#3} {\l_tmpa_tl, #4}} % #3 present in list {\prop_gput:cee {__DeferPropList#2} {#3} {#4}} % #3 not present in list } } \tikzset{DeferPropGet/.code~2~args = { \prop_get:ceNT {__DeferPropList#1} {#2} \l_tmpa_tl {\pgfkeysalso {\l_tmpa_tl}} }} % for debug \NewDocumentCommand{\DeferPropLog}{m}{\prop_log:c {__DeferPropList#1}} \ExplSyntaxOff \begin{document} \begin{frame} \begin{center} \begin{tikzpicture} \DeferPropInit{DFS} \foreach \val[count=\slide from 2] in {0,1,2,3,4,5,11,16,15,14,20,19,25,18,24,,31,30,,36,42,43,38,39,46,47,40,35,34,27} {\DeferPropReplace<\slide->{DFS}{l\val}{fill}} % breaks with {fill=red} %\DeferPropLog{DFS} % for debug \foreach \i in {0,...,5}{ \foreach \j in {0,...,7}{ \pgfmathtruncatemacro\eti{\i+\j*6} \draw(\j,-\i) node[DeferPropGet={DFS}{l\eti}] (l\eti) {\eti}; } } % graph edges omitted for brievety \end{tikzpicture} \end{center} \end{frame} \end{document}
- Problem with \textwidth wide subfigure array in JaCOW template (twocolumn environment)by WolfiG on March 30, 2026 at 1:28 pm
The following LaTeX code: % % !BIB TS-program = biber % !BIB program = biber % !TeX spellcheck = en_US % !TeX program = lualatex % % support document for version: v 3.00 Feb 2026 Volker RW Schaa % % \documentclass[luatex]{jacow} \usepackage[english]{babel} \usepackage{subcaption} \usepackage{lipsum} \listfiles \begin{document} \title{My title} \author[1]{author 1} \author[1]{author 2} \affil[1]{affiliation 1} \maketitle \begin{abstract} The abstract should summarize the context, content and conclusions of the paper in less than 200 words. It should be written in the present tense and refer to the work described in the paper. The abstract should be self-contained, without abbreviations, footnotes, or references. It should be formatted as a single paragraph. \end{abstract} \section{Section I} \begin{figure}[htb] \centering \begin{minipage}{0.99\textwidth} \begin{subfigure}{0.49\textwidth}{\centering\includegraphics[width=\textwidth]{example-image-a}}\end{subfigure} \begin{subfigure}{0.49\textwidth}{\centering\includegraphics[width=\textwidth]{example-image-b}}\end{subfigure} \vfill \begin{subfigure}{0.49\textwidth}{\centering\includegraphics[width=\textwidth]{example-image-c}}\end{subfigure} \begin{subfigure}{0.49\textwidth}{\centering\includegraphics[width=\textwidth]{example-image-a}}\end{subfigure} \caption{Another caption.} \label{fig:HITRAP} \end{minipage} \end{figure} \lipsum[1-3] \end{document} Produces this output: Obviously, the text behind/in front of the figure is wrong. How can I make the text correctly surround the figure with the four subfigures and caption? If a solution does not use a minipage environment, this is fine with me.
- Automate uncovering of an align in beamer with line numbers adaptingby scottkosty on March 30, 2026 at 12:35 pm
I'm currently using Automate *alert*-uncovering of lines of an align in beamer to uncover (and alert) lines of an align environment one line at a time. I'm also using An alt fill-in-the-blank with question in the middle to reveal some text on a subsequent overlay. When combining these two approaches, I want the line number to be shown on the first overlay that contains that line. Currently, it is revealed on the last overlay of that line. Here is my example code: \documentclass{beamer} \usepackage{mathtools} \usepackage{amstext} \usepackage{amsthm} \beamerdefaultoverlayspecification{<alert@+|+->} % https://tex.stackexchange.com/questions/661230/automate-alert-uncovering-of-lines-of-an-align-in-beamer % https://tex.stackexchange.com/questions/611375/automate-uncovering-of-lines-of-an-align-in-beamer \ExplSyntaxOn % mode should be \makeatother by default. % \makeatother \cs_new_eq:NN \_overlayalign_orig_align: \align \cs_new_eq:NN \end_overlayalign_orig_align: \endalign \exp_after:wN \cs_new_eq:NN \exp_after:wN \_overlayalign_orig_starred_align: \cs:w align* \cs_end: \cs_new_eq:NN \end_overlayalign_orig_starred_align: \endalign \seq_new:N \l__overlayalign_linesin_seq \seq_new:N \l__overlayalign_linesout_seq \seq_new:N \l__overlayalign_onelinein_seq \seq_new:N \l__overlayalign_onelineout_seq \cs_new:Npn \overlayalign_add_alert_to_cells:n #1 { \seq_set_split:Nnn \l__overlayalign_linesin_seq { \\ } { #1 } \seq_map_inline:Nn \l__overlayalign_linesin_seq { \seq_clear:N \l__overlayalign_onelineout_seq \seq_set_split:Nnn \l__overlayalign_onelinein_seq { & } { ##1 } \seq_map_indexed_inline:Nn \l__overlayalign_onelinein_seq { \int_compare:nNnTF { ####1 } = { 1 } { \seq_put_right:Nn \l__overlayalign_onelineout_seq { \action<+-|alert@+> { ####2 } } } { \seq_put_right:Nn \l__overlayalign_onelineout_seq { \action<.-|alert@.> { ####2 } } } } \seq_put_right:Nx \l__overlayalign_linesout_seq { \seq_use:Nnnn \l__overlayalign_onelineout_seq { & } { & } { & } } } } \newenvironment{overlayalign}{ \RenewDocumentEnvironment{align}{+b} { \exp_after:wN \cs_set_nopar:Npn \cs:w tagform@ \cs_end: ####1 { \cs:w maketag@@@ \cs_end: { \action<.-|alert@.> { ( \ignorespaces ####1 \unskip \cs:w @@italiccorr \cs_end: ) } } } \overlayalign_add_alert_to_cells:n { ##1 } \begin{_overlayalign_orig_align:} \seq_use:Nnnn \l__overlayalign_linesout_seq { \\ } { \\ } { \\ } \end{_overlayalign_orig_align:} } { } \RenewDocumentEnvironment{align*}{+b} { \overlayalign_add_alert_to_cells:n { ##1 } \begin{_overlayalign_orig_starred_align:} \seq_use:Nnnn \l__overlayalign_linesout_seq { \\ } { \\ } { \\ } \end{_overlayalign_orig_starred_align:} } { } }{ } \ExplSyntaxOff % Source - https://tex.stackexchange.com/a/682151 % Posted by samcarter_is_at_topanswers.xyz, modified by community. See post 'Timeline' for change history % Retrieved 2026-03-30, License - CC BY-SA 4.0 \newlength{\gapwidth} \makeatletter \newcommand{\doblankQ}[1]{% \ifmmode \if@display \settowidth{\gapwidth}{$\displaystyle #1$}% \else \settowidth{\gapwidth}{$#1$}% \fi \else \settowidth{\gapwidth}{#1}% \fi \alert<.(1)>{% \alt<+->{% #1% }{% \vphantom{#1}\smash{\underline{\makebox[\gapwidth]{?}}}% }% }% } \makeatother \begin{document} \begin{frame} \begin{overlayalign} \begin{align} 4(2 + 8) & = 4(2) + 4(\doblankQ{8})\\ x(a + b) & = x(a) + x(b)\\ 4(2 + 8) & = 4(2) + 4(\doblankQ{8}). \end{align} \end{overlayalign} \end{frame} \end{document} It produces the following output. For both lines 1 and 3, I would like the line numbers to be shown one overlay earlier (i.e., when the question mark on that line is shown).
- Fullpage vs geometryby Sebastiano on March 30, 2026 at 12:33 pm
I am trying to understand the differences between the fullpage package (e.g. \usepackage[cm]{fullpage}) and the geometry package for setting page margins. From what I see, both seem to adjust margins, but I am not sure: In which situations is it appropriate to use fullpage? When should I prefer geometry instead? Are there any limitations or drawbacks of fullpage compared to geometry? Is one of them considered best practice today? For example, is there any reason to write: \usepackage[cm]{fullpage} instead of: \usepackage[a4paper, margin=2cm]{geometry} I would appreciate a clear explanation of the differences and recommendations for typical use cases.
- ltx-talk: \visible command not working as I expected, part IIby Svend Tveskæg on March 30, 2026 at 11:59 am
This is a follow-up question to ltx-talk: \visible command not working as I expected. Code IMPORTANT: I'm not near a TeX distribution at the moment so I don't know if the following will compile but I think this is the code that I tested at home. % lualatex test.tex \DocumentMetadata{ lang = da, tagging = on } \documentclass[ danish ]{ltx-talk} \usepackage{pstricks} \begin{document} \begin{frame}{\visible<1->{Exercise}} \begin{center} \begin{pspicture}(1,1) \visible<2->{\psframe(0,0)(1,1)} \end{pspicture} \end{center} \end{frame} \end{document} Problem The problem described in the first part is now solved after updating ltx-talk but there is still a problem; if I put \visible<n->{...} (for n > 1) inside a pspicture environment, the behaviour with the picture being drawn right from the start of the frame persists.
- Issue with kashida inside underlineby Salim Bou on March 30, 2026 at 11:21 am
This example of arabic text (babel with lualatex engine) does not give the desired result, text inside \underline with kashida activated displays an incorrect result. Used font Noto Naskh Arabic. \documentclass{article} \usepackage[bidi=basic]{babel} \babelprovide[import=ar, main, justification = kashida, transforms = kashida.base] {arabic} \babelfont{rm}{Noto Naskh Arabic} \begin{document} \large\bfseries \makebox[4cm][s]{سلام} \underline{\makebox[4cm][s]{سلام}} \end{document}
- Why is "every [shape] node" applied after node options?by karlh on March 29, 2026 at 3:35 pm
As a sort of follow-up to a previous question, why is "every [shape] node" applied after node options? For example, \documentclass[tikz]{standalone} \begin{document} \begin{tikzpicture}[every rectangle node/.style={draw=black, minimum width=1cm,minimum height=1cm}] \node [rectangle] {hello!}; \node [rectangle] at (2.5,0) {hello again!}; \node [rectangle,minimum height=2cm] at (0,-2) {Hello, world!}; \bgroup \tikzset{every rectangle node/.style={draw=black,minimum width=1cm, minimum height=2cm}} \node [rectangle] at (2.5,-2) {Hello, world!}; \egroup \node [rectangle] at (0,-3.75) {goodbye!}; \end{tikzpicture} \end{document} which produces The two "Hello, world!" boxes should look the same, but because of the order in which things are applied, they do not. Creating a group with "every rectangle node" fixes it, as in the example, but is cumbersome. (The bgroup...egroup guards prevent the \tikzset settings from propagating to the rest of the picture, too.) My main question: Why is "every [shape] node" applied after the node options, overriding what is (presumably) the user's choice for that particular object, and is there interest from TikZ developers in changing that default to restore what seems to me to be the more intuitive behavior, that is, applying the "every [shape] node" settings just before the node's optional arguments, so the optional arguments override anything that is applied "globally"? If it would be helpful for me to raise this as an issue on Github, I can do that.
- Draw a TikZ path behind cell content and rules in nicematrixby projetmbc on March 29, 2026 at 2:47 pm
I want to draw a TikZ connector between two cells in a NiceTabular, but the path always appears on top of the rules (hvlines) and the text. If I use \CodeAfter, it's on top, and I can't use \CodeBeforebecause the nodes (i-j) are not recognized. How can I draw this path on the background layer? \documentclass[border = 3pt]{standalone} \usepackage{nicematrix} \usepackage{tikz} \begin{document} \renewcommand{\arraystretch}{1.2} \begin{NiceTabular}{>{\bfseries}*{6}{c}}[ hvlines, corners = NW, ] \RowStyle{\bfseries} & A & B & C & D & E \\ A & & & 1 & 1 & \\ B & & & & 1 & 1 \\ C & 1 & & & & 1 \\ D & 1 & 1 & & & \\ E & & 1 & 1 & & % \CodeAfter \tikz\draw[red, ->] (4-1.east) -| (1-2.south); \end{NiceTabular} \end{document}
- Keeping underlined text within the confines of the marginsby user143462 on March 29, 2026 at 2:40 pm
How do I modify the \newcommand in the preamble in order for the underlined text to be properly contained by the margins? I got it here: underline omitting the descenders. Also, my code will not compile without the \usepackage{tikz} in the preamble. I don't have a tikzpicture environment in my code. This is bizarre. \documentclass[10pt]{amsart} \usepackage{soul} \usepackage{tikz} \makeatletter \newcommand*{\whiten}[1]{\llap{\textcolor{white}{{\the\SOUL@token}}\hspace{#1pt}}} \DeclareRobustCommand*\myul{% \def\SOUL@everyspace{\underline{\space}\kern\z@}% \def\SOUL@everytoken{% \setbox0=\hbox{\the\SOUL@token}% \ifdim\dp0>\z@ \raisebox{\dp0}{\underline{\phantom{\the\SOUL@token}}}% \whiten{1}\whiten{0}% \whiten{-1}\whiten{-2}% \llap{\the\SOUL@token}% \else \underline{\the\SOUL@token}% \fi}% \SOUL@} \begin{document} In 2007, a team led by Alice Storey analyzed a chicken bone found in El Arenal, Chile, dating it to 1321--1407 CE~---~over a century before Europeans invaded the region, bringing their own chickens. Storey also found that the El Arenal chicken shared a unique genetic mutation with the ancient chicken breeds of the Polynesian Islands in the Pacific. Thus, \myul{Polynesian peoples, not later Europeans, probably first introduced chickens to South America.} \end{document}
- What is a better approach to plot the double path style as a subpath?by Explorer on March 29, 2026 at 3:03 am
I want to replicate something as below: Now is my code, but good with the conjunction (the double path's start and end, and the glitch of double), even with line join=round: \documentclass[tikz,border=5pt]{standalone} \begin{document} \begin{tikzpicture}[line join=round] \coordinate (start) at (0,1.5); \coordinate (end) at (0,0); \draw[magenta] (start) -- ++(3,0) coordinate (doublestart) ++(-.5,-1.5) coordinate (doubleend) -- (end); \draw[cyan,double,double distance=2.5pt] (doublestart) .. controls ++(.25,-.75) and ++(-.3,1) .. (doubleend) ; \end{tikzpicture} \end{document}
- When and why do we change the order of expansion?by user110391 on March 28, 2026 at 1:19 pm
Let me know if this question is too broad and I will try to narrow it. So, I am trying to learn expl3, and I am using Gemini, a code project and various articles as my tools. The main article I've been reading is this one, and it has helped. So has Gemini. Gemini is making a lot of mistakes and causing confusion, but for some of the basics, it has helped me a lot (I noticed my ability to understand the linked-to article improved after talking with Gemini). But now, Gemini is seemingly no longer able to teach me, because I've reached the end of its more-accurate-than-not region. It cannot precisely and rigorously explain how TeX does macro expansion. As a result, I do not understand it. Gemini seems to have a bias to unnecessarily utilize expansion signatures and use/eval functions (and therefore it has to utilize more _protected and \exp_not:n functions), which is really making a mess of its code. The code compiles correctly, but with massive amounts of unnecessary pre-expansion. And that is thusly making me really confused about when and why we change the order of expansion. [BTW, perhaps unneccesary expansion combined with nonetheless relatively advanced code is a good indicator of AI-written LaTeX?] So, for context, here is the extent of my understanding till now, taken from the linked-to article: \newcommand{\cmda}{abcd} \uppercase{abcd\cmda} %ABCDabcd So, in this example, we're shown that using \uppercase here does NOT produce the output ABCDABCD. This is explained through the fact that \uppercase is acting on letters, and leaves control sequences unchanged. Now, \cmda is control sequence, but its defintion is a string of letters. So, if we could pre-expand \cmda, then we could get the result ABCDABCD. The article explains two ways to do this, but I'm more interested in why we have to do this in the general case. And I wonder if the above example gives me a general understanding of when expansion is needed. So, when we have a function and we DON'T need to expand it, is it simply because the control sequence is "readable/expandable" by that function, and the function is thusly able to act on its definition? My current understanding can be summed up as this: If you want the function to act on a control sequence's definition, and if the function doesn't expand its input for you, you have to expand the input for it. How to expand depends on how many layers you want to expand, and what the control sequence is (function or variable). Knowing when to pre-expand (and knowing when to protect from pre-expansion) thus reduces to knowing which functions don't, and do, expand for you. I have a feeling this is insufficient, however. Like it isn't a fully general explanation. And even if it is general, it seems imprecise. I would like to be able to break things down into the eyes-vs-mouth-vs-stomach analogy and understand how TeX parses the text and when it expands each component thereof. I currenly have an idea of the mouth expanding everything with a default order, and then the text reaches the stomach fully expanded, and there it gets converted by the PDF engine into points on paper. Understanding this pipeline at high level of detail and rigor would make everything a lot simpler to me. The core idea of expansion and the ordering thereof is simple, but the devil is in the details.
- tabular text besides imageby Viesturs on March 27, 2026 at 12:32 pm
In a tabular environment, text needs to be placed symmetrically besides a drawing: Code: \documentclass[a4paper]{article} \usepackage{graphicx} \begin{document} \begin{tabular}[t]{@{}c@{\hspace{0.5cm}} l@{}} \includegraphics[width=0.9cm]{example-image-a} & \begin{minipage}[t]{10cm} % [t] ensures top alignment line 1\\ line 2\\ \end{minipage} \end{tabular} \end{document} Output: Text is hanging below the image. How to place the image and text side by side symmetrically?