Week
- Is italic correction used in text mode with OpenType fonts?by Antonis on April 19, 2026 at 6:42 pm
Some characters in NewCM have italic correction in the text fonts. This forces fontforge to emit a MATH table. I was informed that unicode TeX engines do not use italic correction in text mode so I have to remove this information, and with this the MATH table too. But if I write f| and f\/| the output is not the same. So what is true? I am confused. \begin{document} \usepackage{fontsetup} \begin{document} X\textsubscript{2} \textit{X}\textsubscript{2} \textit{X\nocorr}\textsubscript{2} f| f\/| \end{document}
- add a grid background only inside a tabular columnby Christopher Madec on April 19, 2026 at 5:19 pm
I am trying to create a worksheet layout in LaTeX where one column of a table contains a writing area with a grid (like squared paper), while the other column contains several questions (Here is an example with just one question). \documentclass{article} \usepackage{array} \usepackage{xcolor} \usepackage{geometry} % \usepackage{arydshln} \usepackage{lipsum} \geometry{a4paper, left=0.35in, right=-0.1in, top=0.6in, bottom=0.4in} \definecolor{burgundy}{HTML}{8B2252} \usepackage{scrlayer-scrpage} \usepackage{tikz} \newcommand*\Circled[1]{\tikz[baseline=(char.base)]{\textcolor{burgundy}{\node[shape=circle,draw,inner sep=2pt] (char) {#1};}}} \usepackage{tikzducks} \usetikzlibrary{calc} \newcommand{\pageframe}{% \begin{tikzpicture}[remember picture, overlay] \fill [burgundy!80!white] (current page.north west) rectangle (current page.south east); \fill [white, rounded corners=1cm] ($(current page.north west)+(0.5cm,-1cm)$) rectangle ($(current page.south east)+(-0.5cm,1cm)$); \node [align=center] at ($(current page.north)+(0,-0.6cm)$) {$\color{white}\mathrm{Chapitre \ 2 - Diffusion \ thermique}$}; \node [align=center] at ($(current page.south)+(0,1.9cm)$) {\centering\begin{tikzpicture}[scale=0.5] \shuffleducks \duck[\randomhead,\randomaccessories, /tikz/nodes={scale/.evaluated={\value{page}>99?0.4:0.6},font=\bfseries}, signpost=\scalebox{1.6}{ \parbox{6cm}{\hspace{-0.4em}\color{black} \centering\thepage}}, signback =white] \end{tikzpicture}}; %%% Background grid \draw[step=5mm, gray!30, very thin] ($(current page.north west)+(7cm,-1.5cm)$) grid ($(current page.south east)+(-1cm,5cm)$); \end{tikzpicture} } \cehead[\pageframe]{\pageframe} \cohead[\pageframe]{\pageframe} \pagestyle{scrheadings} % Another try \usepackage{makecell} \newcommand{\gridcell}[1][4cm]{% \begin{tikzpicture} \draw[step=5mm, gray!40, very thin] (0,-0.2) grid (\linewidth, #1); \end{tikzpicture}% } \begin{document} \renewcommand{\arraystretch}{6} \begin{tabular}{>{\centering\raggedright}m{0.25\textwidth}||>{\centering\arraybackslash}m{0.60\textwidth}} \Circled{1} \'Enoncer le théorème de Green-Ostrograski & \\ \hline \end{tabular} \end{document} Goal I would like the second column of the table to contain a grid background (like graph paper) so that students can write their answers. I want to find the best way to create a grid (squared background) that is confined to a specific table column, and that does not overflow outside the table. What I tried so far Using a page-wide background grid, but it overflows outside the table and does not align with the table structure \draw[step=5mm, gray!30, very thin] ($(current page.north west)+(7cm,-1.5cm)$) grid ($(current page.south east)+(-1cm,5cm)$); \end{tikzpicture} The code looks like this: Drawing a grid with TikZ inside a cell → does not scale correctly with row height \newcommand{\gridcell}[1][4cm]{% \begin{tikzpicture} \draw[step=5mm, gray!40, very thin] (0,-0.2) grid (\linewidth, #1); \end{tikzpicture}% }
- TikZ nodes within a scope are not projectedby Tianjian Qin on April 19, 2026 at 4:55 pm
I'm trying to draw a 3D panel, within each panel there are dashed panel frame, some circles, lines connecting the circles, text, and maybe other objects. I tried to draw all these within a scope, then apply a projection so that all of these drawings can be 3D-rotated, but this trick only works on the panel frame, not properly on the other objects, see the screenshot: And here is the standalone tex code: \documentclass[tikz,border=6pt]{standalone} \usepackage{xcolor} \usetikzlibrary{arrows.meta,calc} % Example colors \definecolor{Accent}{RGB}{60,90,150} \definecolor{PersistCol}{RGB}{70,130,90} \definecolor{ReactCol}{RGB}{180,110,60} \definecolor{NewCol}{RGB}{180,70,80} \begin{document} \begin{tikzpicture}[ font=\small, >=Latex, side layer projection/.style={x={(0.46cm,0.25cm)}, y={(0cm,0.75cm)}}, frame/.style={ draw=black!78, dashed, line width=.72pt, dash pattern=on 5pt off 4pt, line cap=round }, v/.style={ circle, draw=gray!55, fill=gray!22, minimum size=4pt, inner sep=0pt }, pe/.style={draw=PersistCol, line width=1.0pt}, re/.style={draw=ReactCol, line width=1.0pt}, ne/.style={draw=NewCol, line width=1.0pt} ] \def\P{1.10} \newcommand{\PlaneFrame}{% \draw[frame] (-\P,-\P)--(\P,-\P)--(\P,\P)--(-\P,\P)--cycle; } \newcommand{\PlaneLabel}[1]{% \path (-.86,-\P)--(.86,-\P) node[midway, below=2pt, sloped, transform shape, font=\scriptsize] {#1}; } \newcommand{\PoolNodes}{% \node[v] (a) at (-.75,.55) {}; \node[v] (b) at (-.10,.88) {}; \node[v] (c) at (.68,.42) {}; \node[v] (d) at (-.70,-.55) {}; \node[v] (e) at (.65,-.55) {}; } % One projected layer only \begin{scope}[side layer projection] \PlaneFrame \PlaneLabel{selected \(E_t^\star\)} \PoolNodes \draw[pe] (a)--(b); \draw[re] (d)--(e); \draw[ne] (c)--(e); \end{scope} \end{tikzpicture} \end{document} What I did wrong here? UPDATE: Just tried to add \usetikzlibrary{3d} and use something like \begin{scope}[canvas is zy plane at x=0, every node/.style={transform shape}]. This only solve the issue in text and circles, not the edges (straight lines):
- Arrow tips look wrong at the end of a plotby Muhannad Al Ayoubi on April 19, 2026 at 4:31 pm
I have a weird problem with arrow heads at the end of plots, where they look wrong, as you can see in the picture (look below left; the line seems to exceed the arrow tip). Removing colour or changing thickness did not solve the problem. Interestingly, making the arrow longer does fix the issue, but is not a plausible fix. Also increasing the scale seems to hide the issue, but I would not like to do that, as diagrams would get too big. This issue does not appear with the longer parabola or the blue line which I drew normally. Here is an MWE. \documentclass[10pt]{book} \usepackage{tikz} \usetikzlibrary{arrows.meta} % Tikz libraries \tikzset{>={Stealth}} \begin{document} \begin{tikzpicture}[scale=0.4] \draw[->, thick, red, domain=-1:3.5, variable=\t, smooth, samples=75] plot ({\t,2-0.5*\t*\t}); \draw[<-, thick, red, domain=-2:-0.5, variable=\t, smooth, samples=75] plot (2*\t,\t-1); \draw[draw=red, fill=white] (-1,-1.5) circle (4pt); \draw[thick, blue,<->] (0,-3) -- (1,-2); \draw[red, fill] (-1,1.5) circle (4pt); \end{tikzpicture} \end{document} Any idea what is going wrong? And how to fix it? Zoomed in picture on the issue:
- How do I properly space this quantified expression?by Jasper on April 19, 2026 at 8:08 am
I want to learn to typeset logical statements properly. Specifically, I am interested in horizontal spacing. These symbols look way too close together. Also, are there potentially better symbols I could be using? I know it took me years before I learned \lvert. \documentclass[letterpaper]{book} \usepackage{microtype} \usepackage{mathtools} \usepackage{unicode-math} \begin{document} How do I horizontally space this properly? \[ \forall\varepsilon>0 \exists n\in\mathbb{N} \mid \frac{1}{n}<\varepsilon \] \end{document}
- How can I use fonttable to typeset a table for the T5 encoding using the vietnam package and still use ể afterwards?by cfr on April 19, 2026 at 7:58 am
This is a copy of the second version of Grzegorz Brzęczyszczykiewicz's question, which is quite different from the first. The first already had an answer. The second is a response to that answer. I cannot answer there without making a mess, so I am asking here in order to keep things tidy. Everything below this line is copied verbatim. My custom T5 font (VIETNAMESE language) doesn't work the tone diacritic for hook (dấu hỏi) does not render properly, it shows up as "F" It only renders correctly when I force it with \char. Even if I try \h{e} etc. it still gives me the letter "F" How do I make it work correctly? I don't want to litter the LaTeX code UPDATE: Even in a normal font it doesn't work \documentclass{article} \usepackage[T5, T1]{fontenc} \usepackage[utf8]{vietnam} \usepackage{fonttable} \font\dict=dict at 10pt \font\dictv=dictv at 10pt \newcommand{\writefont}[4]{{% \fontsize{10pt}{10pt}\usefont{#1}{#2}{#3}{#4}\selectfont \newcount\myloopcount \myloopcount=0 \loop \char\the\myloopcount\space\ \advance\myloopcount by 1 \ifnum\myloopcount<256 \repeat }} \newcommand{\fleafonttable}[4] { {\dict Font: {#2}\{#3\}\{#4\} (encoding: {#1})} \xfonttable{#1}{#2}{#3}{#4} } \newcommand{\vietnamesefonttable}[4] { {\dict Font: {#2}\{#3\}\{#4\} (encoding: {#1})} \xfonttable{#1}{#2}{#3}{#4} } \begin{document} \fleafonttable{T1}{dict}{m}{n} \fleafonttable{T1}{dict}{m}{it} \vietnamesefonttable{T5}{dictv}{m}{n} \writefont{T1}{dict}{m}{n} \writefont{T1}{dict}{m}{it} \writefont{T5}{dictv}{m}{n} Bà Ba béo bán bánh bò, bán bòn bon, bán bong bóng, bên bờ biển, bả bị bộ binh bắt ba bốn bận. \dictv Bà Ba béo bán bánh bò, bán bòn bon, bán bong bóng, bên bờ biển, bả bị bộ binh bắt ba bốn bận. \end{document} Funnily enough, it works without the tables \documentclass{article} \usepackage[T5, T1]{fontenc} \usepackage[utf8]{vietnam} \usepackage{fonttable} \font\dict=dict at 10pt \font\dictv=dictv at 10pt \begin{document} Bà Ba béo bán bánh bò, bán bòn bon, bán bong bóng, bên bờ biển, bả bị bộ binh bắt ba bốn bận. \dictv Bà Ba béo bán bánh bò, bán bòn bon, bán bong bóng, bên bờ biển, bả bị bộ binh bắt ba bốn bận. \end{document} returns this: I want it to work with the font table as well. Is there a way or... am I stuck "ỏrever"?
- Letter "F" in Vietnamese [closed]by Grzegorz Brzęczyszczykiewicz on April 18, 2026 at 10:05 pm
My custom T5 font (VIETNAMESE language) doesn't work the tone diacritic for hook (dấu hỏi) does not render properly, it shows up as "F" It only renders correctly when I force it with \char. Even if I try \h{e} etc. it still gives me the letter "F" How do I make it work correctly? I don't want to litter the LaTeX code UPDATE: Even in a normal font it doesn't work \documentclass{article} \usepackage[T5, T1]{fontenc} \usepackage[utf8]{vietnam} \usepackage{fonttable} \font\dict=dict at 10pt \font\dictv=dictv at 10pt \newcommand{\writefont}[4]{{% \fontsize{10pt}{10pt}\usefont{#1}{#2}{#3}{#4}\selectfont \newcount\myloopcount \myloopcount=0 \loop \char\the\myloopcount\space\ \advance\myloopcount by 1 \ifnum\myloopcount<256 \repeat }} \newcommand{\fleafonttable}[4] { {\dict Font: {#2}\{#3\}\{#4\} (encoding: {#1})} \xfonttable{#1}{#2}{#3}{#4} } \newcommand{\vietnamesefonttable}[4] { {\dict Font: {#2}\{#3\}\{#4\} (encoding: {#1})} \xfonttable{#1}{#2}{#3}{#4} } \begin{document} \fleafonttable{T1}{dict}{m}{n} \fleafonttable{T1}{dict}{m}{it} \vietnamesefonttable{T5}{dictv}{m}{n} \writefont{T1}{dict}{m}{n} \writefont{T1}{dict}{m}{it} \writefont{T5}{dictv}{m}{n} Bà Ba béo bán bánh bò, bán bòn bon, bán bong bóng, bên bờ biển, bả bị bộ binh bắt ba bốn bận. \dictv Bà Ba béo bán bánh bò, bán bòn bon, bán bong bóng, bên bờ biển, bả bị bộ binh bắt ba bốn bận. \end{document} Funnily enough, it works without the tables \documentclass{article} \usepackage[T5, T1]{fontenc} \usepackage[utf8]{vietnam} \usepackage{fonttable} \font\dict=dict at 10pt \font\dictv=dictv at 10pt \begin{document} Bà Ba béo bán bánh bò, bán bòn bon, bán bong bóng, bên bờ biển, bả bị bộ binh bắt ba bốn bận. \dictv Bà Ba béo bán bánh bò, bán bòn bon, bán bong bóng, bên bờ biển, bả bị bộ binh bắt ba bốn bận. \end{document} returns this: I want it to work with the font table as well. Is there a way or... am I stuck "ỏrever"?
- Why does `\robotoslab\fontseries{...}\selectfont` not work in LuaLaTeX?by Roel on April 18, 2026 at 8:37 pm
I would like to use the light and normal/medium variant of Roboto Slab from the package roboto. Compiling with pdfLaTeX this works as expected: \documentclass{minimal} \usepackage{roboto} \begin{document} \robotoslab \fontseries{n}\selectfont Roboto Slab normal \fontseries{l}\selectfont Roboto Slab light \end{document} However, compiling the same with LuaLaTeX I only get the normal/medium variant instead: The light variant is available in LuaLaTeX; when I use the option \usepackage[light]{roboto}, I get only light: Looking at the package code I thought \usepackage[type1]{roboto} would work (this looks like it would use the pdfLaTeX functionality, even when using LuaLaTeX), but instead I don't get Roboto Slab at all: So how can I switch between these fonts when I use LuaLaTeX? Adding \fontencoding{T1} as suggested here does not seem to change a thing...
- providing a mathchancery alphabetby Antonis on April 18, 2026 at 4:48 pm
unicode-math provides for two calligraphic sets. These are \mathcal/\symcal and \mathscr/\symscr. By default they produce the same output but one can separate them using something like \setmathfont[rang={\mathscr,\mathbfscr},StylisticSet=1]{NewCM10-Regular.otf} Then \mathscr will give different results than \mathcal. Unicode supports three variants accessed with Variation Selectors U+FE00 and U+FE01. The former switches to chancery and the latter to roundhand. However, TeX engines do not support Variation Selectors. So it seems proper to introduce a third alphabet variant called for example \mathchancery or \symchancery. NewComputerModern will provide three calligraphic alphabets in next release after restoring Knuthian Calligraphics as default (mathcal). The Euler style calligraphic is now the chancery variant and the roundhand remains as \mathscr. My question is if it is easy to introduce this extra \mathchancery alphabet with newcomputermodern.sty until unicode-math incorporates such an addition, and how to do it?
- How to construct the "double dotted"-framed box?by Explorer on April 18, 2026 at 3:04 am
What I tried to replicate is something as below: Noted that the double-dotted is aligned as the red line denoted, and the "rotated box" is NOT what I want(just because the image I get rotated itself), I just want something the same as \dashbox or \doublebox, the normal horizonal box. The post here, I think, just want to focus the dots alignment. Now I have the following code: \documentclass{article} \usepackage[most]{tcolorbox} \usepackage{tikz} \usepackage{lipsum} \usepackage{dashbox} \usepackage{fancybox} % https://tex.stackexchange.com/a/101263/322482 \makeatletter \tikzset{ dot diameter/.store in=\dot@diameter, dot diameter=3pt, dot spacing/.store in=\dot@spacing, dot spacing=10pt, dots/.style={ line width=\dot@diameter, line cap=round, dash pattern=on 0pt off \dot@spacing }, } \tcbset{ doubledotted/.style={ empty, sharp corners, frame engine=path, frame empty, frame code={ \draw[dots](frame.south west) rectangle (frame.north east); \draw[dots]([xshift=-\dot@spacing,yshift=-\dot@spacing]frame.south west) rectangle ([xshift=\dot@spacing,yshift=\dot@spacing]frame.north east); }, } } \makeatother \begin{document} AAA \qquad\tcbox[doubledotted,nobeforeafter,box align=center]{This is a tcolorbox.}\qquad BBB \vspace{1cm} \begin{tcolorbox}[doubledotted] \lipsum[2] \end{tcolorbox} \bigskip \fbox{This is a framebox.} \dashbox{This is a dashed framebox.} \doublebox{This is a doublebox.} \end{document} which gives: The disturbing point is that the dotted in a \path is hard to control the alignment precisely. I have to cliam that, I think that would be two different approach to achieved this: One with tcolorbox and tikz Another with some "plain" approaches for example dashedbox and fancybox: fancybox.sty: % fancybox.sty % Line 143 \def\doublebox{\VerbBox\@doublebox} \def\@doublebox#1{% \begingroup \setbox\@fancybox\hbox{{#1}}% \fboxrule=.75\fboxrule \setbox\@fancybox\hbox{\fbox{\box\@fancybox}}% \fboxrule=2\fboxrule \fboxsep=\fboxrule \advance\fboxsep .5pt \fbox{\box\@fancybox}% \endgroup} dashbox.sty: %% %% This is file `dashbox.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% dashbox.dtx (with options: `package') %% Dashed and layered boxes. %% %% File `dashbox.dtx'. %% Copyright (C) 1997-2001 Reuben Thomas (rrt@sc3d.org) %% This file is distributed under the LaTeX Project Public License, %% and comes with no warranty. %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{dashbox} [2001/12/11 v1.14 Dashed and layered boxes] \RequirePackage{calc} \RequirePackage{ifthen} \newlength{\dashlength} \setlength{\dashlength}{6pt} \newlength{\dashdash} \setlength{\dashdash}{3pt} \newlength{\layersize} \setlength{\layersize}{\dashdash} \newcommand{\hd@shrule}[1]{% \hbox to #1% {\vrule height \fboxrule width \dashdash% \cleaders\hbox to \dashlength% {\hfill\rule{\dashdash}{\fboxrule}\hfill}\hfill% \ifthenelse{\lengthtest{#1 > 2\dashdash}}% {\vrule height \fboxrule width \dashdash}{}% }} \newcommand{\vd@shrule}[1]{% \vbox to #1% {\hrule height \dashdash width \fboxrule% \cleaders\vbox to \dashlength% {\vfill\rule{\fboxrule}{\dashdash}\vfill}\vfill% \ifthenelse{\lengthtest{#1 > 2\dashdash}}% {\hrule height \dashdash width \fboxrule}{}% }} \newsavebox{\d@shedsavebox} \newlength{\d@shedboxwidth} \newlength{\d@shedboxtotalheight} \newcommand{\m@kedashbox}{% \setlength{\d@shedboxtotalheight}% {\dp\d@shedsavebox+\ht\d@shedsavebox+\fboxsep*2+\fboxrule*2}% \raisebox{-\fboxrule-\fboxsep-\dp\d@shedsavebox}{% \parbox[b]{\d@shedboxwidth}{% \offinterlineskip% \parskip=0pt% \hd@shrule{\d@shedboxwidth}% \kern-\fboxrule% \par% \parbox{\fboxrule}{\vd@shrule{\d@shedboxtotalheight}}% \kern\fboxsep% \parbox{\wd\d@shedsavebox}% {\vspace{\fboxsep}\usebox{\d@shedsavebox}\vspace{\fboxsep}}% \kern\fboxsep% \parbox{\fboxrule}{\vd@shrule{\d@shedboxtotalheight}}% \par% \kern-\fboxrule% \hd@shrule{\d@shedboxwidth}}% }} \newcommand{\dbox}[1]{% \sbox{\d@shedsavebox}{#1}% \setlength{\d@shedboxwidth}{\wd\d@shedsavebox+\fboxsep*2+\fboxrule*2}% \m@kedashbox} \def\dashbox{\@ifnextchar[\@dashbox\dbox} \def\@dashbox[#1]{\@ifnextchar[{\@idashbox[#1]}{\@idashbox[#1][c]}} \long\def\@idashbox[#1][#2]#3% {\setlength{\d@shedboxwidth}{#1}% \savebox{\d@shedsavebox}[#1-\fboxsep*2-\fboxrule*2][#2]{#3}% \m@kedashbox} \newsavebox{\l@yersavebox} \newlength{\l@yerwidth} \newlength{\l@yerboxwidth} \newlength{\l@yertotalheight} \newlength{\l@yerlineheight} \newlength{\l@yervoffset} \newcommand{\m@kelayer}[1]{% \setlength{\l@yertotalheight}% {\dp\l@yersavebox+\ht\l@yersavebox+\layersize-#1\layersize}% \setlength{\l@yerlineheight}% {\ht\l@yersavebox-#1\layersize-\fboxrule}% \setlength{\l@yervoffset}% {-\layersize-\dp\l@yersavebox}% \setlength{\l@yerboxwidth}% {\wd\l@yersavebox+\layersize-#1\layersize}% \parbox{\l@yerwidth}{% \offinterlineskip% \parskip=0pt% \usebox{\l@yersavebox}% \rule[\l@yerlineheight]{\layersize}{\fboxrule}% \kern-\fboxrule% \rule[\l@yervoffset]{\fboxrule}{\l@yertotalheight}% \kern-\wd\l@yersavebox\kern-\layersize\kern#1\layersize \rule[\l@yervoffset]{\fboxrule}{\layersize}% \kern-\fboxrule \rule[\l@yervoffset]{\l@yerboxwidth}{\fboxrule}% }} \newcommand{\l@yer}[2]{% \sbox{\l@yersavebox}{#2}% \setlength{\l@yerwidth}{\wd\l@yersavebox+\layersize}% \m@kelayer{#1}} \newcommand{\m@kedashlayer}[1]{% \setlength{\l@yertotalheight}% {\dp\l@yersavebox+\ht\l@yersavebox+\layersize-#1\layersize}% \setlength{\l@yerlineheight}{\ht\l@yersavebox-#1\layersize-\fboxrule}% \setlength{\l@yervoffset}{-\layersize-\dp\l@yersavebox}% \setlength{\l@yerboxwidth}% {\wd\l@yersavebox+\layersize-#1\layersize}% \parbox{\l@yerwidth}{% \offinterlineskip% \parskip=0pt% \usebox{\l@yersavebox}% \raisebox{\l@yerlineheight}{\hd@shrule{\layersize}}% \kern-\fboxrule% \raisebox{\l@yervoffset}% {\parbox[b]{\fboxrule}{\vd@shrule{\l@yertotalheight}}}% \kern-\wd\l@yersavebox\kern-\layersize\kern#1\layersize \raisebox{\l@yervoffset}% {\parbox[b]{\fboxrule}{\vd@shrule{\layersize}}}% \kern-\fboxrule \raisebox{\l@yervoffset}% {\hd@shrule{\l@yerboxwidth}}% }} \newcommand{\dl@yer}[2] {\sbox{\l@yersavebox}{#2}% \setlength{\l@yerwidth}{\wd\l@yersavebox+\layersize}% \m@kedashlayer{#1}} \newcounter{l@yercount} \newcommand{\l@yers}[3] {\setcounter{l@yercount}{1}% \sbox{\l@yersavebox}{#2}% \whiledo{\not\(\value{l@yercount} > #1\)}% {\sbox{\l@yersavebox}% {#3{\value{l@yercount}}{\usebox{\l@yersavebox}}}% \stepcounter{l@yercount}}% \usebox{\l@yersavebox}% } \newcommand{\lbox}[2][2]{% \l@yers{#1}{#2}{\l@yer}} \newcommand{\dlbox}[2][2]{% \l@yers{#1}{#2}{\dl@yer}} \endinput %% %% End of file `dashbox.sty'. I was not sure which one is more elegant/easy, any solution are all welcome!
- How to format an enumerate list in LaTeX to match a specific visual style (with example image)?by Денис Мишкин on April 18, 2026 at 2:05 am
I’m struggling with formatting an enumerate list in LaTeX. I have an example image (attached below) showing the desired style — specifically, the left variant with the red frame. I need to achieve the following: The text in the list items should start exactly from the left margin (no «hanging indent»). The numbering (1., 2., etc.) should be aligned with the left edge, with minimal space between the number and the start of the text. When the text wraps to the second line, it should align directly under the beginning of the first line (not indented). The entire block (including the red frame in the example) should look clean and professional, similar to the left variant in the image. What I’ve tried so far: Used leftmargin=* in the enumerate environment — this helps, but there’s still a small gap between the number and the text. Tried adjusting labelindent, itemindent, and labelsep, but can’t get the perfect alignment. Looked into enumitem package options, but haven’t found the right combination. Current code snippet: \begin{enumerate}[beginpenalty=10000] \item First item with long text that wraps to the next line. \item Second item, also with lengthy description. \end{enumerate} The issue: while this reduces the indentation, it doesn’t fully match the style in the image. The wrapped lines still have a slight indent, and the overall look isn’t as clean as the example. Attached image: [insert image link/attachment here] — the left variant with the red frame is the target style. Questions: What additional parameters do I need to adjust to achieve this exact style? Should I use tcolorbox or another package to create the frame (as in the example)? If so, how to combine it with the enumerate list? Is there a «golden combination» of enumitem settings that guarantees this clean, flush-left alignment? How to ensure that wrapped lines align perfectly with the start of the first line? Any working examples or templates would be hugely appreciated! Thanks in advance! 😊
- Is there a way to automatically create multiple pages inserting a new name in each one?by Fisherman's Friend on April 17, 2026 at 4:54 pm
I have been asked to create badges for a conference. In each corner of the badge will be an image with some logos. I have a long list of names of attendees and their institutions in Excel. I'd like to create a LaTeX document with a unique page for each attendee that I can then print out into badges. Below is an example layout of such a badge. \documentclass{article} \usepackage{graphicx} \usepackage{geometry} \usepackage{anyfontsize} \begin{document} \pagenumbering{gobble} \noindent\includegraphics[width=3cm]{example-image-a}\hspace{9cm}\noindent\includegraphics[width=3cm]{example-image-b} \vspace{6cm} \centering \fontsize{50}{2}\selectfont{\textbf{Example Name}} \vspace{2cm} \fontsize{40}{2}\selectfont{Example University at Example Country} \end{document} I'm hoping there is some way to automate this process. For instance, create an array of names {Name1, Name2, Name3} and ask LaTeX to create a new page for each name in the array along with the instution.
- How to get a table with one fixed cell, and an adaptive one?by Alessandro Bertulli on April 17, 2026 at 10:47 am
I'm trying to get something like this (taken from Microsoft Word): The left cell is going to be "fixed", meaning it shouldn't grow with the text filling the right one; viceversa, the right cell should adapt to the text put in it, but: being at least as high as the left cell with the background for the entire cell the table should take horizontally all of the \textwidth optionally, the left cell should have a minimum height For now I kinda managed to get this, with LuaLaTeX (1): \documentclass{report} \usepackage{tabularx} \usepackage{multirow} \usepackage[table]{xcolor} \usepackage{lipsum} \begin{document} \noindent\begin{tabularx}{\textwidth}[h]{p{6cm} >{\columncolor{gray}}X} {\cellcolor{red}\color{white}\textbf{Title of boxed section:}} & \multirow[t]{2}{=}{\lipsum[1]} \\ & \end{tabularx} \lipsum[1] \end{document} but as you see it overlaps both in the right cell, and with the rest of the text: We can use LuaLaTeX and LaTeX3. Do you have any advise? Thanks! (1) EDIT: added \usepackage{...} to provide complete MWE
- Draw shaded bands spanning over some strandsby Mohammed Sabak on April 17, 2026 at 10:27 am
I'm currently working on a math paper about some concepts in virtual knot theory. It is a very "visual" field of mathematics and we are often challenged to draw some original figures using Tikz code. The following is a hand made version of the figure I want to draw using Tikz code: I was able to produce the code for the left hand side figure (the crossings with the shaded bands spanning over its strands). But I could not produce the right hand side figure. Here is a minimal working example that could be given here. 🙂 \documentclass{standalone} \usepackage{tikz} \usetikzlibrary{calc,arrows.meta} \tikzset{>={Stealth[length=2mm]}} \begin{document} \begin{tikzpicture} \coordinate (P) at (-0.5,0); \draw[gray!55, line width=2mm, line cap=round] ($(P)+(-1,1)$) .. controls ($(P)+(0.2,-0.1)$) and ($(P)+(0.2,0.1)$) .. ($(P)+(-1,-1)$); \coordinate (Q) at (0.5,0); \draw[gray!55, line width=2mm, line cap=round] ($(Q)+(1,1)$) .. controls ($(P)+(0.8,-0.1)$) and ($(P)+(0.8,0.1)$) .. ($(Q)+(1,-1)$); \draw[thick, line cap=round,->] (-1.4,-1.4) -- (1.4,1.4); \draw[thick, line cap=round,->] (-1.4,1.4) -- (-0.2,0.2) ( 0.2,-0.2) -- ( 1.4,-1.4); \end{tikzpicture} \end{document}
- Bug with tikz backgrounds-libraryby DraUX on April 17, 2026 at 9:22 am
I recently noticed a bug, where the TikZ backgrounds library ignores any other options applied within the same scope definition. As you can see in the MWE below, I have a scope on the background layer with the additional options blue and ultra thick, which are ignored. \documentclass{standalone} \usepackage{tikz} \usetikzlibrary{backgrounds} \begin{document} \begin{tikzpicture} \draw[red, ultra thick] (0,0) -- (2,0); \begin{scope}[on background layer,blue,ultra thick] \draw (1,-1) -- (1,1); \end{scope} \end{tikzpicture} \end{document} Using nested scopes or defining the options directly in the path definition gives the desired result. \documentclass{standalone} \usepackage{tikz} \usetikzlibrary{backgrounds} \begin{document} \begin{tikzpicture} \draw[red, ultra thick] (0,0) -- (2,0); \begin{scope}[on background layer] \begin{scope}[blue,ultra thick] \draw (1,-1) -- (1,1); \end{scope} \end{scope} \end{tikzpicture} \end{document} Is this a bug? It isn't mentioned in the manual. I couldn't find a git repo to report an issue, so I hope this is the right place to ask.
- How to make citetitle use the full title by default and not the short title with biblatexby bmrs on April 17, 2026 at 8:29 am
I am using the "shorttitle" field with "biblatex" to handle the removal of articles (like "the") in French in some cases. The problem is that, as a result, the "citetitle" function uses the "shorttitle" attribute by default instead of the full title. How can I get to use full title by default? Here is the MWE: \documentclass{scrartcl} \usepackage{polyglossia} \setdefaultlanguage{french} \usepackage[ backend=biber, citestyle=verbose-trad2, ]{biblatex} \usepackage{filecontents} \DeclareCiteCommand\citeshorttitle {\usebibmacro{prenote}} {\mkbibemph{\printfield{shorttitle}}} {\multicitedelim} {\usebibmacro{postnote}} \begin{filecontents}{\jobname.bib} @book{Constitution, title = {La Constitution}, shorttitle = {Constitution}} \end{filecontents} \addbibresource{\jobname.bib} \nocite{*} \begin{document} The short title is \citeshorttitle{Constitution} but \texttt{citetitle} also becomes \citetitle{Constitution} instead of \emph{La Constitution}. \end{document}
- How to create a TikZ node whose top matches one node’s north and bottom matches another node’s south?by Lecthor on April 16, 2026 at 3:18 pm
I have two rectangular TikZ nodes placed one below the other: B1 is above B2. I would like to create a third rectangular node B3, shifted to the right in the x-direction, such that: the top of B3 is aligned with B1.north the bottom of B3 is aligned with B2.south I am not sure what is the best TikZ way to do this cleanly. Here is a minimal example of the situation: \documentclass{standalone} \usepackage{tikz} \usetikzlibrary{calc} \begin{document} \tikzstyle{block} = [draw, fill=white, rectangle, inner xsep=0pt, align=center, font=\small]% \begin{tikzpicture} \node [block, text width=3em] (B1) {Block 1}; \node [block, anchor=north, text width=3em] (B2) at ([yshift=-5em]B1.south) {Block 2}; \node [block, anchor=west] (B3) at ([xshift=5em]$(B1.east)!0.5!(B2.east)$) {Block 3}; \end{tikzpicture} \end{document} I tried using minimum height with coordinate differences, but I could not make it work properly. What is the recommended approach?
- Grouping in tables created with datatoolby JamesI on April 16, 2026 at 12:31 pm
I'm trying to print a table from a csv loaded with datatool, but have it display in groups - by which I mean (in the below example), the column 'group' should only have one entry per group, with 'data' repeated. In other words, no group name should appear twice. What I've done is to define (and re-define) a macro at the end of the loop to update to the latest group, then pass that to \DTLifstringeq. I've checked that the \lasttype is being updated each iteration by adding it's value to the printout table - it is. But despite it being the current value, the string comparison isn't working. The MWE \documentclass[12pt]{report} \usepackage{datatool} \usepackage{array} % Required for p{} columns \usepackage{tabularx} % Optional: for auto-width columns \usepackage{booktabs} % better tables \usepackage{longtable} % tables breaking across pages \usepackage{multirow} \usepackage{xstring} \usepackage{filecontents} \begin{filecontents*}{test.csv} group,data Thing1,something Thing1,somethingelse Thing1,somethingother Thing1,somethingsomething Thing2,newthing Thing2,newotherthing Thing2,newthirdthing Thing2,lastthing \end{filecontents*} \begin{document} % Load datatables % Load datatables \DTLread[name=test]{test.csv} % Define this BEFORE the longtable \newcommand{\lasttype}{} \begin{longtable}{l l} \toprule Group & Data\\ \midrule \endfirsthead \multicolumn{2}{l}{\textit{(continued)}} \\ \toprule Group & Data\\ \midrule \endhead \bottomrule \endlastfoot \gdef\lasttype{}% Reset tracker at the start of the table \DTLforeach{test}{ \group=group, \data=data }{% \DTLifstringeq{\group}{\lasttype}{ % Same type, leave first column empty & \data \\ }{% % New type, print it and update tracker GLOBALLY \group & \data \\ \gdef\lasttype{\group} } } \end{longtable} \end{document} If there's a better way to do it, that's great, but I'd love to know what the \DTLifstringeq isn't working when (as far as I can tell), I've literally just defined the two strings to be the same.
- Color symbol for lucide-icons packageby Sebastiano on April 16, 2026 at 11:28 am
What is the reason of why I can haven't the colors? \documentclass{article} \usepackage{xcolor} \usepackage{lucide-icons} \begin{document} \lucideicon{alarm-clock-check} \textcolor{red}{\lucideicon{alarm-clock-check}} \end{document}
- Bezier curves with controls?by Raffaele Santoro on April 16, 2026 at 8:45 am
How to make rounded corner and curve (..controls?) for this path (or similar)? \documentclass[margin={1.5cm 1,5cm 1.5cm 1.5cm}]{standalone} \usepackage{tikz} \begin{document} \begin{tikzpicture} \fill[cyan] (0,0)--(2,0)--(5,2)--(7,3)--(6,4)--(4,7)--(2,7)--(.5,5)--(0,2)--cycle; \end{tikzpicture} \end{document}
- What is a comment starting with an & in the preamble?by Alexander Gelbukh on April 15, 2026 at 10:34 pm
I am debugging somebody else's .tex file. The first line is: %&xx I also see files xx.fmt and xx.tex in the same folder. What does this line mean ? Is it like \input ? But apparently faster (I guess it includes a pre-compiled represemtation of the .tex file),is it ? The file xx.tex loads a number of packages, which makes it slow to compile. I guess the intention might have been to speed up the compilation. I am trying to compile the file that I am debugging with pdflatex (MikTex on Windows-10) . Strangely, pdflatex does not even produce a .log file -- Iguess it fails before that?
- Reformatting backrefby Pietro Paparella on April 15, 2026 at 8:21 pm
As a follow-up to this question here, I'd like to redefine \backrefxxx so that multiple back-references are formatted as they are on Wikipedia: I tried the following command: \renewcommand{\backrefxxx}[3]{\textasciicircum \textsuperscript{\hyperlink{page.#1}{#1}}} Minimum working example: \documentclass{article} \usepackage[pagebackref]{hyperref} \renewcommand{\backrefxxx}[3]{\textasciicircum \textsuperscript{\hyperlink{page.#1}{#1}}} \begin{document} \cite{fml2026} \newpage \cite{fml2026} \begin{thebibliography}{1} \bibitem{fml2026} First M.~Last. \newblock Title. \newblock {\em Journal}, 2026. \end{thebibliography} \end{document} but this produces the format: ${\textasciicircum}^{1,2}$ Question: Is it possible to achieve the Wikipedia format where the back-reference goes back to exact location and not just the page?
- Problem with tkz-grapheur packageby Sebastiano on April 14, 2026 at 8:10 pm
It is possible that either the package does not behave as I expect, or I am misunderstanding how to use it correctly. According to the manual, the inequality 3x + 2y - 6 >= 0 should represent the half-plane above the line 3x + 2y - 6 = 0, i.e., the region containing points such as (0,3). However, in my code the line is drawn correctly (it passes through (0,3) and (2,0)), but the shaded region does not match the expected half-plane: it appears on the opposite side of the line. What am I doing wrong when using \LinearInequality? Is it a sign convention issue, an internal convention of the package, or do I need to rewrite the expression in a different form to obtain the correct shaded region? \documentclass{article} \usepackage{tkz-grapheur} \begin{document} \begin{GraphTikz}[ x=1cm, y=1cm, Xmin=-3,Xmax=3, Ymin=-3,Ymax=3 ] \DrawAxisGrids[Font=\small]{auto}{auto} \LinearInequality[color=pink,hatch={north east lines}]{3x+2y-6}{>=0} \end{GraphTikz} \end{document}
- Change page layout for bibliography section onlyby Atcold on April 14, 2026 at 5:46 pm
I'm using a per-chapter bibliography. I would like to disregard the margin note spacing, and make full use of the page. Using a two page layout is making this hard. This is my macro, but the \checkoddpage is not working I don't know why. \newcommand{\insertChapterBibliography}{% % 1. Sync the page check without forcing a new page \strictpagecheck \checkoddpage % 2. Identify the distance from the left edge of the paper to the text block. % LaTeX measures this as 1 inch + \oddsidemargin (or \evensidemargin). % To get back to exactly 1 inch, we shift by exactly -\sidemargin. \ifoddpage \def\leftshift{-\oddsidemargin} \else \def\leftshift{-\evensidemargin} \fi % 3. Apply the shift using standard [left][right] logic. % We want the final width to be \headwidth. % The math for the right offset to reach \headwidth is: % RightOffset = \linewidth - \headwidth - \leftshift \begin{adjustwidth}{\leftshift}{\dimexpr\linewidth-\headwidth-\leftshift\relax} \begin{multicols}{2} \bibliographystyle{alpha} \bibliography{main} \end{multicols} \end{adjustwidth} } I can try to provide a minimal working example, but I'm not sure how, with all these citations… biblio.tex \documentclass[twoside]{book} \usepackage[includemp, inner=1in, outer=10mm, marginparwidth=161pt, showframe]{geometry} \usepackage{fancyhdr} \usepackage{multicol} \usepackage{changepage} \usepackage{etoolbox} \usepackage{lipsum} \usepackage[sectionbib]{chapterbib} \pagestyle{fancy} \setlength{\headwidth}{468pt} \AfterEndPreamble{% \patchcmd{\thebibliography}{\section*{\bibname}}{\relax}{}{}% \patchcmd{\thebibliography}{\section*{\refname}}{\relax}{}{}% } \newcommand{\insertBib}{% \strictpagecheck\checkoddpage \ifoddpage \def\lshift{-\oddsidemargin} \else \def\lshift{-\evensidemargin} \fi \begin{adjustwidth*}{\lshift}{\dimexpr\linewidth-\headwidth-\lshift\relax} \begin{multicols}{2} \scriptsize \bibliographystyle{alpha} \bibliography{biblio} \end{multicols} \end{adjustwidth*} } \begin{document} \include{odd} \include{even} \end{document} biblio.bib @book{key1, author = {Author, A.}, year = {2001}, title = {Title One}, publisher = {Publisher}, } @book{key2, author = {Writer, B.}, year = {2002}, title = {Title Two}, publisher = {Publisher}, } odd.tex \chapter{Odd page bibliography} \lipsum[1-2] \cite{key1} \cite{key2} \insertBib even.tex \chapter{Even page bibliography} \lipsum[1-4] \cite{key1} \cite{key2} \insertBib
- Best way to define new operator with limitsby murray on April 14, 2026 at 1:05 pm
Is this an appropriate way to define a new math operator-with-limits (for a "box product"), like \bigcup, assuming use of lua-unicode-math and lualatex? % !TEX program = lualatex \documentclass{article} \usepackage{fontspec} \usepackage{lua-unicode-math} \setmainfont{TeX Gyre Termes X} \setmathfont{STIX Two Math} \usepackage{amsmath} \usepackage{scalerel} \AtBeginDocument{% \DeclareMathOperator*{\bigsquareop}{\scalerel*{\lgwhtsquare}{\bigcup}} \DeclareRobustCommand{\BoxProd}{\DOTSB\bigsquareop}% } \begin{document} $\bigcup_{i \in I} X_{i} \quad \BoxProd_{i \in I} X_{i}$ and \[ \bigcup_{i \in I} X_{i} \quad \BoxProd_{i \in I} X_{i} \] \end{document} Related: How to create my own math operator with limits?, How to create a new math operator?, https://tex.stackexchange.com/a/552914/13492.
- How to show section slides in ltx-talk?by Polly Nomial on April 14, 2026 at 3:53 am
Edit: follow-up question here: How to highlight the current subsection at the beginning of each subsection in ltx-talk? How do I show the start of a new section, either as itself a "section slide" or even in the "body" slides? \DocumentMetadata{ lang = de, pdfstandard = ua-2, pdfstandard = a-4f, tagging=on, tagging-setup={math/setup=mathml-SE} } \documentclass{ltx-talk} \EditInstance{footer}{std}{ element-order = {title, subtitle, framenumber} } \title{My talk} \subtitle{I want to show sections} \institute{University of Stack Exchange} \date{} \begin{document} \begin{frame} \maketitle \end{frame} \section{Motivation} \begin{frame}\frametitle{Here is a frame title} Some text. \end{frame} \section{Real talk} \begin{frame}\frametitle{Here is a frame title} Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. \end{frame} \end{document}
- \str_set_convert:Nnnn trouble in LuaLatexby MiguelFrasson on April 14, 2026 at 3:33 am
I want to use \str_set_convert:Nnnn with Japanese chars directly in document. The MWE below has no problem in pdfLaTeX. It correctly displays E782B9. \documentclass{article} \begin{document} \ExplSyntaxOn % works in pdflatex, fails in lualatex \str_set_convert:Nnnn \l_tmpa_str {点} {utf8} {utf8/hex} \l_tmpa_str \ExplSyntaxOff \end{document} But in LuaLaTeX, it gives the error message: LaTeX Error: String invalid in escaping 'bytes': it may only contain bytes. What am I missing? How should I wrap the text to get the same result in any engine provided that "the user" can type the actual Japanese char, not some escaping sequences?
- Is there a color free alert in ltx-talk?by Teepeemm on April 14, 2026 at 12:49 am
I'm going to have a printed version of my ltx-talk that won't have color. I would still like to have \alert do something, however. I think that means I should renew alert to make things bold, but I'm having trouble making that work properly: many of the options listed at How can I get bold math symbols? don't make things bold, or they cause errors if tagging is enabled. To give an example: \DocumentMetadata{} \RequirePackage{fixmath} % must come before unicode-math loaded by ltx-talk \documentclass{ltx-talk} \usepackage{bm} \usepackage{amsmath} \usepackage{amsbsy} \newcommand{\colvect}{\begin{pmatrix}x\\-1\end{pmatrix}} \begin{document} \colorlet{alert}{black} \begin{frame} \( normal \colvect alert \alert{\colvect} mathbf \mathbf{\colvect} symbf \symbf{\colvect} pmb \pmb{\colvect} % incompatible with unicode-math, tagging? mathbold \mathbold{\colvect} % requires package fixmath, conflicts with unicode-math % \boldsymbol{\colvect}\quad % error % \bm{\colvect}\quad % error \) boldmath {\boldmath\(\colvect\)} % {\setmathfont{luciole-math}\(\colvect\)} % preamble only bfseries {\bfseries\(\colvect\)} % \(\bfseries\colvect\) % invalid in math mode \bigskip normal \alert{alert} \textbf{textbf} \symbf{symbf} \pmb{pmb} {\bfseries bfseries} \end{frame} \end{document} has the output Notice that without color, \alert doesn't do anything. \symbf does a bit in math mode, but only the letter and number, not the parentheses and minus. \textbf and \bfseries succeed in text mode, so I could test \ifmmode, but I still need something in math mode. \pmb seems to work the best, but https://github.com/latex3/tagging-project/issues/1240 says that it's not working at the moment (and it appears to be intentionally broken in text mode).
- In Luatex Hebrew text not working after update miktex (april 13 2026)by Cook on April 13, 2026 at 2:46 pm
After updating miktex today I get the message Undefined control sequence. \mathemptydisplaymode in the luabidi.sty. I removed miktex completely and installed it, the same result. Could you please help me? It’s a 4,000-page book in Greek, Hebrew, and Dutch that was compiled over the past three years. % !TeX TS-program = lualatex \documentclass[11pt,a4paper,twoside]{book} %%%%%%%%%%%%------following loaded before biblatex` \usepackage{fontspec} \usepackage{polyglossia} \setmainlanguage{dutch} \setotherlanguage{greek} \setotherlanguage{hebrew} %%<<-------------------Greek/Hebrew \setmainfont[Ligatures=TeX]{Charis SIL} \defaultfontfeatures{Ligatures=TeX} \newfontfamily\hebrewfont{Ezra SIL}[Script=Hebrew,Contextuals=Alternate]%\texthebrew %%Greek \newfontfamily{\greekfont}[Script=Greek, Scale=MatchUppercase, Ligatures=TeX]{SBL Greek} \begin{document} Nederlands: gewoon een zinnetje Grieks: \textgreek{Οὗτος δῶρα} Hebrew: \texthebrew{תְהֹ֑ום} \end{document}
- How to fix different spacing within `expex` in `beamerposter` depending on the compiler?by schoekling on April 13, 2026 at 7:03 am
I am creating a beamerposter with linguistic examples in expex with a custom font (libertine). I originally wrote most of it using pdflatex but have to switch to lua or xetex now. However, when I do so, the spacing within the examples changes drastically. Simply loading fontspec has the same effect, so it doesn't seem to have anything to do with the font specifically. Loading neither libertine nor fontspec produces the same spacing as pdflatex. \documentclass{beamer} \usepackage{beamerposter} % loading either of these increases the spacing within expex's (cf. second picture) %\usepackage{fontspec} %\usepackage{libertine} \usepackage{expex} \begin{document} \begin{frame} \pex \a \begingl \gla text// \glb gloss// \glft `transl'// \endgl \xe \ex \begingl \gla text// \glb gloss// \glft `transl'// \endgl \xe \end{frame} \end{document} pdflatex with libertine: lualatex with libertine (same spacing with xetex and/or fontspec): lualatex without libertine or fontspec: