Week
- Minted code listing with toptesi documentclass [duplicate]by Umberto Fontanazza on May 28, 2026 at 10:47 am
On Overleaft I want to create code listings highlited with minted. I managed to do so when using the \documentclass{article} but I'm having trouble with \documentclass{toptesi} which is however what I have to use. \documentclass{toptesi} \usepackage{minted} \begin{document} \begin{listing} \begin{minted}{docker} FROM raw # hello docker \end{minted} \end{listing} \end{document} Simply changing toptesi to article works, but I need it working with toptesi. The error I'm getting is: No verbatim file \ . \FV@Error ... {FancyVerb Error: \space \space #1 } l.8 \ begin{minted}{docker} Your command was ignored. Type <return> to continue.
- Nomenclature does not show with only \include sectionsby ProodjePindakaas on May 28, 2026 at 8:01 am
I'm having trouble with the nomenclature not showing up when all content enters via an \include statement. It seems the nomenclature cannot be compiled independently, but needs some content before it. A minimal not working example is: % main.tex \documentclass{article} \usepackage{nomencl} \makenomenclature \begin{document} % content \include{content} % nomenclature \nomenclature{\(c\)}{Speed of light in a vacuum} \nomenclature{\(h\)}{Planck constant} \printnomenclature \end{document} where content.tex is file with just the word 'test': % content.tex test A minimal working example would be exchanging \include{content} with test. How can I have my nomenclature show up and neatly separate all preceding sections with \include without having to add extraneous content?
- Why is there extraneous space in my "related entries" citation key?by Psychonaut on May 28, 2026 at 4:31 am
I am using the "related entries" feature of Biblatex to cross-reference and show relationships among the publications in my Biblatex + Biber bibliography. The bibliography uses the default numeric citation style (e.g., "[1]"). For some reason, the citations generated by my related:... macros have extraneous space between the opening square bracket and the first digit of the citation key. Consider the following minimal example: \documentclass{article} \usepackage{biblatex} \begin{filecontents}{test.bib} @article{eger2025transforming, author = {John Eger}, title = {Transforming Science}, journal = {Journal of Foo}, year = 2025, volume = 1, related = {eger2026transforming}, relatedtype = {later}, } @article{eger2026transforming, author = {John Eger}, title = {Transforming Science}, journal = {Journal of Bar}, year = 2026, volume = 1, } \end{filecontents} \NewBibliographyString{later} \DefineBibliographyStrings{english}{later = {Later published as }} \newbibmacro*{related:later}[1]{% \entrydata{#1}{\autocite{\thefield{clonesourcekey}}}} \addbibresource{test.bib} \begin{document} \nocite{eger2025transforming,eger2026transforming} \printbibliography \end{document} The first entry in the bibliography is rendered as [1] John Eger. “Transforming Science”. In: Journal of Foo 1 (2025). Later published as [ 2]. rather than as [1] John Eger. “Transforming Science”. In: Journal of Foo 1 (2025). Later published as [2]. I can't see anything in my related:later macro that would be causing this extra space. Is this a bug in Biblatex or some problem with my code?
- TOC out of order when using phantomsection and subfilesby pwesterbaan on May 28, 2026 at 1:38 am
I have a file for course notes that uses subfiles for each section of the notes, and phantomsection \addcontentsline to group several sections into a "Unit". My main file is mathNotes.tex, with multiple subfiles: testFile1p1.tex, testFile2p1.tex, etc. (the actual project is significantly larger). In the following MWE, the phantomsection's \addcontentsline's are before each subfile for the corresponding unit, but the phantomsection \addcontentsline appears in the TOC after the subfiles: mathNotes.tex \documentclass{article} \usepackage{subfiles,hyperref} \begin{document} \tableofcontents \pagebreak \phantomsection \addcontentsline{toc}{section}{Unit 1} \subfileinclude{subfiles/testFile1p1.tex} \phantomsection \addcontentsline{toc}{section}{Unit 2} \subfileinclude{subfiles/testFile2p1.tex} \end{document} testFile1p1.tex: \documentclass[../mathNotes]{subfiles} \begin{document} \section{Section in unit 1} stuff and things \end{document} testFile2p1.tex: \documentclass[../mathNotes]{subfiles} \begin{document} \section{Section in unit 2} things and stuff \end{document} Here is how the document appears in Evince: What syntax should I use to correct this? I know I could put each phantomsection \addcontentsline at the beginning of the first file for that unit, but I want the phantomsection's \addcontentsline in the main file since it makes organizing the units more straightforward. Also, I'm certain I had this working at one point, but despite my best efforts, I can't find what I changed in my git history.
- Conditionally skip `\item`s of a listby Sammy on May 27, 2026 at 10:08 pm
I have a collection of exercise files that I later assemble into worksheets/tests. A simplified example looks like this: \begin{subexercises} \subexercise Hello \subexercise World \subexercise ! \subexercise ? \end{subexercises} \subexercise is a custom wrapper around \item that also handles additional formatting (margin notes, points, etc.). I would now like to selectively include only certain subexercises without editing the source files each time. For example, with something like \renewcommand{\subexselect}{1,4} I would want the output to contain only a) Hello b) ? So the numbering should remain continuous even though some subexercises are skipped. I also would like to keep the \item-like syntax \subexercise Hello instead of changing all files to something argument-based like \subexercise{Hello} because I already have many existing exercise files and like the syntax better (and partly also because I'm interested in how to achieve this and maybe learning something new that way). What I tried 1. Using conditionals inside \subexercise I experimented with \if...\fi constructs and tried to place balancing \iftrue / \fi pairs into begin/end hooks of the environment. I could not get this to work reliably. 2. Using pgfparser to gobble unwanted items I then tried parsing tokens until the next \subexercise and discarding them when the current item should not be printed. This almost works, except for the final item because there is no following \subexercise token to stop the parser. I also tried using \end{subexercises} as an alternative stop condition, but I could not figure out how to do this properly since it is not a single token. It works with an additional stop-marker at the end of the environment but having to manually insert this marker at the end of the environment is bad. Here is a minimal example of that attempt (when not including 4 in the list I get an emergency stop): \documentclass{article} \usepackage{enumitem} \usepackage{pgfparser} \newlist{subexercises}{enumerate}{1} \setlist[subexercises]{label=\alph*)} \newcommand{\subexselect}{} \newcounter{subexcount} \setcounter{subexcount}{0} \newcommand{\subexercise}[1][]{% \stepcounter{subexcount}% \ifnum\pdfmatch{\thesubexcount}{\subexselect}=1% \item \else \pgfparserparse{subex}% \fi } \pgfparserdef{subex}{all}\subexercise{\pgfparserswitch{final}\pgfparserreinsert} \pgfparserset{subex/silent=true} %\newcommand{subexend}{} %\pgfparserdef{subex}{all}subexend{\pgfparserswitch{final}} %\pgfparserdeffinal{subex}{} \begin{document} \renewcommand{\subexselect}{1,4} \begin{subexercises} \subexercise Hello \subexercise World \subexercise ! \subexercise ? %subexend \end{subexercises} \end{document} Question How can this kind of selective inclusion be implemented while preserving the \item-like syntax, i.e. not replacing subexercise by a macro that takes the body of the \item as argument?
- What are other compilation options for (lua)(La)TeX? [duplicate]by Crowley on May 27, 2026 at 6:09 pm
I am hapily using TeXmaker for writing my files and many things are done out of my sights. Now I'm generating the .tex via script and I want to use batch process to compile them automatically. I have found quite mysterious line in TeXmaker's Options: lualatex -interaction=nonstopmode %.tex. Recently I have found another option for the arguments passed to the luaLaTeX -output-folder=[desired folder] and I started wondering what are other arguments i can pass to (lua)(La)TeX compiler. So far I couldn't find anything remotely helpful while googling for it. Is there any list of compiler arguments?
- A template for Markdown to PDF with Pandocby Danijela Popović on May 27, 2026 at 12:32 pm
I have a template and a style, which combined should output a PDF. The content comes from Markdown, and the conversion is made with Pandoc. The idea is to create a recipe book. There are environments for dedication, acknowledgements, and preface, and color boxes for ingredients and preparation (with a customized list for preparation steps). Since the book will be created in three different languages, the titles of each section should be customizable (either via the yaml header in the Markdown file, or any similar method which doesn't include changing the LaTeX files). Right now it doesn't output the titles of Dedication, Acknowledgements, Preface – just the contents. It also puts all those on the same page, although I have \cleardoublepage in the begin-code of each environment. I'm quite sure I'm doing something wrong around the environment and colorbox definitions, but my LaTeX knowledge is rusty (to say the least), and none of the small changes I made helped to solve this. Can anybody detect my error and help me to actually print the titles of the environments? What about the fonts? If I try to use Merriweather and Montserrat, I always get an error. (I have them installed on the PC.) Does my Markdown make any sense? Is there a better way of doing the whole thing? My template.tex: \documentclass[a4paper,12pt,twoside,openright,final]{book} \usepackage[catalan]{babel} % or serbian, german, etc. \usepackage[utf8]{inputenc} \usepackage{geometry} \geometry{left=2.5cm, right=2.5cm, top=3cm, bottom=3cm} \usepackage{recipestyles} \newcommand{\authorname}{$author$} \newcommand{\booktitle}{$title$} \begin{document} \begin{titlepage} \centering \pagecolor{dpyellow} \color{dpred} \vspace*{3cm} {\titlesfont \Huge \textbf{\booktitle} \par} \vspace{1.5cm} {\titlesfont \Large \authorname \par} \vfill \end{titlepage} \frontmatter \renewcommand{\thepage}{\Roman{page}} \pagestyle{roman} \pagecolor{dpyellow} \color{black} $if(dedication_title)$ \renewcommand{\dedicationtitle}{$dedication_title$} $endif$ $if(acknowledgements_title)$ \renewcommand{\acknowledgementstitle}{$acknowledgements_title$} $endif$ $if(preface_title)$ \renewcommand{\prefacetitle}{$preface_title$} $endif$ $if(ingredients_title)$ \renewcommand{\ingredientstitle}{$ingredients_title$} $endif$ $if(tips_title)$ \renewcommand{\tipstitle}{$tips_title$} $endif$ $if(dedication)$ \begin{envdedication} $dedication$ \end{envdedication} $endif$ $if(acknowledgements)$ \begin{envacknowledgements} $acknowledgements$ \end{envacknowledgements} $endif$ \tableofcontents \mainmatter \pagestyle{fancy} $if(preface)$ \begin{envpreface} $preface$ \end{envpreface} $endif$ $body$ \end{document} My recipestyles.sty: \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{recipestyles}[2026/05/27] \RequirePackage{xcolor} \RequirePackage[T1]{fontenc} \RequirePackage{fontspec} \RequirePackage{fancyhdr} \RequirePackage{titlesec} \RequirePackage{pagecolor} \RequirePackage[most]{tcolorbox} \RequirePackage{enumitem} % colors \definecolor{dpyellow}{HTML}{FFF8DC} \definecolor{dpred}{HTML}{C8102E} % fonts (ligatures deactivated) \setmainfont[Ligatures={NoRequired,NoCommon,NoContextual}]{Georgia} % Merriweather \newfontfamily\titlesfont[Ligatures={NoRequired,NoCommon,NoContextual}]{Arial} % Montserrat % page styles % roman \fancypagestyle{roman}{ \fancyhf{} \fancyfoot[C]{\thepage} } % fancy \pagestyle{fancy} \fancyhf{} \fancyhead[LE,RO]{\titlesfont\color{dpred}\thepage} \fancyhead[RE]{\small\titlesfont\color{gray}\authorname} \fancyhead[LO]{\small\titlesfont\color{gray}\booktitle} \renewcommand{\headrulewidth}{0.4pt} % title styles % title of parts \titleformat{\part}[display] {\centering\Huge\bfseries\titlesfont\color{dpred}}{}{0pt}{\Huge} % title of chapters \titleformat{\chapter}[display] {\Huge\bfseries\titlesfont\color{dpred}}{}{0pt}{\Huge} \titlespacing*{\chapter}{0pt}{-20pt}{20pt} % title of sections \titleformat{\section} {\LARGE\bfseries\titlesfont\color{dpred}}{}{0em}{} \titlespacing*{\section}{0pt}{15pt}{10pt} % environments and boxes % variables for env/box titles \newcommand{\dedicationtitle}{Dedicació} \newcommand{\acknowledgementstitle}{Agraïments} \newcommand{\prefacetitle}{Pròleg} \newcommand{\ingredientstitle}{Ingredients} \newcommand{\tipstitle}{Consells} \newenvironment{envdedication}[1][\dedicationtitle]{% \cleardoublepage \vspace*{5cm} \begin{flushright} \itshape{\titlesfont\large\bfseries #1}\par\vspace{0.5cm}% }{\end{flushright}} \newenvironment{envacknowledgements}[1][\acknowledgementstitle]{% \cleardoublepage \vspace*{2cm} {\titlesfont\Huge\bfseries\color{dpred} #1}\par\vspace{1cm} }{} \newenvironment{envpreface}[1][\prefacetitle]{% \cleardoublepage \vspace*{2cm} {\titlesfont\Huge\bfseries\color{dpred} #1}\par\vspace{1cm} }{} % ingredients (yellow box with red border) \newtcolorbox{ingredientsbox}{colback=dpyellow, colframe=dpred, boxrule=1mm, sharp corners, title=\titlesfont\bfseries \ingredientstitle, coltitle=dpyellow, colbacktitle=dpred, fonttitle=\bfseries} % preparation steps \newlist{steps}{enumerate}{1} \setlist[steps]{label=\protect\tcbox[colback=dpred, colframe=dpred, coltext=dpyellow, sharp corners, size=small, on line, fontupper=\bfseries\titlesfont, top=1mm, bottom=1mm, left=1.5mm, right=1.5mm]{\arabic*}, leftmargin=1.5cm, labelsep=0.3cm, itemsep=0.5cm, parsep=0mm} \newenvironment{preparation}{\begin{steps}}{\end{steps}} % tips (red box) \newtcolorbox{tipsbox}{colback=white, colframe=dpred!70!black, boxrule=0.5mm, arc=2mm, title=\titlesfont\bfseries💡 \tipstitle, coltitle=dpred!70!black, colbacktitle=dpyellow, attach boxed title to top left={yshift=-2mm, xshift=2mm}, boxed title style={sharp corners, boxrule=0.5mm, colframe=dpred!70!black}} \providecommand{\tightlist}{\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} \endinput My current test Markdown file: --- title: "Receptari" author: "D. P." date: "2026-05-27" dedication_title: "A la meva gent" --- ::: dedication Gràcies per tant amor! ::: ::: acknowledgements Moltes gràcies a tota la gent que va tenir la paciència i la confiança, tant en mi com en aquest llibre. ::: ::: preface Les paraules d'alguna persona important 👥 ::: # I: Fonaments ## Pa amb tomàquet ::: ingredientsbox - 4 llesques de pa de pagès - 2 tomàquets madurs ::: ### Preparació ::: preparation 1. **Talleu el pa** en llesques. 2. **Torreu les llesques** lleugerament. ::: ::: tipsbox Aprofiteu el tomàquet madur, aquell que ja és una mica suau quan es prem i que probablement ja no faríeu servir per fer una amanida. ::: Pandoc command: pandoc receptari.md --template=template.tex --top-level-division=part --pdf-engine=xelatex -o receptari.pdf
- tabularray: space distribution in rows with merged columnsby Namal on May 27, 2026 at 11:28 am
I would like to have the first row (red ellipse) a little bit bigger, maybe not the same size as the second row, but right now it looks just too small. \documentclass{article} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage[ngerman]{babel} \usepackage[landscape, margin=0.5cm]{geometry} \usepackage[ngerman]{babel} \usepackage{tabularray, tblr-extras} \usepackage{xcolor} \UseTblrLibrary{amsmath,varwidth} \UseTblrLibrary{babel} \pagenumbering{gobble} %\usepackage{showframe} \begin{document} \centering \begin{longtblr} { colspec={Q[l,m] Q[l,m] X[l,m] X[3,c] l l X[l,m]},vlines, cell{1}{4-Z}={r=2}{l,m}, measure=vbox, } \hline 06W & Nachlauf & {$\text{t[Bit]} = \frac{\mathtt{0x10000}-\text{Val}}{\text{CF}}$} & { $ \begin{aligned} (\text{CF}=3)\Rightarrow\quad \begin{cases} 2, & 65533 < \text{Val} \le 65536 \\ \mathtt{0x10000}-\text{Val}, & 65281 < \text{Val} \le 65533 \\ 255, & 65281 \geq \text{Val} \end{cases} \\[1em] (\text{CF}=7)\Rightarrow\quad \begin{cases} 2, & 65503 < \text{Val} \le 65536 \\ \dfrac{\mathtt{0x10000}-\text{Val}}{16}, & 61456 < \text{Val} \le 65503 \\ 255, & 61456 \geq \text{Val} \end{cases} \end{aligned} $ } & 015 & Nachlauf\_Bits & RTS Nachlauf nach Daten (in Bits: Max 255, Min 2)\{1;R;2..255\} \\ \hline[dotted] 03B7.4& {Clockfaktor (CF)} & $ \begin{aligned} 3 & =\text{1-fach} \\ 7 & =\text{16-fach} \end{aligned} $ & & & & \\ \hline \end{longtblr} \end{document}
- Declaring a fontspec font that fall back for unavailable series/shapesby David Purton on May 27, 2026 at 10:24 am
If I have a complicated font declared with many series and shapes under babel applying to one language, then a font for another language is specified that only has much more limited series and shapes, many warnings are produced like this: LaTeX Font Warning: Font shape `TU/Aboensis(0)/m/it' undefined (Font) using `TU/Aboensis(0)/m/n' instead on input line... It's possible to get rid of these by manually declaring the font to fallback, e.g., ItalicFont = {Aboensis} But this becomes tedious if you are working with many families and series and shapes. I guess it's also possible to use the silence package, but I wouldn't want to supress all these warnings, only ones related to the particular font in question. What are my options to declare things neatly and avoid the warnings? Here's a MWE that produces warnings: %! TeX Program = lualatex \documentclass{article} \usepackage{babel} \babelprovide[import,main]{australian} \babelprovide[import]{german} \babelfont{rm} [ FontFace={l}{n}{Font=Noto Serif Light}, FontFace={l}{it}{Font=Noto Serif Light Italic} ] {Noto Serif} \babelfont[german]{rm}{Aboensis} \begin{document} {\itshape English \foreignlanguage{german}{Deutsch}} {\fontseries{l} English \foreignlanguage{german}{Deutsch}} {\fontseries{l} English \foreignlanguage{german}{Deutsch}} {\fontseries{l}\itshape English \foreignlanguage{german}{Deutsch}} \end{document} The warnings can be removed using: \babelfont[german]{rm}[ ItalicFont = Aboensis, FontFace={l}{n}{Font=Aboensis}, FontFace={l}{it}{Font=Aboensis}, ]{Aboensis} But If I have to deal with lots of series and shapes as well as sf and tt families, it becomes verbose. I want something simpler and more compact.
- Scripture index with biblerefby ArnWa on May 26, 2026 at 2:31 pm
I'm trying to create a scripture index using bibleref, but I'm currently facing a problem with the index generation: nothing appears in the index. Here's my MWE: \documentclass{article} \usepackage{bibleref} \usepackage[xindy]{indextools} \makeindex[name=bible] \renewcommand{\biblerefindex}{\index[bible]} \begin{document} \ibibleverse{Ex}(20:17) \printindex[bible] \end{document} And the output of the xindy compilation : \begin{theindex} \item Ancien Testament \subitem \BRbooktitlestyle {Ex} \subsubitem \BRchapterstyle {20}\BRchvsep \BRversestyle {17}, \textrm{1} \end{theindex}
- Draw balls in Galton boardby Stephen on May 26, 2026 at 9:06 am
I need to draw some balls at the entrance (and if possible at the bottom) of the Galton board like the following picture: Code: \documentclass[tikz]{standalone} \begin{document} \begin{tikzpicture} \def\distance{0.3cm} \def\layer{10} \def\radius{2pt} % draw the nails \foreach \i in {0,...,\layer} { \foreach \j in {0,...,\numexpr\i+1\relax} { \draw ({-\distance*\i/2 + \distance*\j}, {-sqrt(3)*\distance*\i/2}) circle[radius=\radius]; } } % draw the slant board on both sides \draw ({-\layer*\distance/2-sqrt(3)*\radius}, {-sqrt(3)*\distance*\layer/2-\radius}) -- (0,2*\radius) -- +(-4pt,4pt); \draw ({-\layer*\distance/2+\distance*(\layer+1)+sqrt(3)*\radius}, {-sqrt(3)*\distance*\layer/2-\radius}) -- (\distance,2*\radius) -- +(4pt,4pt); % draw the separator plates \foreach \i in {0,...,\numexpr\layer+1\relax} { \draw ({-\layer*\distance/2 + \i*\distance}, {-sqrt(3)*\layer*\distance/2 - \radius}) -- ++ (0,-0.5cm); } % draw the bottom line \draw ({-\layer*\distance/2},{-sqrt(3)*\layer*\distance/2 - \radius - 0.5cm}) -- ++ ({(\layer+1)*\distance},0); % number the separated areas \foreach \i in {0,...,\numexpr\layer\relax} { \node at ({-\layer*\distance/2 + \distance*(\i+0.5)},{-sqrt(3)*\layer*\distance/2 - \radius - 0.7cm}) {\footnotesize\i}; } \end{tikzpicture} \end{document}
- How to make 3D axes pass above/below a surface in pgfplotsby UnknownW on May 25, 2026 at 11:54 pm
I am trying to draw a 3D graph that looks like the attached picture. However, I cannot make the axes behave in the same way. In the picture, some intervals of the axes appear on top of the surface, while on other intervals the surface appears above the axes. I would also like the axis labels to stay outside the arrow tips. What I have tried so far is shown below, together with the attached picture. I would like a solution that works for arbitrary functions, not only for this particular example. \documentclass[tikz,border=5pt]{standalone} \usepackage{pgfplots} \pgfplotsset{compat=1.18} \begin{document} \begin{tikzpicture} \begin{axis}[ view={45}{20}, axis lines=center, %axis on top, axis line style={-latex}, xlabel={$x$}, ylabel={$y$}, zlabel={$z$}, ticks=none, xmin=-5, xmax=5, ymin=-5, ymax=5, zmin=-4, zmax=4, width=7cm, height=7cm, colormap/jet, declare function={ f(\x,\y)=10*\y/((\x^2 + 1)*(\y^2 + 2*\y + 4)); }, ] \addplot3[ surf, opacity=0.6, faceted color=black!80, samples=60, samples y=60, domain=-4:4, y domain=-4:4, line width=0.01pt, ] (({x},{y},{f(x,y)}); \end{axis} \end{tikzpicture} \end{document}
- Change voltage and current arrow type to stealth in Circuitikzby MrI2C on May 25, 2026 at 2:41 pm
I'd like to change the arrow style to eg stealth for voltages and currents, \documentclass{standalone} \usepackage[europeanresistors]{circuitikz} \usetikzlibrary{arrows.meta} \begin{document} \begin{circuitikz} \draw (0,0) to[R, l=$R$, i=$I_R$, v<=$V_R$] (4,0); \end{circuitikz} \end{document}
- How can I tell if I should abort my compilation before it's too late?by Teepeemm on May 25, 2026 at 2:22 pm
I have a monster LaTeX project that I'm making accessible with tagging: \DocumentMetadata{ tagging=on, lang=en-US, pdfstandard=UA-2, tagging-setup={ math/alt/use, math/setup=mathml-SE } } This takes a non-instantaneous amount of time to compile. To speed things up while I'm editing with TeXShop, I will often turn off tagging and/or includeonly a single chapter. Once I'm done with my edits, I'll turn tagging back on and compile from the command line so that I can increase the required memory limits. My problem is that I will sometimes forget and try to compile the entire tagged document from within TeXShop. Because the compilation won't complete, my aux files get corrupted. This takes a few more compilations to fix, and is annoying. Is there a way that I can abort the compilation (1) before opening any of the aux files (2) if tagging is active, (3) I'm compiling the entire document, and (4) I haven't increased the memory limits?
- Adjustbox view or trim optionsby John Kormylo on May 24, 2026 at 8:04 pm
Can you figure out why the following doesn't work? \documentclass[letterpaper]{article} \usepackage{tikz} \usepackage[margin=0pt]{geometry}% overlapping the margins is easier than changing them. \usepackage{adjustbox} \newsavebox{\bigbox} \parindent=0pt \begin{document} \savebox\bigbox{\scalebox{1.33}{\begin{tikzpicture} \fill[green] (0,0) rectangle (\textwidth,\textheight); \foreach \u in {10,20,...,360} { \pgfmathsetmacro{\stepu}{cos(\u)+2} \pgfmathsetmacro{\stepv}{sin(\u)+2} \draw[red,thick] ({\stepu in},{\stepv in}) rectangle ++(4.5in,7in);} \node[scale=2] at (current page.center) {Sewing pattern}; \end{tikzpicture}}} \clipbox{0pt 0.33\textheight 0.33\textwidth 0pt}{\usebox\bigbox}% upper left \clipbox{0pt 0pt 0.33\textwidth \textheight}{\usebox\bigbox}% lower left \clipbox{\textwidth 0.33\textheight 0pt 0pt}{\usebox\bigbox}% upper right \clipbox{\textwidth 0pt 0pt \textheight}{\usebox\bigbox}% lower right \end{document}
- Help sketching the polarity of HCl, H₂O, and CO₂ in LaTeXby Abdelhalim AANIBA on May 24, 2026 at 3:25 pm
I’m trying to create professional-looking molecular polarity diagrams in LaTeX (using TikZ or chemfig if possible). I need help sketching the partial charges cloud distribution for the following molecules: HCl H₂O CO₂ Moved from a non-answer (it's no solution, just problem description), and adding missing lines to make the posted code compile by MS-SPO this is so far my code, but I don't know how to connect all the clouds to give me a similar figure like the image \documentclass{article} \usepackage{tikz} \usetikzlibrary{calc} \begin{document} % Source - https://tex.stackexchange.com/a/763072 % Posted by Abdelhalim AANIBA, modified by community. See post 'Timeline' for change history % Retrieved 2026-05-25, License - CC BY-SA 4.0 \begin{tikzpicture}[scale=1.5] % Couleurs pour les nuages de charges \definecolor{negColor}{RGB}{255,100,100} % Rouge pour δ- \definecolor{posColor}{RGB}{100,100,255} % Bleu pour δ+ % Atomes \node[draw, circle, minimum size=0.6cm, fill=gray!30] (O) at (0,0) {O}; \node[draw, circle, minimum size=0.5cm, fill=gray!20] (H1) at (-0.8,-0.6) {H}; \node[draw, circle, minimum size=0.5cm, fill=gray!20] (H2) at (0.8,-0.6) {H}; % Liaisons \draw[thick] (O) -- (H1); \draw[thick] (O) -- (H2); % ===== NUAGE DE CHARGE NÉGATIVE (δ-) autour de l'oxygène ===== % Utilisation d'un shading radial pour un dégradé continu du centre vers l'extérieur \shade[inner color=negColor, outer color=negColor!10, opacity=0.3] (O) circle (0.8cm); % ===== NUAGES DE CHARGE POSITIVE (δ+) autour des hydrogènes ===== \shade[inner color=posColor, outer color=posColor!10, opacity=0.3] (H1) circle (0.5cm); \shade[inner color=posColor, outer color=posColor!10, opacity=0.3] (H2) circle (0.5cm); % Petits symboles δ- et δ+ (optionnels, très discrets) \node[red] at ($(O)+(0.08,1)$) {$2\delta^-$}; \node[blue] at ($(H1)+(0.05,-0.7)$) {$\delta^+$}; \node[blue] at ($(H2)+(0.05,-0.7)$) {$\delta^+$}; \end{tikzpicture} \end{document}
- White halo around black & transparent image in tikzby aky-her on May 24, 2026 at 12:36 pm
I have a png image that contains pure black crosshatching and the rest is fully transparent. I added that to a tikz image, but against a black background, a fine white line is added (see the picture) around the edges of the hatching. Why is the white line there and how can I get rid of it? Is this an issue with the image or with how I am using tikz? edit: here is a link to the file: https://limewire.com/d/47cga#KK6HtC3jAV (I am using an external file sharing site, because pasting the file here as an image actually removed the issue. My problem is solved, but I still don't know what was wrong or how to fix this outside of making an SO question, pasting the image there, downloading a second copy and discarding the question without posting it. At least this confirms that the issue was with the image.) Edit: I am using the default Ubuntu Document Viewer. I also tried several free online pdf viewers, all had the same issue. Here is my code: \documentclass{article} \usepackage[paperheight=8cm, paperwidth=6cm, left=0pt, top=0pt, right=0pt, bottom=0pt]{geometry} \usepackage{tikz} \begin{document} \begin{tikzpicture}[remember picture, overlay, shift = {(current page.south west)}] \node at (current page.center) [] {\includegraphics[height=\paperheight]{example-image-a.png}}; \node at (current page.center) [] {\includegraphics[height=\paperheight, width=\paperwidth]{ims/border_pure_black.png}}; \end{tikzpicture} \end{document}
- Error handling with respect to DocumentMetadata seems inconsistentby user2609605 on May 24, 2026 at 9:27 am
Sorry for the provocative title; maybe there is a good explanation. I observed: \DocumentMetadata{lang} \documentclass{article} \begin{document} test \end{document} yields no error although lang is missing a value. In contrast, \DocumentMetadata{uncompress=true} \documentclass{article} \begin{document} test \end{document} yields ! LaTeX Error: The key 'document/metadata/uncompress' does not take a value. Is this just a weakness or is it intentional? Maybe in general it is decided that keys which require a value but none is given is ignored. Also very strange: if i set lang without a value, no complaint. If I dont set at all, complaint that it is missing and that default en is set. Ok, but the resulting PDF files are identical. In fact, the result can be reproduced (with SOURCE_DATE_EPOCH=0 lualatex test). In XMP metadata, no information is given. In contrast if I specify lang=en explicitly, it is in the XMP metadata. If I set a key more than once, seemingly, the latter setting overwrites the former without warning. This is just an observation and of course I did not check for all cases. It is quite funny to see xmp=true,xmp=false compiling without any notification. The spec ymp=false yields the error ! LaTeX Error: The key 'document/metadata/ymp' is unknown and is being (LaTeX) ignored. Well if it is being ignored, then it should not be an error but a warning, which would be ok also. An error is acceptable also, but then the message needs some rewording. Summarizing all this, I would prefer if the specification expands a bit on the detailed treatment and about the intention behind. I posted this question to get some insight. Next obvservation: \DocumentMetadata{xmp=true,,xmp=false} and \DocumentMetadata{xmp=true,xmp=false,} compile without complaint. Another observation: \DocumentMetadata{lang, lang=de-DE} and \DocumentMetadata{lang=de-DE, lang} yield different results: XMP data contains dc:language=de-DE only in the first case. It seems as if the second key lang without value erases the old value. I do not want to base my code on experiments. If this is always the behavior: key without value except uncompress erases the setting done before, then this should be documented. Lets talk about the key pdfstandard: this is the only one which intentionally may occur more than once. If you think \DocumentMetadata{pdfversion=1.7,pdfstandard=a-2a,pdfstandard} specifies no standard, then you are wrong: the last key without value is just ignored. This behavior differs from the one of lang. If this is intentional, it should be documented. But I think, it should be changed. Also I think, there is no reason at all to allow multiple pdfstandard, as also writing things like pdfstandard={a-2b,ua-2} are possible. Some thought: that uncompress is singular in that it has no value is I think unnecessary lack of uniformity. Why not compress=true or compress=false with the first as default. Like xmp. I think there is no reason to make a difference.
- Why can't TeX \par remove these spaces?by Elayson Abreu on May 23, 2026 at 11:30 pm
I encountered a problem while writing. Consider the following example in Plain TeX: \def\cmd{ \par\noindent\hfil ??? \par\noindent\hfil ??? \par\noindent\hfil ??? } {\cmd} \par \bye The compilation generates: Note the last misaligned line. Why didn't \par remove the two spaces preceding it? Note that if I add a percentage mark to the end of the definition of \cmd or to the end of {\cmd}, the problem disappears: \def\cmd{ \par\noindent\hfil ??? \par\noindent\hfil ??? \par\noindent\hfil ???% } {\cmd} \par \bye Or \def\cmd{ \par\noindent\hfil ??? \par\noindent\hfil ??? \par\noindent\hfil ??? } {\cmd}% \par \bye Generates: The original code that generated this question is similar to (the definition of \eject in Plain TeX is \def\eject{\par\break}): \def\printA{ \par\noindent\hfil City \par\noindent\hfil Year } \def\printB{ \eject more... } \def\printC{ \printA \printB } \printC \bye
- empty line between \begin{longtable} and \hline causes compile error with tex4ht in TL 2026by Nasser on May 23, 2026 at 9:30 pm
This file compiles OK with lualatex (I did not mean to put am empty line after \begin{longtable} and only noticed this after compiling to HTML) \documentclass{article} \usepackage{longtable} \begin{document} \begin{longtable}{|p{4in}|p{.4in}|p{1.5in}|} \hline A&B&C \end{longtable} \end{document} But using tex4ht it gives compile error >make4ht -ulm default -a debug 5.tex "mathjax,htm,charset=utf-8" (/usr/local/texlive/2026/texmf-dist/tex/generic/tex4ht/html5.4ht)) (/usr/local/texlive/2026/texmf-dist/tex/latex/l3backend/l3backend-dvips.def) (./5.aux) (/usr/local/texlive/2026/texmf-dist/tex/latex/lm/ot1lmtt.fd) ! Misplaced \noalign. \a:hline ->\ifx \ar:cnt \:UnDef \else \o:noalign: {\append:def \hline:s {\a:... l.8 \hline ? Should not this compile OK with tex4ht also? Removing the empty line after \begin{longtable} tex4ht now compiles it OK. TL 2026 on Ubuntu under windows 10 WSL 1.0 >make4ht --version make4ht version v0.4e >which tex4ht /usr/local/texlive/2026/bin/x86_64-linux/tex4ht Reference https://puszcza.gnu.org.ua/bugs/index.php?675
- Bracealign and oversized exponentsby Sebastiano on May 23, 2026 at 9:00 pm
Is it the bracealign package that generates such large exponents equal to the base of the power? \documentclass{article} \usepackage{bracealign} \begin{document} \[ \begin{bracealign} = x^{\overbrace{(m+1)+\cdots+(m+1)}^{k}} = x_{\underbrace{(m+1)+\cdots+(m+1)}_{k}} \end{bracealign} \] \end{document}
- Sequence of functions: easing packageby Sebastiano on May 23, 2026 at 8:20 pm
I was trying to understand how the easing package works and whether it can be useful for plotting a sequence of functions in order to study uniform convergence. I am not sure whether the package only allows plotting a set of predefined functions, or whether it also enables the representation of arbitrary sequences of functions. In particular, I would like to know whether there is a way to use this package (or other similar LaTeX packages) to effectively visualize any sequence of functions. If there is a more suitable tool, I would appreciate it if you could suggest it. Additionally I not understand the reason of a ugly graph for $n=1, 2$. Here an example: \documentclass{article} \usepackage{pgfplots} \usepgflibrary{easing} \pgfplotsset{compat=1.18} \begin{document} \begin{center} \begin{tikzpicture} \begin{axis}[ width=12cm, height=7cm, domain=0:1, axis equal image, samples=300, xmin=0, xmax=1, ymin=0, ymax=1.05, axis lines=left, xlabel={$x$}, ylabel={$x^n$}, legend pos=north west, thick ] \pgfkeys{/easing/pow/exponent=1} \addplot[blue] {poweasein(0,1,x)}; \addlegendentry{$n=1$} \pgfkeys{/easing/pow/exponent=2} \addplot[red] {poweasein(0,1,x)}; \addlegendentry{$n=2$} \pgfkeys{/easing/pow/exponent=4} \addplot[green!60!black] {poweasein(0,1,x)}; \addlegendentry{$n=4$} \pgfkeys{/easing/pow/exponent=8} \addplot[orange] {poweasein(0,1,x)}; \addlegendentry{$n=8$} \addplot[black, dotted] { (x==1 ? 1 : 0) }; \addlegendentry{$\lim f_n$} \end{axis} \end{tikzpicture} \end{center} \end{document}
- How to remove the spurious vertical space while joining split boxes with coffins?by niru on May 23, 2026 at 6:16 am
For some reasons, I need to create a multi-column layout without using the popular packages for multi-column text. What I do is, I grab the text, set it inside a box of restricted \hsize, split the box with \vbox_set_split_to_ht:NNn. Then the split boxes are unpacked inside coffins, they are attached with some x offset and typeset. Have a look at the following MWE: \documentclass{article} \usepackage[margin=3cm]{geometry} \usepackage{kantlipsum} \usepackage{microtype} \begin{document} \ExplSyntaxOn \vbox_set:Nn \l_tmpa_box { \hsize = 0.475 \linewidth \prg_do_nothing: \kant [ 1 - 3 ] } \vbox_set_split_to_ht:NNn \l_tmpb_box \l_tmpa_box { \textheight - \baselineskip % to get the effect of a \vtop } \vcoffin_set:Nnn \l_tmpa_coffin { 0.475 \linewidth } { \vbox_unpack_drop:N \l_tmpb_box } \vcoffin_set:Nnn \l_tmpb_coffin { 0.475 \linewidth } { \vbox_unpack_drop:N \l_tmpa_box } \coffin_join:NnnNnnnn \l_tmpa_coffin { r } { t } \l_tmpb_coffin { l } { t } { 0.025 \linewidth } \c_zero_dim \coffin_typeset:Nnnnn \l_tmpa_coffin { l } { t } \c_zero_dim \c_zero_dim \ExplSyntaxOff \end{document} This produces: I read that \splittopskip could be causing this, but it is 10pt which nearly is of a line's height and as can be seen from the screenshot, our difference is smaller than that. I tried \lineskip and that did produce a tiny amount of space which I thought could be related to the spurious space, but I require 3 times the \lineskip to get both the columns at the right position. \documentclass{article} \usepackage[margin=3cm]{geometry} \usepackage{kantlipsum} \usepackage{microtype} \begin{document} \ExplSyntaxOn \vbox_set:Nn \l_tmpa_box { \hsize = 0.475 \linewidth \prg_do_nothing: \kant [ 1 - 3 ] } \vbox_set_split_to_ht:NNn \l_tmpb_box \l_tmpa_box { \textheight - \baselineskip % to get the effect of a \vtop } \vcoffin_set:Nnn \l_tmpa_coffin { 0.475 \linewidth } { \vbox_unpack_drop:N \l_tmpb_box } \vcoffin_set:Nnn \l_tmpb_coffin { 0.475 \linewidth } { \vbox_unpack_drop:N \l_tmpa_box } \coffin_join:NnnNnnnn \l_tmpa_coffin { r } { t } \l_tmpb_coffin { l } { t } { 0.025 \linewidth } { 3 \lineskip } \coffin_typeset:Nnnnn \l_tmpa_coffin { l } { t } \c_zero_dim \c_zero_dim \ExplSyntaxOff \end{document} I am almost sure that \lineskip is not the correct macro to be used there, but then which one exactly is it? What stores the culprit skip/glue? What would be a recommended (and preferably L3) way of doing it?
- How can I define a custom sinusoidal voltage source in circuitikz using pic?by Marco Moldenhauer on May 22, 2026 at 3:37 pm
I am trying to define a custom electrical symbol for use with circuitikz. The symbol is a sinusoidal voltage source consisting of: a circle, a sinusoidal waveform inside the circle, + / − polarity markings, and a voltage label such as v_1 (which should be customizable). I would like to implement it as a TikZ pic so that it behaves similarly to built-in circuitikz components and allows easy connection of wires to its terminals. The symbol I want to reproduce is shown below (from Engineering Circuit Analysis by Hayt): I noticed that circuitikz already provides a sinusoidal voltage source. If possible, I would like to use that existing implementation as a reference (or perhaps extend it) so that the custom symbol matches the standard circuitikz style, dimensions, and line thickness used by the library.
- How to extend the decoration path with multiple arrows?by Explorer on May 22, 2026 at 2:05 pm
What I want is the arrow path patterns as below, but not only work for straight line, but ployline, curve, as path style/decoration: \documentclass[tikz,border=6pt]{standalone} \begin{document} \begin{tikzpicture} \foreach \i in {1,...,5} \draw[-latex,shorten >=2pt, shorten <=2pt] (\i,0) -- ({\i+1},0); \end{tikzpicture} \begin{tikzpicture} \draw[-latex,shorten >=2pt, shorten <=2pt] (0.5,0) -- (1,0); \foreach \i in {1,...,5} \draw[-latex,shorten >=2pt, shorten <=2pt] (\i,0) -- ({\i+1},0); \node[text width=5.5cm,align=left,anchor=north] at (3,-.25) {If the length is not exactly N cm, then I hope the starting point could be shortened. For instance, the 5.5cm here, I want the first arrow to start at 0.5cm, then follows five 1cm arrows.}; \end{tikzpicture} \end{document} I don't think the following is the same as my case: Draw consecutive arrows with TikZ Generating Multiple Arrow Decorations in Series Here below is my attempt with decoration, but not what I want: \documentclass[tikz,border=6pt]{standalone} \usetikzlibrary{decorations.markings,arrows.meta} \tikzset{ multiarrow/.style={ decoration={ markings, mark=between positions 0.1 and 0.9 step 0.2 with { \draw[-Stealth,shorten >=1pt, shorten <=1pt] (-10pt,0) -- (10pt,0); % the gap here not what I want... and hard to control the `0.1 and 0.9 step 0.2' } }, postaction=decorate } } \begin{document} \begin{tikzpicture} \path[multiarrow] (-2,-3) -- (2,-3); % good! \path[multiarrow,yshift=-1cm] (-2,-3) -- (2,-3)-- (5,-2); % not good! % \draw[multiarrow] plot[ % domain=-5:5, % samples=160, % smooth, % variable=\x % ] ({\x},{sin(\x r)}) % -- (5,-2) % -- (-5,-2) % -- cycle; \end{tikzpicture} \end{document} I want every arrow to be, says, fixed, 1cm length, shorten 1pt of both sides, for example of the closed path, I want something as below: (Quite sure that may be duplicated post, but I can't find that...) More information of the original purpose: \documentclass[tikz,border=5pt]{standalone} \usepackage{fourier} \usetikzlibrary{bending,decorations.pathmorphing} \begin{document} \begin{tikzpicture}[>=latex,line join=round,line cap=round] \draw[semithick,->] (0,0) -- (-1,0) node[below] {$y$}; \draw[semithick,->] (0,0) -- (0,-3) node[right] {$x$}; \draw[thick] (-110:2.5) -- node[left=5pt] {$q$} (0,0) node[above] {$O$} -- node[right=5pt] {$q$} (-70:2.5); \def\tmp{\fpeval{2.5*sind(20)}} \draw[thick, decorate, decoration={random steps, segment length=1pt, amplitude=.75pt}] (-110:2.5) arc[start angle=-110, end angle=-70, radius=2.5]; \foreach \i in {1,...,5}{ \draw[->,shorten <=1.5pt] (-.1,0) ++(-110:{(\i-1)*0.5}) -- ++(-110:0.5); \draw[->,shorten <=1.5pt] (+.1,0) ++(-70:{(\i-1)*0.5}) -- ++(-70:0.5); } \end{tikzpicture} \end{document} I use the code above to plot the following: I found that quite difficult to decide the (-.1,0) and ++(-110:{(\i-1)*0.5}) -- ++(-110:0.5) here, I want "extend the decoration path with multiple arrows" and put it together with the offset trick...
- A \bigboxtimes symbol?by M.G. on May 22, 2026 at 11:45 am
The tensor product symbol \otimes comes with a big version \bigotimes. Then there is also the external / box product symbol \boxtimes, however it doesn't come with a big version unlike the tensor product. Is there a way to get a big version of \boxtimes, e.g. \bigboxtimes, that behaves similarly to the good ol' \bigotimes in math mode? Here is a MWE with the symbol packages in use: \documentclass[11pt,a4paper,twoside]{report} \usepackage[utf8]{inputenc} \usepackage{amssymb} \usepackage{amsmath} \usepackage{amsthm} \usepackage{latexsym} \usepackage{mathtools} \usepackage{mathrsfs} \usepackage{graphicx} \usepackage{gensymb} \usepackage{tikz} \usetikzlibrary{calc} \usepackage{tikz-cd} \usepackage{mathcomp} \begin{document} Here are the three products in display math mode: \[ \otimes,\bigotimes,\boxtimes \] \end{document} Here is a comparison between \bigboxtimes from kabenyuk's solution and \bigotimes: I feel like typographically it would more aesthetic if \bigboxtimes were a little smaller due to the fact that it's a square. I think the right size comparison should be that both inside crosses should be of equal size.
- How to create this table on every page?by Bakamashine on May 22, 2026 at 11:28 am
Sorry, my Latex skills and English are bad. My college requires me to put this table on every page. Please help me, I don't know how to resolve this. Table example: My table: My code: \RequirePackage{array} \RequirePackage{tabularx} \RequirePackage{geometry} \RequirePackage{eso-pic} \geometry{ a4paper, left=25mm, right=15mm, top=25mm, bottom=25mm } \usepackage{tabularx} \usepackage{multirow} \newcommand{\BackgroundTopTable}{% \begin{tabularx}{\textwidth}{|c|c|c|c|c|X|c|} \hline & & & & & \multirow{3}{=}{\centering 09.02.07 Ф 2484 25 КП-ПЗ} & \multirow{2}{2em}{\centering Page} \\ \cline{1-5} & & & & & & \\ \cline{1-5}\cline{7-7} Изм. & Page & № Document. & Signature & Date & & \thepage \\ \hline \end{tabularx} } \AddToShipoutPictureBG{% \AtPageLowerLeft{% \raisebox{20mm}{% \makebox[\paperwidth]{% \hspace*{0mm}\BackgroundTopTable }% }% }% } My main.tex is default: \documentclass[a4paper, 14pt]{extarticle} \usepackage{gost} \usepackage{table} \begin{document} Hello world \end{document}
- `colorlinks` URL loses color on page break inside footnoteby user442187 on May 22, 2026 at 10:54 am
When a \url{} command inside a footnote spans two pages, the link is correctly colored on the first page but appears black on the second page. The problem reproduces with pdfLaTeX, XeLaTeX, and LuaLaTeX. MWE: \documentclass[a4paper,12pt]{article} \usepackage[dvipsnames]{xcolor} \usepackage[colorlinks=true, urlcolor=blue]{hyperref} \usepackage{lipsum} \begin{document} \lipsum[1-4] \footnote{et avec beaucoup de blblaba avant et avec beaucoup de blblaba avant et avec beaucoup de beaucoup de blblaba avant et avec beaucoup de blblaba avant \url{https://www.une-url-tres-longue-qui-passe-sur-deux-pages.com/avec/un/chemin/tres/longne-url-tres-longue-qui-passe-sur-deux-pages.com/avec/un/chemin/tres/longne-url-tres-longue-qui-passe-sur-deux-pages.com/avec/un/}} \lipsum[6-7] \end{document} Environment: TeXLive 2026 Reproduces with pdfLaTeX, XeLaTeX, and LuaLaTeX hyperref (latest from TeXLive 2026) xcolor with dvipsnames Expected behavior: the URL should be rendered in blue on both pages. Observed behavior: the URL is blue on the first page, then turns black on the second page where the footnote continues. I also tried adding \DocumentMetadata{} before \documentclass (as suggested for the new LaTeX PDF management layer), but the problem persists. Is this a known limitation of hyperref? Is there a workaround short of preventing the URL from breaking across pages?
- Placement of wraptable under minipagesby Martin on May 21, 2026 at 6:26 pm
I have two minipages side by side (the left one being larger than the right one) and want to have a wraptable under the right one (of same width). If I do this, I have 2 problem: The wraptable is wider than the minipage if I specify the same width. Why is this the case? Since the left minipage is larger, there is space beneath the right minipage. I want the wraptable to begin right under the smaller minipage. How can I do this? (I have multiple such pages, where the size of the smaller minipage may vary. How can I get the wraptable to the correct space automatically, depending on the space available) MWE: \documentclass{report} \usepackage{showframe} \usepackage{graphicx} \usepackage{wrapfig} \usepackage{lipsum} \begin{document}\noindent \begin{minipage}[t][][b]{0.65\textwidth} \includegraphics[width=\textwidth]{example-image-a} \end{minipage} \begin{minipage}[t][][b]{0.34\textwidth} \begin{tabular}{cc} aa&aa\\aa&aa\\aa&aa\\ \end{tabular} \includegraphics[width=\textwidth]{example-image-b} \end{minipage} \begin{wraptable}{r}{0.34\textwidth} \begin{tabular}{cc} aa&aa\\aa&aa\\aa&aa\\aa&aa\\aa&aa\\aa&aa\\aa&aa\\aa&aa\\aa&aa\\ \end{tabular} \end{wraptable} \lipsum[1] \end{document}
- Is that possible to extend the path pattern decoration solution with `nfold` and `offset`?by Explorer on May 21, 2026 at 5:18 pm
This post is partly the follow-up of my previous question and the samcarter's excellent answer based on the "wheel". However, I came across a more easy solution with nfolds and offset here. Unfortunely, I found it only work with closed path, but not an open one: % Source - https://tex.stackexchange.com/a/738063 \documentclass[tikz,border=5pt]{standalone} \usetikzlibrary{patterns,nfold} \makeatletter \tikzset{ remove inside/.code={% \tikzset{even odd rule}% \tikz@addmode{\pgfsyssoftpath@getcurrentpath\tikz@temp \pgfoffsetpath\tikz@temp{#1}}}} \makeatother \tikzset{ EDR/.style ={ line width=+1pt, preaction={remove inside=#13mm, fill=white},%<-add `fill=white' as preaction preaction={remove inside=#13mm, pattern=north west lines, pattern color=black!75} } } \begin{document} \begin{tikzpicture} \draw[thick,teal] (0,0) -- (10,4); \draw[EDR] (1,0) -- (4.5,1.5) -- (4,4) -- (1,3.5) -- (2.5,2) -- cycle; \draw[magenta,EDR=-] (5,0) rectangle (9,4) ; \draw[cyan,EDR] (6,1) rectangle (8,3); \end{tikzpicture} \begin{tikzpicture} \draw[EDR] (-3,0) -- (-1,0) -- (-1,2) -- (1,2) -- (1,0) -- (3,0); \draw[thick,teal] (-3,1) -- (3,1); \end{tikzpicture} \end{document} which gives: I wonder whether any extension could be added with the thought of nfold and \pgfoffsetpath?