• Vertical Space in a Beamer Presentation
    by jeroen2009 on April 22, 2026 at 11:11 am

    In a beamer presentation, in order to start the upper bullet point at the top of each page and not at the vertical center of the page, I use the t option as shown below. How can I achieve to start the upper bullet point at each page for example 1 inch from the top and not entirely at the top margin \documentclass[t]{beamer}

  • How can I use \input to move tabularx row content to separate files?
    by cowgoesmoo on April 22, 2026 at 10:26 am

    I have a working project with a main file (100-main.tex), that uses \input to pull in a file containing a version history chapter (102-versionhist.tex). I have the following code in 102-versionhist.tex: \chapter{Version history} \newcommand{\revision}[7]{ #1 & #2 & #3 & #4 & #5 & #6 & #7\\ } \newcommand{\change}[3]{ #1 & #2 & #3\\ } { \centering \begin{tabularx}{\linewidth}{ l % Revision. l % Status. l % Date. l % Prepared. l % Checked. l % Approved. >{\raggedright\arraybackslash}X % Comments. } \toprule \thead{Rev.} & \thead{Status} & \thead{Date} & \thead{P} & \thead{C} & \thead{A} & \thead{Comments} \\ \midrule \revision{TEST}{TEST}{TEST}{T}{T}{T}{TEST} \bottomrule \end{tabularx} } \vspace{2em} { \centering \begin{tabularx}{\linewidth}{ r % Revision. r % Change ref. >{\raggedright\arraybackslash}X % Change summary. } \toprule \thead{Rev} & \thead{Change ref.} & \thead{Change summary} \\ \midrule \change{TEST}{T01}{TEST} \bottomrule \end{tabularx} } This compiles fine (LuaLaTeX). What I would like to do is move \revision{TEST}{TEST}{TEST}{T}{T}{T}{TEST} and \change{TEST}{T01}{TEST} to separate files, so that 102-versionhist.text becomes static (using git for version control). If I move the revisions and changes to separate .tex files and try to replace them with e.g. \input{revisions.tex} and \input{changes.tex} it won't compile. What am I doing wrong? I've managed to troubleshoot things a little bit. The console output complains of Misplaced \noalign. \bottomrule ->\noalign.... and if I remove the \bottomrule from the table then it compiles, but the first column of the second row that comes in via \input has a space on the front of it. I think this is potentially what is breaking it. There is no visible space at the front of the revisions.tex file in my editor (TeXworks). Edit: I tried changing the revisions.tex file to be: \revision{TEST}{TEST}{TEST}{T}{T}{T}{TEST1 external file} \revision{TEST}{TEST}{TEST}{T}{T}{T}{TEST2 external file} and the compiled output (without \bottomrule) changes to: which confirms there's a space being added at the start of what \input brings in. The behaviour remains the same though; won't compile if \bottomrule is in the table. Edit2: Updating revisions.tex to be: \ignorespaces \revision{TEST}{TEST}{TEST}{T}{T}{T}{TEST1 external file} \revision{TEST}{TEST}{TEST}{T}{T}{T}{TEST2 external file} fixes the issue of leading space on what comes in to the table, but it still won't compile if \bottomrule is in place.

  • Font style in first few pages of books by De Gruyter [duplicate]
    by Maths Rahul on April 22, 2026 at 4:57 am

    The new file in Overleaf comes with \documentclass{article} \usepackage{graphicx} % Required for inserting images ... \begin{document} .... \end{document} In the output, it shows general old styled roman fonts. While reading a book by De Gruyter, I noticed that their font style is different than the books by Springer, Dover, Ametican Mathematical Society etc. I wanted to get the possible font-styles appearing in the modern books published by De Gruyter. I am sharing the link which shows first 3-4 pages (only these fonts I an interested in). I was not able to search them properly anywehre. Q. Can anyone please tell how do I make note in all such fonts in the book?

  • Append command to all superscripts and subscripts
    by MarcRdC on April 22, 2026 at 12:33 am

    I am using LuaHBTeX (TeX Live 2026) and would like to automatically append a command (say \mycmd, for example a sequence of characters) to all mathematical superscripts and subscripts, without making ^ and _ active — and without using some custom commands to write the said superscripts and subscripts. Could some lua code achieve that? Unlike gsub, it should also apply when symbols ^ and _ are not directly used in the body of the document. For instance, in math mode, a_{b}, a_{b^{c}} and \mytest, where \mytest is defined as a^{b}, should be respectively replaced with a_{b\mycmd}, a_{b^{c\mycmd}\mycmd} and a^{b\mycmd}. \documentclass{article} \def\mycmd{!} \def\mytest{a^{b}} \begin{document} % \verb+\( a_{b} \quad a_{b^{c}} \quad \mytest \)+ should give \( a_{b!} \quad a_{b^{c!}!} \quad a^{b!} \). \verb+\verb!a_b a^b!+ should give \texttt{a\_b a\textasciicircum b}. % \end{document}

  • Aligning text within a table cell so that it is centered horizontally and vertically
    by Konrad Brine on April 21, 2026 at 11:20 pm

    I have been googling for a while and have seen quite a few posts on this, but none of them seem to work. I would like to horizontally and vertically align the below table so that the text appears in the center of the column and the center of the row. I tried this with [b]{|c|}, hoping that this would align the text to the bottom (I also attempted this with [c]{|c|} and got no change. The reason that I use the m/p/b parameters is because I also need the columns to be a set width, I even made sure to include the array package. I had hoped that the b parameter would align the text to the bottom, and the m would align it to the middle, but again, none of them change anything. \documentclass[]{subfiles} \usepackage{array} \begin{document} \begin{table} \begin{center} \begin{tabular}{|m{2.1cm}|m{1.9cm}|m{1.9cm}|b{1.9cm}|m{1.9cm}|p{1.9cm}|b{1.9cm}|} \hline & \multicolumn{2}{c|}{Initial volume ($V_i$)} & \multicolumn{2}{c|}{Final volume ($V_f$)} & \multicolumn{2}{c|}{$\Delta V=V_{object}$} \\[20pt] \hline & [ml] or [cm$^3$] & [m$^3$] & [ml] or [cm$^3$] & [m$^3$] & [ml] or [cm$^3$] & [m$^3$] \\[20pt] \hline Lab Partner 1 & & & & & & \\[20pt] \hline Lab Partner 2 & & & & & & \\[20pt] \hline Lab Partner 3 & & & & & & \\[20pt] \hline & \multicolumn{2}{c|}{} & \multicolumn{2}{c|}{} & \multicolumn{2}{l|}{$\Delta V_{average}=$} \\[20pt] \hline \end{tabular} \end{center} \end{table} \end{document} Here is the output of the above (you'll notice that the m/b/p parameters all give the exact same result). How can I adjust this code to force the text to be both horizontally and vertically center aligned while maintaining the column widths?

  • Aligning TikZ grids between tcolorbox overlays and page background
    by Christopher Madec on April 21, 2026 at 9:13 pm

    I am working on a layout where I draw a grid in two different contexts: Inside tcolorbox environments (using an overlay) In the page margin using \AddToShipoutPicture Here is a minimal example: \documentclass[11pt,a4paper,svgnames]{book} \RequirePackage[top=2cm, bottom=2cm, left=3.9cm, right=1cm]{geometry} \usepackage[most]{tcolorbox} \newcommand{\myoverlay}{ \begin{tcbclipinterior}%[remember picture,overlay] \draw[%shift=(current page.north west), step=0.524cm,white!70!gray,very thin] (interior.north west) grid (interior.south east); \end{tcbclipinterior} } \newtcolorbox{Box4}[1][ bicolor, colback=white!05,grow to left by=2.5cm,colbacklower=black, boxrule=0.5pt,overlay=\myoverlay]{#1} \newtcolorbox{Box4bis}[1][ bicolor,colback=white,colbacklower=black, grow to left by=0cm,grow to right by=0cm, boxrule=0pt, overlay=\myoverlay] {#1} \usepackage{lipsum} \usepackage[]{eso-pic} \begin{document} \AddToShipoutPicture{% \begin{tikzpicture} \draw[shift=(current page.north west),step=5.24mm, lightgray, very thin, opacity=0.5] ([xshift=0cm,yshift=0cm]current page.south west) grid ([xshift=3.7cm,yshift=0cm]current page.north west); \draw[black, very thick, opacity=0.3] ([xshift=3.7cm]current page.south west) -- ([xshift=3.7cm]current page.north west); \end{tikzpicture}% } \begin{Box4bis} \lipsum[1] \end{Box4bis} \begin{Box4} \lipsum[2] \end{Box4} \lipsum[3] \begin{Box4} \lipsum[4] \end{Box4} \begin{Box4bis} \lipsum[5] \end{Box4bis} \end{document} The code gives this: Goal I would like the grids drawn: inside the tcolorbox environments in the page margin (via shipout) to be perfectly aligned, so that the grid appears continuous across the whole page. What I have tried Using current page coordinates inside the tcolorbox overlay Adding remember picture, overlay and current page.north page and retrieve absolute positions (see tikz: How can I find the value of `current page.north west`?) Trying to manually shift grids to match visually (impossible) However, I could not find a reliable way to make both grids share the same reference system.

  • Drawing card rows by using JeuxCartes
    by ryuk on April 21, 2026 at 9:10 pm

    Good evening, I've drawn 52 cards using the "JeuxCartes" package. I'd like to arrange the cards in 4 rows (one row per suit), but I can't. Could someone please help me? I would also like to introduce a little bit of space horizontally and vertically between one card and another. Thank you very much. \documentclass{standalone} \usepackage{amsmath,amssymb} \usepackage{pgfplots} \usepackage{JeuxCartes} \usepackage{eurosym} \begin{document} \\ \AffCartesJeu[Hauteur=2,StyleJeu=v3]{AT § 2T § 3T § 4T § 5T § 6T § 7T § 8T § 9T § 10T § VT § DT § RT} \\ \\ \\ \AffCartesJeu[Hauteur=2,StyleJeu=v3]{AK § 2K § 3K § 4K § 5K § 6K § 7K § 8K § 9K § 10K § VK § DK § RK} \\ \\ \\ \AffCartesJeu[Hauteur=2,StyleJeu=v1]{AC § 2C § 3C § 4C § 5C § 6C § 7C § 8C § 9C § 10C § VC § DC § RC} \\ \\ \\ \AffCartesJeu[Hauteur=2,StyleJeu=v2]{AP § 2P § 3P § 4P § 5P § 6P § 7P § 8P § 9P § 10P § VP § DP § RP} \\ \\ \end{document}

  • Propagating type of math expression in a macro
    by kaba on April 21, 2026 at 6:18 pm

    Is it possible to propagate the type of a math expression in a macro after modifications? By the type I mean \mathrel, \mathord and friends. Consider this example: \documentclass[a4paper, 12pt]{article} \usepackage{amssymb} \usepackage{amsmath} % All orders \NewDocumentCommand{\orders}{}{\mathfrak{o}} % Order (symbol form) \NewDocumentCommand{\order}{}{\mathord{\leq}} % Order (relation form) \NewDocumentCommand{\orderleq}{}{\mathrel{\leq}} % Strict form of an order (symbol form) \NewDocumentCommand{\strictly}{m}{\mathord{#1!}} % Strict form of an order (relation form) \NewDocumentCommand{\strictlyr}{m}{\mathrel{#1!}} \begin{document} The strict form an order $\order \in \orders$ is $\strictly{\order} \in \orders$ defined by \begin{equation} x \strictlyr{\orderleq} y \iff x \orderleq y \land y \not\orderleq x. \end{equation} \end{document} In this example, I want to add an exclamation mark after the \leq symbol. I sometimes need this symbol in \mathord type, and usually in the \mathrel type, so I have two corresponding macros \order and \orderleq. To add an exclamation, I have two macros \strictly and \strictlyr, which correspond to \mathord and \mathrel, respectively, and which set the type afterwards. This provides me with correct spacing: I wish I could have just one macro \strictly that would work in both cases.

  • How can I place a table inside a footer, and keep the footer space "automatic"?
    by Alessandro Bertulli on April 21, 2026 at 3:59 pm

    I am trying to reproduce an enterprise template with LuaLaTeX and LaTeX3, and I need to place in the footer of the document a table like this: I loaded in my .cls file the package geometry with no options (here a MWE converted into a standalone tex): \documentclass{report} \usepackage[a4paper]{geometry} \usepackage{tabularray} \usepackage{fancyhdr} \usepackage{xcolor} \usepackage{lastpage} % To get the total number of pages \usepackage{lipsum} \fancypagestyle{custom}{ \fancyhf{} \fancyfoot[C]{ \begin{tblr}{ width = \textwidth, cells = {gray!50}, baseline = t, colspec = {lXlXlX}, hspan = minimal, row{Z[2]} = {white}, } written by: & \TeX{} community & approved by: & Managers & review: & v0.1 \\ unit: & Lua\LaTeX{} department & issue date: & \today & page: & \thepage/\pageref{LastPage} \\ & & & & & \\ privacy note: & \SetCell[c=5]{l} Double licensed, \LaTeX{} license and GFDL \\ \end{tblr} \begin{flushright} {Document model 001-A} \end{flushright} } } \pagestyle{custom} \begin{document} \lipsum[1-16] \end{document} Now, I want to set a length for the space above and below the table, while still automatically calculate the height of the table. In other words, I'd like to specify "I want 1cm above the table and 1.5cm below it", and let LuaLaTeX find out how much space to reserve, knowing the content of the table (which is going to be dynamic, let's say by placing another \lipsum where there are the privacy notes). My problem is, I don't know how to tweak geometry and/or fancyhdr and/or tabularray. Changing the geometry parameter footskip "pushes" the table below, but it doesn't change the space above, and consequently the space reserved in total for the footer Setting the geometry parameter bottom sets an absolute value for the footer, completely ignoring the content of the table Setting the tblr parameter baseline to t (top) helped, but again it didn't changed the space reserved in the page I can get the effect I want by tweaking with footskip and bottom, but it is a manual measure, that needs to be retweaked every time the content of the table is changed. How can I make the footer height calculation automatic, much like it is done when no options are passed to geometry? Extra: does using LuaLaTeX / LaTeX3 help us here? Thanks.

  • Small indentation after equation and figure together. Why does it occur and how to control it? [duplicate]
    by n6r5 on April 21, 2026 at 11:49 am

    I am finding a small indentation in a new sentence after an equation and a figure together. Below is a MWE showing the problem. If you exclude the figure, the indentation disappears, if you exclude the equation, it also disappears. Now I have two questions. What should I do if I want a new paragraph with a full indentation, and what should I do if I do not want an indentation here at all? In this MWE, if I put \par at the end of the second paragraph, additional vertical space is added above the equation, but the indentation of the third paragraph stays small. If I add \par at the beginning of the third paragraph, then it will add a blank line under the figure, instead of just indenting by the right amount. Placing \noindent at the start of the third paragraph does not remove the small indentation. In the figure of the MWE I have added the red line to facilitate comparison of the indentations. \documentclass[a4paper,12pt]{article} \usepackage{mwe} \begin{document} \section{Section one} This is a sentence above the equation. Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. \par New paragraph to see the indentation, bla bla bla bla bla bla bla bla. % \begin{equation} x+y = 1 \end{equation} % \begin{figure}[!ht] \centering \noindent\includegraphics[width=.5\textwidth]{example-image-a} \caption{Placeholder image.} \label{fig:figureone} \end{figure} % This is a new sentence that has smaller indentation. Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. \end{document}

  • subsection and subsubsection heading with run on style
    by murugan anbu on April 21, 2026 at 10:01 am

    I want to set subsection and subsubsection in run-on style, but I need to add a condition: if subsection and subsubsection appear immediately one after the other (stacked headings), they should run on together, with the subsection heading content run on into the subsubsection heading content. My MWE is below: \documentclass{article} \usepackage{amsmath,amsfonts,amssymb} \begin{document} \makeatletter \setcounter{secnumdepth}{0}% \renewcommand\subsection{ \@startsection{subsection}{2}{\parindent}% {10pt plus1pt minus1pt}% {-1em}% {\reset@font\bfseries\itshape\fontsize{9}{10}\selectfont}} \renewcommand\subsubsection{ \@startsection{subsubsection}{3}{\parindent}% {10pt plus1pt minus1pt}% {-1em}% {\reset@font\itshape\fontsize{9}{10}\selectfont}} \makeatother \section{A head} To overcome these constraints, researchers have increasingly turned to active and tunable materials capable of reconfiguring their electromagnetic response in real time. To overcome these constraints, researchers have increasingly turned to active and tunable materials capable of reconfiguring their electromagnetic response in real time. \subsection{B head} To overcome these constraints, researchers have increasingly turned to active and tunable materials capable of reconfiguring their electromagnetic response in real time. \subsubsection{C head} To overcome these constraints, researchers have increasingly turned to active and tunable materials capable of reconfiguring their electromagnetic response in real time. \subsection{B head 2nd occurence} \subsubsection{C head 2nd occurence} To overcome these constraints, researchers have increasingly turned to active and tunable materials capable of reconfiguring their electromagnetic response in real time. \section{Imaginary output like below only for your reference} \subsection{B head 2nd occurence\quad C head 2nd occurence} To overcome these constraints, researchers have increasingly turned to active and tunable materials capable of reconfiguring their electromagnetic response in real time. \end{document}

  • Strange bracket matching problem in exam class with the use of `\half` command
    by S. Venkataraman on April 21, 2026 at 9:43 am

    I get a strange error message when I use \half command in exam class. Here is a MWE. \documentclass{exam} \begin{document} \begin{questions} \question \begin{parts} \part \(\left[\half\left(A+A^*\right)\right]^*=\half\) % \part \(\left[\frac{1}{2}\left(A+A^*\right)\right]^*=\frac{1}{2}\) \end{parts} \end{questions} \end{document} In the present state, it gives this error message: ! Missing \right. inserted. <inserted text> \right . l.6 \part \(\left[\half \left(A+A^*\right)\right]^*=\half\) I've inserted something that you may have forgotten. (See the <inserted text> above.) With luck, this will get me unwedged. But if you really didn't forget anything, try typing `2' now; then my insertion and my current dilemma will both disappear. However, if I remove the comment from the second line and comment out the first line, it compiles successfully. My lualatex information is: This is LuaHBTeX, Version 1.22.0 (TeX Live 2025) (format=lualatex 2025.6.12) 21 APR 2026 15:09 What could be the problem?

  • Number shows up in worldflag
    by Erwann on April 21, 2026 at 5:21 am

    autoWorldFlag applies a scale factor to \f@size; I guess the dimension is poorly specified for the number .88 to show up in the output for \Huge. How then should it be set? \documentclass{article} \usepackage{worldflags} \usepackage{xparse} \ExplSyntaxOn % helper dimension \dim_new:N \l__flag_length_dim \makeatletter \NewDocumentCommand{\autoWorldFlag}{m} { \dim_set:Nn \l_tmpa_dim { 0.9pt * \f@size } \worldflag[ length = \dim_use:N\l_tmpa_dim , width = 0pt ]{#1} } \makeatother \ExplSyntaxOff \begin{document} \normalsize Document bilingue \autoWorldFlag{FR} \bigskip \large Document bilingue \autoWorldFlag{FR} \bigskip \Huge Document bilingue \autoWorldFlag{FR} \end{document}

  • How to optimize page space and event display in LaTeX with the Chronos timeline package?
    by Vincent on April 21, 2026 at 3:39 am

    I'm using the Chronos package to create a timeline with many events close together (e.g., 1937-1938). The text overlaps and it wastes too much space. How can I: Make the timeline more compact (reduce vertical/horizontal gaps)? Prevent text overlap and control text wrapping? Adjust spacing for dense event periods? For the following: \documentclass{article} \usepackage[margin=0.5cm,showframe]{geometry} \usepackage{chronos} \usepackage{xcolor} \begin{document} \noindent \begin{chronos}[ dates={1931}:{1946}, step minor year=2, step major year=10, timeline height=5pt, timeline width=\textwidth, timeline years=above, timeline era margin=50pt, ] \foreach \n/\d/\pos/\y in { Event 1/1931-9-18/above/yshift=2em, Event 2/1934-10/below/yshift=-2em, Event 3/1936-12-12/above/yshift=2em, Event 4/1937-7-7/below/yshift=-2em, Event 5/1937-8/above/yshift=4em, Event 6/1937-9/below/yshift=-6em, Event 7/1937-9/above/yshift=6em, Event 8/1937-12-13/above/yshift=8em, Event 9/1938-3/below/yshift=-10em, Event 10/1938-6/above/yshift=12em, Event 11/1940-8/below/yshift=-2em, Event 12/1941-12/above/yshift=2em, Event 13/1945-4/below/yshift=-2em, Event 14/1945-9-2/above/yshift=2em } \chronosevent{ name=\n, date=\d, place \pos=true, \y }; \end{chronos} \end{document} Produces: In a format analogous to the one depicted below:

  • Plot a domain in 3D with TikZ for a triple integral
    by Sebastiano on April 20, 2026 at 9:59 pm

    I have to solve this triple integral ∭ x y|z|³/(1+ (x²+y²)⁴)  dx  dy dz, with a domain T={(x, y, z) ∈ ℝ³: x ≤ 0, y ≥ 0, z² ≤ x²+y² ≤ 1}. Plotting with DESMOS 3D I see this: Actually I am not able to visualise this domain in my mind. It should be a cylinder enclosed by a double-sloped cone, but I can’t quite get the x ≤ 0, y ≥ 0 parameters right. I’ve created something but I would like my drawing (or a new one) to be intuitive with TikZ3D so that I can correctly draw this integral. My MWE: \documentclass[12pt]{article} \usepackage{tikz} \usepackage{tikz-3dplot} \tdplotsetmaincoords{60}{130} \begin{document} \begin{tikzpicture}[tdplot_main_coords, scale=3] % assi \draw[->] (0,0,0) -- (1.3,0,0) node[right]{$x$}; \draw[->] (0,0,0) -- (0,1.3,0) node[left]{$y$}; \draw[->] (0,0,0) -- (0,0,1.3) node[above]{$z$}; \foreach \t in {0,1,...,359}{ \pgfmathsetmacro{\ct}{cos(\t)} \pgfmathsetmacro{\st}{sin(\t)} \draw[blue!60, opacity=0.75] (0,0,0) -- plot[domain=0:1, samples=40] ({\x*\ct},{\x*\st},{\x}); \draw[red!60, opacity=0.75] (0,0,0) -- plot[domain=0:1, samples=40] ({\x*\ct},{\x*\st},{-\x}); } \draw[thick] plot[domain=0:360, samples=200] ({cos(\x)},{sin(\x)},1); \draw[thick] plot[domain=0:360, samples=200] ({cos(\x)},{sin(\x)},-1); \end{tikzpicture} \end{document}

  • expl3 e vs x function variants
    by karlh on April 20, 2026 at 8:06 pm

    In the LaTeX3 kernel documentation (interface3), it used to state, "The e specifier is in many respects identical to x, but with a very different implementation. Functions which feature an e-type argument may be expandable. The drawback is that e is extremely slow (often more than 200 times slower) in older engines, more precisely in non-LuaTeX engines older than 2019." I say "used to" because the current version changed the wording somewhat: "The e specifier is in many respects identical to x, but uses [the] \expanded primitive. [The] parameter character (usually #) in the argument need not be doubled. Functions which feature an e-type argument may be expandable." My question: other than the argument being allowed to be expandable in the e-form, is there a reason to prefer e over x or vice-versa, or do they do essentially the same thing? In particular, some functions (e.g., \iow_now:Nn) had x-variants in TeXLIVE 2023 but have e-variants now (the implication being that e is preferred, I would guess?), and I am wondering whether it makes any difference in terms of backward or forward compatibility of code I might write in the future.

  • Using `annotate-equations` library to annotate matrix row and column labels
    by Tianjian Qin on April 20, 2026 at 7:20 pm

    The annotate-equations library looks nice. I wanted to use the library to annotate matrix row and column labels, but it didn't work out. Below is a minimal standalone example where the first tikzpicture is simply the matrix with row and column labels. The second tikzpicture is my attempt to add annotations: \documentclass[tikz,border=6pt]{standalone} \usepackage{amsmath} \usepackage{tikz} \usepackage{annotate-equations} \usetikzlibrary{calc} \begin{document} \begin{tikzpicture} \node[ anchor=center, inner sep=0pt, outer sep=0pt ] (nodematrix) at (0,0) {% {\scriptsize \renewcommand{\arraystretch}{0.88}% $\left[ \begin{array}{@{}c|ccc@{}} & \mathbf{X} & \mathbf{Y} & \mathbf{Z} \\ \mathbf{A} & 1 & 0 & 0 \\ \mathbf{B} & 0 & 1 & 0 \\ \mathbf{C} & 0 & 1 & 0 \\ \mathbf{D} & 0 & 1 & 1 \\ \mathbf{E} & 1 & 0 & 0 \\ \mathbf{F} & 0 & 0 & 1 \end{array} \right]$}% }; \end{tikzpicture} \begin{tikzpicture}[remember picture] \node[ anchor=center, inner sep=0pt, outer sep=0pt ] (nodematrix) at (0,0) {% {\scriptsize \renewcommand{\arraystretch}{0.88}% $\left[ \begin{array}{@{}c|ccc@{}} & \tikzmarknode{md-colX}{\mathbf{X}} & \tikzmarknode{md-colY}{\mathbf{Y}} & \tikzmarknode{md-colZ}{\mathbf{Z}} \\ \tikzmarknode{md-rowA}{\mathbf{A}} & 1 & 0 & 0 \\ \tikzmarknode{md-rowB}{\mathbf{B}} & 0 & 1 & 0 \\ \tikzmarknode{md-rowC}{\mathbf{C}} & 0 & 1 & 0 \\ \tikzmarknode{md-rowD}{\mathbf{D}} & 0 & 1 & 1 \\ \tikzmarknode{md-rowE}{\mathbf{E}} & 1 & 0 & 0 \\ \tikzmarknode{md-rowF}{\mathbf{F}} & 0 & 0 & 1 \end{array} \right]$}% }; \end{tikzpicture} \annotate[ xshift=-2.8em, yshift=-4.5ex ]{below}{md-rowF}{data nodes $V$} \annotate[ xshift=1.2em, yshift=1.0em ]{above}{md-colX,md-colY,md-colZ}{metadata nodes $U$} \end{document} Here is the compile pdf output: The original matrix: The annotated matrix (where I see two additional empty patches, and no annotation showed up): I cannot figure out what happened here.

  • Why my tikz draws a wrong diagram in snake lemma?
    by H.ANT on April 20, 2026 at 1:43 pm

    I used q.uiver.app to draw tikz-cd diagrams. The package is \RequirePackage{tikz-cd} \usetikzlibrary{calc} \usetikzlibrary{decorations.pathmorphing} \tikzset{curve/.style={settings={#1},to path={(\tikztostart) .. controls ($(\tikztostart)!\pv{pos}!(\tikztotarget)!\pv{height}!270:(\tikztotarget)$) and ($(\tikztostart)!1-\pv{pos}!(\tikztotarget)!\pv{height}!270:(\tikztotarget)$) .. (\tikztotarget)\tikztonodes}}, settings/.code={\tikzset{quiver/.cd,#1} \def\pv##1{\pgfkeysvalueof{/tikz/quiver/##1}}}, quiver/.cd,pos/.initial=0.35,height/.initial=0} \tikzset{tail reversed/.code={\pgfsetarrowsstart{tikzcd to}}} \tikzset{2tail/.code={\pgfsetarrowsstart{Implies[reversed]}}} \tikzset{2tail reversed/.code={\pgfsetarrowsstart{Implies}}} \tikzset{no body/.style={/tikz/dash pattern=on 0 off 1mm}} but my code in Snake Lemma \documentclass{article} \usepackage{amsmath,quiver} \DeclareMathOperator\coker{coker} \begin{document} \[ \begin{tikzcd} & {\ker\alpha} & {\ker\beta} & {\ker\gamma} & \\ & A & B & C & 0 \\ 0 & {A'} & {B'} & {C'} \\ & {\coker\alpha} & {\coker\beta} & {\coker\gamma} \arrow[from=1-2, to=1-3] \arrow[from=1-2, to=2-2] \arrow[from=1-3, to=1-4] \arrow[from=1-3, to=2-3] \arrow[from=1-4, to=2-4] \arrow[from=2-2, to=2-3] \arrow[from=2-2, to=3-2] \arrow[from=2-3, to=2-4] \arrow[from=2-3, to=3-3] \arrow[from=2-4, to=2-5] \arrow[from=2-4, to=3-4, ""{coordinate, name=P1}] \arrow[from=3-1, to=3-2] \arrow[from=3-2, to=3-3] \arrow[from=3-2, to=4-2] \arrow[from=3-3, to=3-4] \arrow[from=3-3, to=4-3] \arrow[from=3-4, to=4-4] \arrow[from=4-2, to=4-3] \arrow[from=4-3, to=4-4] \arrow["\delta" description, dashed, from=1-4, to=4-2, crossing over, rounded corners, to path={(\tikztostart) -- ([xshift=2ex]\tikztostart.east) |- (P1) [midway]\tikztonodes -| ([xshift=-2ex]\tikztotarget.west) -- (\tikztotarget)}] \end{tikzcd} \] \end{document} draw a wrong picture, like this: How can I change the package or my LaTeX code to make my diagram correct? More specifically, I want to know how I adjust the parameters in [midway]\tikztonodes, and what proportion of the arrow this parameter corresponds to? Because I thought "midway" meant the middle of the entire dashed arrow, but it seems that's not the case.

  • Eforms signature field not working because of JavaScript
    by UniCoder1966 on April 20, 2026 at 11:29 am

    I'm creating a LaTeX pdf document that uses JavaScript and is supposed to be signable with a digital id. However, when I want to add the signature using Adobe Acrobat, I get the following warning: "This document contains embedded functions. [...] To ensure long-term compatibility, we recommend requesting a version without embedded actions from the document author." Once I add the signature, it warns me: "This document contains elements that may affect its appearance. Please review it before proceeding." Reviewing it tells me that "Rich Content" can't be surpressed and the error codes 1000, 1001, 1002, 1008, 1012, 1014 and 2013. I'm compiling with LuaLaTeX. MWE: \documentclass[ a4paper, fontsize=10pt headsepline=0.4pt ]{scrartcl} \usepackage[ unicode, colorlinks=true, pdfencoding=auto, pdftitle={PDF Document}, pdfauthor={User}, pdfpagemode=UseNone, pdfstartview=FitH, pagebackref, pdfhighlight={/N}, pdftoolbar=false, linkcolor=black ]{hyperref} \usepackage{eforms} \begin{document} \newcommand{\textfield}[5]{ \edef\Titel{#2} \TextField[name=#1, width=#3, charsize=10pt, height=1em, format = { var f = this.getField('#1'); f.textFont = 'ArialMT';}, #4]{}#5 } \newcommand{\textfieldnew}[5]{% \edef\Titel{#2}% \TextField[name=#1, width=#3, charsize=10pt, height=1em, format = { var f = this.getField('#1'); f.textFont = 'ArialMT';}, #4]{}% #5% } \textfieldnew{GER}{}{7.5cm}{default={German}, onblur={this.getField('EN').value = event.value;}}{} \textfieldnew{EN}{}{7.5cm}{default={English}, onblur={this.getField('GER').value = event.value;}}{} \sigField{Signature1}{7.5cm}{1.2cm} \end{document}

  • Natbib and beamer suddenly producing erroneous citations
    by noob on April 20, 2026 at 11:13 am

    EDIT 24 April 2026, 5:49 pm CEST I am using beamer with natbib, but all the sudden, references are not displayed correctly anymore. I have used both toghether for a long time and never had this particluar problem. (It also does not seem to be the same problem as this one, as no error message appears in the log.) Here is the minimal working example: \documentclass{beamer} \usepackage{natbib} \begin{document} Test \citep{rudin}. \bibliographystyle{apalike} \bibliography{SCP} \end{document} The result is this: Here is the bib-file: @article{rudin, title={Stop explaining black box machine learning models for high stakes decisions and use interpretable models instead}, author={Rudin, Cynthia}, journal={Nature Machine Intelligence}, volume={1}, number={5}, pages={206--215}, year={2019} } If I compile without natbib and use the '\cite'-command instead, the output is correct: If I then switch back to natbib and \citep, I get the following: Here is the blg-file: This is BibTeX, Version 0.99e Capacity: max_strings=200000, hash_size=200000, hash_prime=170003 The top-level auxiliary file: test.aux Reallocating 'name_of_file' (item size: 1) to 8 items. The style file: apalike.bst Reallocating 'name_of_file' (item size: 1) to 5 items. Database file #1: test.bib You've used 1 entry, 1935 wiz_defined-function locations, 477 strings with 3831 characters, and the built_in function-call counts, 380 in all, are: = -- 38 > -- 7 < -- 1 + -- 2 - -- 2 * -- 31 := -- 69 add.period$ -- 3 call.type$ -- 1 change.case$ -- 6 chr.to.int$ -- 1 cite$ -- 1 duplicate$ -- 14 empty$ -- 31 format.name$ -- 3 if$ -- 72 int.to.chr$ -- 1 int.to.str$ -- 0 missing$ -- 1 newline$ -- 8 num.names$ -- 3 pop$ -- 3 preamble$ -- 1 purify$ -- 6 quote$ -- 0 skip$ -- 12 stack$ -- 0 substring$ -- 37 swap$ -- 1 text.length$ -- 0 text.prefix$ -- 0 top$ -- 0 type$ -- 6 warning$ -- 0 while$ -- 4 width$ -- 0 write$ -- 15 aux-file: \relax \providecommand\hyper@newdestlabel[2]{} \providecommand*\HyPL@Entry[1]{} \citation{rudin} \bibstyle{apalike} \bibdata{SCP} \bibcite{rudin}{{1}{2019}{{Rudin}}{{}}} \HyPL@Entry{0<</S/D>>} \@writefile{nav}{\headcommand {\beamer@sectionpages {1}{0}}} \@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{0}}} \@writefile{nav}{\headcommand {\sectionentry {1}{\translate {References}}{1}{\translate {References}}{0}}} \@writefile{nav}{\headcommand {\beamer@partpages {1}{1}}} \@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{1}}} \@writefile{nav}{\headcommand {\beamer@sectionpages {1}{1}}} \@writefile{nav}{\headcommand {\beamer@documentpages {1}}} \@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {0}}} \gdef \@abspage@last{1} bbl-file: \begin{thebibliography}{} \bibitem[Rudin, 2019]{rudin} Rudin, C. (2019). \newblock Stop explaining black box machine learning models for high stakes decisions and use interpretable models instead. \newblock {\em Nature Machine Intelligence}, 1(5):206--215. \end{thebibliography} Any thoughts? Many thanks in advance!

  • Longtable interprets internal cell linebreaks as new rows in csvsimple and datatool
    by JamesI on April 20, 2026 at 10:37 am

    In both csvsimple and datatool, any longtable environment with a cell that contains linebreaks (within the cell) seems to treat those line breaks as an indicator of a new row. An MWE is below \documentclass[12pt]{report} \usepackage{csvsimple} \usepackage{array} % Required for p{} columns \usepackage{tabularx} % Optional: for auto-width columns \usepackage{booktabs} % better tables \usepackage{longtable} % tables breaking across pages \usepackage{filecontents} \begin{filecontents*}{test.csv} heading,data Thing1,"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur? At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur? At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat. At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem." Thing2,"Lorem ipsum dolor" \end{filecontents*} \begin{document} \csvreader[ longtable=p{3cm} p{9cm}, late after line=\\, before reading={\catcode`"=9} %remove double-quotes ]{test.csv}{1=\heading,2=\data}{\heading & \data} \end{document} If the text is short everything works, if the text is long with linebreaks, rows and columns get messed up. I've tried putting the cell in a \parbox, using tabularx 'X' instread or array's p{}, and plain columns. Nothing seems to stop this behaviour. Edit - for a bit of clarity in the light of the answer given Long table environments are designed to allow tables to break across pages, so using one implies that I have a table too long to fit on a single page. Apologies for any confusion, I've made the example text in the MWE much longer to reflect this. This is the function I'm trying to achieve - neat breaking of tables across pages. When the page break needs to come in the middle of a cell (without any line breaks), longtable handles it fine - it puts some of the cell text on page1 and the rest on page2. Again - this is the function I'm trying to achieve. The problem is that if the cell that needs breaking contains a line break, longtable seems to see this as the start of a new row when on the new page - crucially for this problem, it does not do this if the cell is on the same page - here longtable can handle line breaks within a cell perfectly well provided the cell is either quoted (for datatool), or otherwise enclosed (for csvsimple).

  • Problem in using \noalign with enumerate from enumitem package
    by S. Venkataraman on April 20, 2026 at 2:22 am

    There is alignment problem with enumerate environment from enumitem package if I use \begin{align*}..\end{align*} and use \noalign. Here is a mwe: \documentclass{article} \usepackage{amsmath} \usepackage{enumitem} \newcommand{\Z}{\mathbf{Z}} \begin{document} \begin{enumerate} \item Definition of strong pseudoprime:\\ Let $n$ be an odd composite number and $b \in (\Z /n\Z)^*$. Write $n-1 = 2^st$ where $t$ is odd. If $b$ and $n$ satisfy the condition that either \begin{align*} b^t &\equiv 1 \bmod n, \\ \noalign{or there exists $r$, $0 \leq r <s$, such that} b^{2^rt}&\equiv -1 \bmod n, \end{align*} then $n$ is called a \emph{strong pseudoprime to the base $b$}. \end{enumerate} \end{document} As one can see in the output, the text within \noalign is not properly aligned.

  • 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. \documentclass{article} \usepackage{fontsetup} \begin{document}\itshape X\textsubscript{2} \textit{X}\textsubscript{2} \textit{X\nocorr}\textsubscript{2} f| f\/| \end{document}

  • add a grid background only inside a tabular column
    by 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 projected
    by 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 plot
    by 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}

  • Box alignment issue
    by Erwann on April 19, 2026 at 3:14 am

    This is an attempt at LaTeX3-fying this solution addressing a margin-note issue. It fails to align the baselines (the box seems titled down). Any suggestion to remedy this? \documentclass{article} \usepackage[showframe]{geometry} \usepackage{lipsum} \ExplSyntaxOn \cs_new_protected:Nn \erw_content_width_set:n { \dim_set:Nn \hsize { #1 } } \cs_new_protected:Nn \erw_parbox_top:Nnn { \vbox_set_top:Nn #1 { \erw_content_width_set:n { #2 } #3 } } \ExplSyntaxOff \begin{document} \ExplSyntaxOn \erw_parbox_top:Nnn \l_tmpa_box { 1in } { \begin{flushleft} \lipsum[1][1] \end{flushleft} } % \box_frame:Nnn\l_tmpa_box{1pt}{1pt} % \smash-like \box_set_ht:Nn \l_tmpa_box { 0pt } \box_set_dp:Nn \l_tmpa_box { 0pt } \box_move_left:nn{ 1in } {% \box_use:N\l_tmpa_box } \lipsum[2][1-4] \ExplSyntaxOff \end{document} Subsidiary question: optionally frame the box. Addendum: \def\@iiparbox#1[#2]{% \@ifnextchar[%] {\@iiiparbox{#1}{#2}}% {\@iiiparbox{#1}{#2}[#1]}} \long\def\@iiiparbox#1#2[#3]#4#5{% \leavevmode \@pboxswfalse \setlength\@tempdima{#4}% width \@begin@tempboxa\vbox{% \hsize\@tempdima \@parboxrestore #5\@@par }% \ifx\relax#2\else \setlength\@tempdimb{#2}% \edef\@parboxto{to\the\@tempdimb}% \fi \if#1b\vbox \else\if#1t\vtop \else\ifmmode\vcenter \else\@pboxswtrue $\vcenter \fi\fi\fi \@parboxto{% \let\hss\vss \let\unhbox\unvbox \expandafter\ifx\csname bm@#3\endcsname\relax \bm@c \@latex@warning{Unexpected alignment #3}% \else \csname bm@#3\endcsname \fi }% }

  • Eyelet character in LaTeX
    by Grzegorz Brzęczyszczykiewicz on April 18, 2026 at 5:16 pm

    How do I write the eyelet character (T1 code 24) in LaTeX? Is there a dedicated command or is \char24 the only option? If there is no dedicated command, I am using \char24 and it works but if the font isn't T1 it spits out a different mark as \char is a generic command and does not look at encoding. If you don't know what this character is, it's used after % to make ‰ and ‱. Here is this character in my own font I designed using METAFONT: and here it is in the T1 version of Computer Modern The question is: is there a dedicated command, or is \char24 all there is?

  • providing a mathchancery alphabet
    by 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?