• Hollowed-out sphere effect
    by Sebastiano on July 13, 2026 at 10:49 pm

    How can I obtain the hollowed-out sphere effect? The drawing above is my original done many years before. \documentclass{article} \usepackage{tikz} \usetikzlibrary{arrows.meta, calc, positioning, shapes.geometric} \begin{document} \begin{tikzpicture}[ scale=1.2, axis/.style={thick, ->} ] \coordinate (O) at (0, 0); \coordinate (X) at (-2, -2.3); \coordinate (Y) at (5.5, 0); \coordinate (Z) at (0, 4); \coordinate (P) at (3.1, 1.3); \draw[axis] (O) -- (X) node[left, font=\large, xshift=-3pt] {$x$}; \draw[axis] (O) -- (Y) node[below, font=\large, yshift=-3pt] {$y$}; \draw[axis] (O) -- (Z) node[left, font=\large, xshift=-3pt] {$z$}; \begin{scope} \shade[ball color=gray!30!white, opacity=0.85] (O) circle (0.9); \draw[gray!60, thin] (O) circle (0.9); \fill[gray!60!black, opacity=0.9] plot[smooth cycle, tension=0.7] coordinates { ($(O)+(-0.2, 0.4)$) ($(O)+(0.5, 0.5)$) ($(O)+(0.6, -0.4)$) ($(O)+(0.1, -0.6)$) ($(O)+(-0.3, -0.3)$) }; \shade[inner color=black!80, outer color=gray!70!black, opacity=0.5] plot[smooth cycle, tension=0.7] coordinates { ($(O)+(-0.2, 0.4)$) ($(O)+(0.5, 0.5)$) ($(O)+(0.6, -0.4)$) ($(O)+(0.1, -0.6)$) ($(O)+(-0.3, -0.3)$) }; \end{scope} \fill[black] (O) circle (0.07) node[below, yshift=-4pt, font=\large] {$O$}; \draw[->, >=Stealth, shorten >= 2.5pt, shorten <= 2pt] (O) -- (P) node[midway, above, yshift=2pt, font=\large] {$r$}; \fill[black] (P) circle (0.08) node[above, yshift=3pt, font=\large] {$P$}; \node[right, font=\Large\itshape, xshift=2pt, yshift=-2pt] at (P) {$m$}; \node[below, font=\large] at (0.2, -0.95) {$M$}; \end{tikzpicture} \end{document}

  • Why does cycle produce a diagonal?
    by D G on July 13, 2026 at 7:11 pm

    I don't understand why there is a diagonal. \documentclass[tikz,border=12pt]{standalone} \begin{document} \begin{tikzpicture} \node [draw=red] (A) at (1,1) {A}; \draw (0,0) |- (A) |- cycle; \end{tikzpicture} \end{document} Expected output \begin{tikzpicture} \node [draw=red] (A) at (1,1) {A}; \draw (0,0) |- (A) |- (0,0); \end{tikzpicture} Edit Considering the following code. \begin{tikzpicture} \node [draw=red] (A) at (1,1) {A}; \draw (0,0) |- (A) |- cycle; \end{tikzpicture} Suppose there were two separate paths within a single \draw command: first path: (0,0) |- (A.west) second path: (A.south) |- cycle In that interpretation, cycle seems to have two contradictory behaviors: It remembers (0,0) from the first path and uses it as the destination of |- in the second path. However, it also treats (A.south) as the starting point of the second path instead of (0,0). Am I misunderstanding how cycle is supposed to work?

  • "Decorating" sections and subsections in \documentclass{article}
    by CrocoDuck on July 13, 2026 at 7:08 pm

    I looked for a package that would handle the "decoration" of section and subsection titles, but I couldn't find one. I tried using tcolorbox, but only managed to generate errors. And the code needs to work with hyperref. The decoration would be something like what is shown in the figure below. \documentclass[a4paper,12pt]{article} \usepackage[brazilian]{babel} \usepackage[utf8x]{inputenc} \usepackage{graphicx} \usepackage{hyperref} \usepackage{enumitem} \usepackage{tcolorbox} \tcbuselibrary{skins} \usepackage{enumitem} \usepackage{colortbl} \usepackage{tabularx,booktabs} \hypersetup{ backref=true, colorlinks=true, % false: boxed links; true: colored links linkcolor=blue, % color of internal links citecolor=blue, % color of links to bibliography filecolor=magenta, % color of file links urlcolor=blue, bookmarksdepth=4 } \newtcbox{\meubox}[1][blue]{arc=12pt,colback=blue!80!white,colupper=white,colframe=blue!50!black} \begin{document} \tableofcontents \hypertarget{sumario}{} \newpage \section{\meubox{Considerações Gerais e de Segurança}} \newpage \section{Considerações Gerais} \newpage \section{Considerações de Segurança} %\tcbox[arc=12pt,colback=blue!80!white,colupper=white,colframe=blue!50!black]{\textbf{TESTE TESTE}} \meubox{\textbf{TESTE}} %\end{tcolorbox} \end{document}

  • Elevating a pbox and Maintaining the Default Spacing Between the Lines
    by DDS on July 13, 2026 at 3:57 pm

    Consider the code: \documentclass[10pt]{book} \usepackage{color,lipsum} \newcommand{\pbox}[1]{% % MACRO for increasing the space between fbox and the beginning of the subsequent sentence. \par \textcolor{red}{\fbox{\bfseries #1}}% #1. adds a period after the number within the fbox \hspace{0.2em} %\vspace{3pt} \ignorespaces } \begin{document} \thispagestyle{empty} {\pbox{3.}} \lipsum[1] \end{document} which produces: I would like to elevate the pbox a little, say 3pt. However, when I include the command \vspace{3pt} in the compilation, I get: As you can see, the vertical spacing between the first two lines has been increased as well (which I don't want.) QUESTION: How may I elevate the pbox while maintaining the default vertical spacing between the firs two lines of text? I compile the code with lualatex Thank you.

  • texlive 2026 make4ht input.tex "mathml,mathjax" rendering fails for user-defined macros
    by krone on July 13, 2026 at 2:38 pm

    Using texlive 2025 (distributed by archlinux) user-defined macros are rendered 'correctly' calling make4ht -ul test.tex "mathml,mathjax" With texlive 2026 (again archlinux package) and the same call, some things render correctly and others don't. MWE: \documentclass{article} \usepackage{siunitx} \usepackage{amssymb} \newcommand{\ilfrac}[2]{{}\sp{#1}\!/\!\sb{#2}} \newcommand{\ft}{\mathop{\mathcal{FT}}} \newcommand{\ift}{\mathop{\mathcal{FT}\sp{-1}}} \begin{document} %%% first equation %%% \[ \ift{\left[a(x)\right](f)} \] %%% second equation %%% \[ \ft \neq \ift \] %%% third equation %%% \[ \ift \neq \ft \] %%% fourth equation %%% \[ \chi(f) = \ift{\left[a(x)\right](f)} = \int_{-\infty}^{\infty} a(x) \exp{\left[i 2 \pi x f \right]} dx \] %%% fifth equation %%% \[ \ilfrac{a}{b} = \qty{3}{\mm} \] \end{document} In the above, the first, third and fourth equations render correctly, while the second displays as 'Math input error' (unexpected text node -1) and the fifth renders 'msup'. I do get a domfilter warning about an Unbalanced Tag (/msup). If I comment out the fifth equation this warning is suppressed, but the second equation still displays 'Math input error'. I can do more test but am unsure where to start.

  • Automate adding to pdf outline but hiding from toc
    by Zlog on July 13, 2026 at 11:36 am

    Below is my MWE: \documentclass{article} \usepackage{hyperref} \newcommand{\nocontentsline}[3]{} \newcommand{\tocless}[2]{\bgroup% \let\addcontentsline=\nocontentsline#1{#2}% \egroup} \begin{document} \tableofcontents \newpage \section{test} \subsection{test1} \subsubsection{test2} \subsubsection{test3} \subsection{test4} \pdfbookmark[3]{test5}{mark1} \tocless\subsubsection{test5} \subsection{test6} \section{test7} \tocless\subsection{test8} \newpage a \end{document} The code above makes the toc without sections (and sub...sections) that have \tocless command before them. Thanks to \pdfbookmark subsubsection "test5" appears in pdf outline. I want to have it automatically bookmarked in \tocless, I think I would need to add a counter and the like (to increment "mark1"). However the most difficult part is [3] in \pdfbookmark, as it needs to be appropriate for command (subsection -> 2, subsubsection -> 3). I think my question boils down to: Can I - from command (subsection, subsubsection) - get correct number (2, 3). If not, is it possible at all to automate adding it to pdf outline without appearing in toc. In my use case documentclass is set to book, however I am interested in broader picture if possible.

  • CJK fonts not working without \text{}
    by Climber of Mount. LaTeX on July 13, 2026 at 10:34 am

    Sorry if anything I ask or provide is inappropriate; I am new to TeX Stack Exchange. I am writing a Traditional Chinese LaTeX document. Sometimes I will need commentary in either align or equation, which is, of course, in Chinese. I usually use \text{} for the commentary, but they look cluttered and hard to read. However, removing the \text{} around the commentary simply makes the commentary disappear in the output. Is there a workaround? Re-defining \text{} won't help me, 'cause it'll still look cluttered. For reference I am on https://overleaf.com, using XeLaTeX. \documentclass{article} \usepackage{xeCJK} \setCJKmainfont{Noto Sans CJK TC} \usepackage{amsmath} \begin{document} This works: \begin{align} 1 + 1 &= 2 \text{ 一個人和一隻狗合起來是兩個東西}\\ 2 + 3 &= 5 \text{ 兩個人和三隻狗合起來是五個東西} \end{align} This doesn't: \begin{align} 1 + 1 &= 2 \quad 一個人和一隻狗合起來是兩個東西\\ 2 + 3 &= 5 \quad 兩個人和三隻狗合起來是五個東西 \end{align} \end{document} EDIT By "cluttered" I mean the code, not the output. Also, I would like to clarify that without \text{}, the commentary simply doesn't get displayed in the output at all, and I am looking for a way to de-clutter my code while getting the output to also work.

  • Glitch with the UnderWavy example in `lua-ul` package?
    by Explorer on July 13, 2026 at 10:09 am

    I have the following code example taken from texdoc lua-ul: \documentclass{article} \usepackage[paperheight=5cm,paperwidth=10cm]{geometry} \usepackage{lipsum} \usepackage{xcolor,luacolor} \usepackage[soul]{lua-ul} \newunderlinetype\beginUnderWavy[\number\dimexpr1ex]{\cleaders\hbox{% \setlength\unitlength{.3ex}% \begin{picture}(4,0)(0,1) \thicklines \color{magenta}% \qbezier(0,0)(1,1)(2,0) \qbezier(2,0)(3,-1)(4,0) \end{picture}% }} \NewDocumentCommand\underWavy{+m}{{\beginUnderWavy#1}} \pagestyle{empty} \begin{document} \lipsum[2][1-5] \underWavy{Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world} \lipsum[2][1-3] \end{document} However, when we zoom in, there exists glitch, but in texdoc lua-ul, the wavyline were smooth? Is this a bug or feature? Or maybe I missed some parameters setting?

  • Workaround to zref and cleveref reference dropping
    by Thom on July 13, 2026 at 8:59 am

    Both zref and cleveref seem to drop references with shared counters. I've reported the bug to zref (https://github.com/gusbrs/zref-clever/issues/61) with no response. Can anyone think of a workaround? In the following example, Assumption 1.2 is dropped when 1.2, 2.1, and 2.3 are referenced. It seems that sorting is done only based on the last part of the number: 2.1, 1.2, 2.3 compress to 2.1-2.3. So it ignore the section number in the compression? But the similar referencing of theorems - the original counter - works fine. This is on MacTeX 2026, and equally affects zref-clever and cleveref, with or without the \AddToHook{env/assumption/begin}{\crefalias{theorem}{assumption}} hack, or aliascnt. It all appears to have started after the same recent changes that broke thm-tools. \documentclass[a4paper]{article} \usepackage{amsmath} %\usepackage{cleveref} \usepackage{zref-clever}\let\cref\zcref\def\Cref#1{\zcref[S]{#1}} \newtheorem{theorem}{Theorem}[section] \newtheorem{assumption}[theorem]{Assumption} %\crefname{assumption}{Assumption}{Assumptions} \zcRefTypeSetup{assumption}{ Name-sg = Assumption, name-sg = assumption, Name-pl = Assumptions, name-pl = assumptions, } \begin{document} \section{A} \begin{theorem} \label{thm:baz} Nothing to say \end{theorem} \begin{assumption} \label{ass:duct} Duct \end{assumption} \section{B} \begin{assumption} \label{ass:tape} Tape \end{assumption} \begin{theorem} \label{thm:fu} None \end{theorem} \begin{assumption} \label{ass:clusterfuck} Clusterfuck \end{assumption} \begin{theorem} \label{thm:bar} \cref{ass:duct,ass:tape,ass:clusterfuck} and some hidden assumptions. \end{theorem} \Cref{thm:fu,thm:bar,thm:baz} work just fine. \end{document}

  • Recommended workaround for the Lua(La)TeX `\mathit` regression in TeX Live 2026
    by Grsto on July 13, 2026 at 8:54 am

    Earlier this year I reported what appears to be a regression in LuaLaTeX's \mathit behaviour that was introduced in TeX Live 2026. The original discussion with the LuaTeX developers is here: https://tug.org/pipermail/luatex/2026-April/008187.html In short, the commonly recommended practice of using \mathit{} for multi-letter identifiers produces visually displeasing results with LuaLaTeX v1.24.0 (TeX Live 2026): \documentclass{standalone} \begin{document} \begin{tabular}{ll} \verb!|\emph{different}|! & |\emph{different}| \\ \verb!|$\textit{different}$|! & |$\textit{different}$| \\ \verb!|$\mathit{different}$|! & |$\mathit{different}$| \\ \verb!|$different$|! & |$different$| \\ \end{tabular} \end{document} As far as I understand, the underlying issue has since been fixed in LuaTeX v1.25.8. However, TeX Live generally does not update the LuaTeX binary during the lifetime of a TeX Live release, so this fix is unlikely to reach most TeX Live 2026 users until the next annual release. Assuming a user is required to use LuaLaTeX (for other reasons), what is the recommended workaround in the meantime? I would prefer not to change all occurrences of \mathit in my sources for what appears to be a temporary regression, and downgrading to TeX Live 2025 also seems like an undesirable solution. Alternatively, is there a practical way to use a newer LuaTeX binary with an existing TeX Live 2026 installation? (I have tried to do so, but I have not managed to get it working.) Thanks!

  • Use siunitx S column type with `\pgfplotstabletypeset`
    by Manuel Schmidt on July 13, 2026 at 7:51 am

    I am trying to use the S column type from siunitx setting a tabularray table with \pgfplotstabletypeset. However, I do not know how to tell latex that the first row is a string and not a number. Manually, I would escape the header as {col name}, but this does not work here. \documentclass{article} \usepackage{pgfplotstable} \usepackage{siunitx} \usepackage{tabularray} \usepackage{filecontents} \UseTblrLibrary{siunitx} \begin{filecontents*}{mydata.csv} Price Weight 12.50 3.2 7.99 1.05 100.00 25.4 \end{filecontents*} \begin{document} \pgfplotstabletypeset[ begin table=\begin{tblr}, end table=\end{tblr}, columns/Price/.style={ column type={S[table-format=3.2]}, column name={{{Price}}} }, columns/Weight/.style={ column type={S[table-format=1.4]}, column name={{{Weight}}} }, ]{mydata.csv} % expected: % \begin{tblr}{ % colspec = {S[table-format=3.2] S[table-format=1.4]}, % } % {Price} & {Weight} \\ % 12.50 & 3.2 \\ % 7.99 & 1.05 \\ % 100.00 & 25.4 \\ % \end{tblr} \end{document} The error is Package siunitx Error: Invalid number 'e' .

  • Request for feedback: modernization of linguex
    by Gerhard Schaden on July 13, 2026 at 6:05 am

    Over the years, I had developed a suite of patches on top of Wolfgang Sternefeld's linguex package for typesetting linguistic examples that evolved over the years. I really like linguex, but it is sadly unmaintained. With the (re)release of Claude Fable, I got ambitious and vibe-coded a new package (tentatively called `linguexx') that removes the dependencies on linguex, xspace, etc., and reimplements the underlying mechanisms. You can find the package here: http://gerhard.schaden.free.fr/files/linguexx.zip Basically, everything you can do in linguex (except the \exi. ...) you can do in linguexx; the user-facing implementation has not changed, and every document compiled with linguex should compile with linguexx. From the (vibe-written) documentation (included in the link): Linguexx uses the syntax of Wolfgang Sternefeld’s linguex, which this package owes almost everything to, and which it is designed to replace. linguexx is a reimplementation from the ground up, undertaken for two reasons. The first is to repair the structural weaknesses of the original: a globally drifting sub-example depth counter, a judgment tokenizer built on catcode manipulation, and a termination rule that failed at the end of a beamer frame. All three are gone — not patched, but designed out. The second is to bring the glossing up to the level of John Frampton’s expex, the one facility in which linguex was decisively behind: glosses may now have any number of tiers, each with its own font, rather than the two or three that cgloss4e allowed. The package depends on nothing beyond etoolbox, amsmath and ulem. I do not know if there is any interest in having such a package, and whether it would make sense to release it to the larger community via ctan. Also, is there any functionality any of you feels this package is lacking and could easily be added? Thank you in advance for any feedback.

  • How to write a chemical reaction
    by Brasil on July 13, 2026 at 3:04 am

    I am trying to write a simple chemical reaction like this one: I have the MWE below. Can anyone help, please? \documentclass{article} \usepackage{chemfig} \begin{document} Nuclear reaction: \[ \schemestart \chemfig{^{235}U} \arrow{->} \chemfig{^{231}Th} \+ ^4\alpha \schemestop \] \end{document} with the error: ! Missing $ inserted. <inserted text> $ l.16 \schemestop ?

  • Framing an Imported Image by a Tikzpicture
    by Jethro on July 13, 2026 at 1:00 am

    This question is a followup to the one posed here: How to Point the Rounded Corners of a Filled Tikzpicture Inward? MWE: \documentclass{article} \usepackage{tikz,graphicx} \begin{document} \begin{tikzpicture} \node[inner sep=0pt] at (0,0) {\includegraphics[width=.9\linewidth]{example-grid-100x100pt}}; \def\W{9} % width of the rectangle \def\H{15} % height of the rectangle \def\R{0.6} % radius of the inverted corners. \draw[line width=7pt, brown, fill=blue!80, radius=\R, delta angle=-90] (0, \R) arc [start angle= 90] -- +(right:\W-2*\R) arc [start angle=180] -- +( up:\H-2*\R) arc [start angle=270] -- +( left:\W-2*\R) arc [start angle= 0] -- cycle; \end{tikzpicture} \end{document} which produces: I am trying to get the imported image to fit into the tikzpicture---upon which, I can size it so that it is perfectly framed by the brown border. Can somebody tell me what I am doing wrong and how to fix it? Thanks.

  • How to Point the Rounded Corners of a Filled Tikzpicture Inward?
    by Jethro on July 12, 2026 at 7:49 pm

    MWE: \documentclass{article} \usepackage{tikz} \begin{document} \begin{tikzpicture} \def\W{9} % width of the rectangle \def\H{15} % height of the rectangle \def\R{0.8} % radius of the inverted corners. \draw[ultra thick, fill=blue!80] (0, \R) arc (180:270:\R) -- (\W-\R, 0) arc (270:360:\R) -- (\W, \H-\R) arc (0:90:\R) -- (\R, \H) arc (90:180:\R) -- cycle; \end{tikzpicture} \end{document} output: How may I modify the code such that all four rounded corners are pointing inward; that is, the rounded part is pointing towards the interior of the figure and not the exterior? Thanks.

  • cvitem and cventry have different vertical spacing in moderncv banking style
    by A.B. on July 12, 2026 at 6:53 pm

    I am trying to build a CV in Overleaf (pdflatex) using moderncv and the banking style. I noticed that when a \cvitem entry is placed in a section, the vertical space above it is more than the vertical space above a \cventry, and I can't seem to figure out where this space is being controlled from in the Github documentation. I would like all entry/item styles to have the same vertical space between it and the section header as the \cventry does. My question is similar to moderncv: Increase space between cventry, but concerns the vertical space before an entry or item, rather than the space after. MWE below. Is there a command I can use to modify this spacing? %% start of file `template.tex'. %% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, % available at http://www.latex-project.org/lppl/. \documentclass[11pt,letterpaper,roman]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman') \moderncvcolor{black} % color options 'black', 'blue' (default), cerulean, 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red' % moderncv themes \moderncvstyle[]{banking} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle' and 'fancy' %\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name %\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page % adjust the page margins \usepackage[scale=0.75]{geometry} \setlength{\footskip}{136.00005pt} % --- Add collapsed code back in and change style to casual for left aligned dates %{ \makeatletter % commands from moderncvstylebanking.sty to have the title % from that style \newcommand*{\maketitlesymbol}{% {~~~{\rmfamily\textbullet}~~~}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n % internal command to add an element to the footer % it collects the elements in a temporary box, and checks when to flush the box \newsavebox{\maketitlebox}% \newsavebox{\maketitletempbox}% \newlength{\maketitlewidth}% \newlength{\maketitleboxwidth}% \newif\if@firstmaketitleelement\@firstmaketitleelementtrue% % adds an element to the maketitle, separated by maketitlesymbol % usage: \addtomaketitle[maketitlesymbol]{element} \newcommand*{\addtomaketitle}[2][\maketitlesymbol]{% \if@firstmaketitleelement% \savebox{\maketitletempbox}{\usebox{\maketitlebox}#2}% \else% \savebox{\maketitletempbox}{\usebox{\maketitlebox}#1#2}\fi% \settowidth{\maketitleboxwidth}{\usebox{\maketitletempbox}}% \ifnum\maketitleboxwidth<\maketitlewidth% \savebox{\maketitlebox}{\usebox{\maketitletempbox}}% \@firstmaketitleelementfalse% \else% \flushmaketitle{}\\% \savebox{\maketitlebox}{#2}% \savebox{\maketitletempbox}{#2}% \settowidth{\maketitleboxwidth}{\usebox{\maketitlebox}}% \@firstmaketitleelementfalse\fi} % internal command to flush the maketitle \newcommand*{\flushmaketitle}{% \strut\usebox{\maketitlebox}% \savebox{\maketitlebox}{}% \savebox{\maketitletempbox}{}% \setlength{\maketitleboxwidth}{0pt}} \renewcommand*{\maketitle}{% \setlength{\maketitlewidth}{0.8\textwidth}% \hfil% \parbox{\maketitlewidth}{% \centering% % name and title \namestyle{\@firstname~\@lastname}% \ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}\\% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title) % detailed information \addressfont\color{color2}% \ifthenelse{\isundefined{\@addressstreet}}{}{\addtomaketitle{\addresssymbol\@addressstreet}% \ifthenelse{\equal{\@addresscity}{}}{}{\addtomaketitle[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscountry}{}}{}{\addtomaketitle[~--~]{\@addresscountry}}% \flushmaketitle\@firstmaketitleelementtrue\\}% \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number \addtomaketitle{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% \ifthenelse{\isundefined{\@email}}{}{\addtomaketitle{\emailsymbol\emaillink{\@email}}}% \ifthenelse{\isundefined{\@homepage}}{}{\addtomaketitle{\homepagesymbol\httplink{\@homepage}}}% \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \addtomaketitle{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% \ifthenelse{\isundefined{\@extrainfo}}{}{\addtomaketitle{\@extrainfo}}% \flushmaketitle}\\[2.5em]}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \maketitle \renewcommand*{\namefont}{\Huge\bfseries\upshape} \renewcommand*{\titlefont}{\Huge\mdseries\upshape} \renewcommand*{\addressfont}{\normalsize\mdseries\upshape} \renewcommand*{\quotefont}{\large\slshape} % styles \renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}} \renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}} \renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color1}{#1}}} \renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}} \renewcommand*{\makecvtitle}{% % recompute lengths (in case we are switching from letter to resume, or vice versa) \recomputecvlengths% \maketitle% % optional quote \ifthenelse{\isundefined{\@quote}}% {}% {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}% \par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle} \makeatother %} % depending on the amount of information in the footer, you need to change this value. comment this line out and set it to the size given in the warning %\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates %\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks... % font loading % for luatex and xetex, do not use inputenc and fontenc % see https://tex.stackexchange.com/a/496643 \ifxetexorluatex \usepackage{fontspec} \usepackage{unicode-math} \defaultfontfeatures{Ligatures=TeX} \setmainfont{Latin Modern Roman} \setsansfont{Latin Modern Sans} \setmonofont{Latin Modern Mono} \setmathfont{Latin Modern Math} \else %\usepackage[utf8]{inputenc} -- already loaded by overleaf \usepackage[T1]{fontenc} %\usepackage{lmodern} \fi % document language \usepackage[english]{babel} % FIXME: using spanish breaks moderncv % personal data \name{John}{Doe} \title{Résumé title} % optional, remove / comment the line if not wanted \born{4 July 1776} % optional, remove / comment the line if not wanted \address{street and number}{postcode city}{country}% optional, remove / comment the line if not wanted; the "postcode city" and "country" arguments can be omitted or provided empty \phone[mobile]{+1~(234)~567~890} % optional, remove / comment the line if not wanted; the optional "type" of the phone can be "mobile" (default), "fixed" or "fax" \phone[fixed]{+2~(345)~678~901} \phone[fax]{+3~(456)~789~012} \email{john@doe.org} % optional, remove / comment the line if not wanted \homepage{www.johndoe.com} % optional, remove / comment the line if not wanted % Social icons \social[linkedin]{john.doe} % optional, remove / comment the line if not wanted \social[xing]{john\_doe} % optional, remove / comment the line if not wanted \social[twitter]{ji\_doe} % optional, remove / comment the line if not wanted \social[github]{jdoe} % optional, remove / comment the line if not wanted \social[gitlab]{jdoe} % optional, remove / comment the line if not wanted % \social[stackoverflow]{0000000/johndoe} % optional, remove / comment the line if not wanted % \social[bitbucket]{jdoe} % optional, remove / comment the line if not wanted % \social[skype]{jdoe} % optional, remove / comment the line if not wanted % \social[orcid]{0000-0000-000-000} % optional, remove / comment the line if not wanted % \social[researchgate]{jdoe} % optional, remove / comment the line if not wanted % \social[researcherid]{jdoe} % optional, remove / comment the line if not wanted % \social[telegram]{jdoe} % optional, remove / comment the line if not wanted % \social[whatsapp]{12345678901} % optional, remove / comment the line if not wanted % \social[signal]{12345678901} % optional, remove / comment the line if not wanted % \social[matrix]{@johndoe:matrix.org} % optional, remove / comment the line if not wanted % \social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted \extrainfo{additional information} % optional, remove / comment the line if not wanted \photo[64pt][0.4pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 0.4pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file %\quote{Some quote} % optional, remove / comment the line if not wanted % bibliography adjustments (only useful if you make citations in your resume, or print a list of publications using BibTeX) % to show numerical labels in the bibliography (default is to show no labels) %\makeatletter\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}\makeatother \renewcommand*{\bibliographyitemlabel}{[\arabic{enumiv}]} % to redefine the bibliography heading string ("Publications") %\renewcommand{\refname}{Articles} % bibliography with mutiple entries %\usepackage{multibib} %\newcites{book,misc}{{Books},{Others}} %---------------------------------------------------------------------------------- % content %---------------------------------------------------------------------------------- \begin{document} %\begin{CJK*}{UTF8}{gbsn} % to typeset your resume in Chinese using CJK %----- resume --------------------------------------------------------- \makecvtitle \section{EDUCATION} \cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty \cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} %-------------------------------------------------------------------- \section{RESEARCH AND PUBLICATIONS} \cvitem{Research interests:}{} %---------------------------------------------------------- \section{Master thesis} \cventry{year--year}{Job title}{Employer}{City}{}{General description no longer than 1--2 lines.\newline{} Detailed achievements: \begin{itemize} \item Achievement 1 \item Achievement 2 (with sub-achievements) \begin{itemize} \item Sub-achievement (a); \item Sub-achievement (b), with sub-sub-achievements (don't do this!); \begin{itemize} \item Sub-sub-achievement i; \item Sub-sub-achievement ii; \item Sub-sub-achievement iii; \end{itemize} \item Sub-achievement (c); \end{itemize} \item Achievement 3 \item Achievement 4 \end{itemize}} \cvitem{description}{Short thesis abstract} \end{document}

  • Controlling what appears in front in a 3d pgfplot
    by James on July 12, 2026 at 6:00 pm

    I'm trying to make a nice diagram to illustrate partial derivatives for my multivariable class. I have the graph of a function, a plane, the intersection of these in the graph, a tangent line, and some guide lines to show what's occurring, but (presumably because of the order in which they appear in the code) the diagram doesn't respect what object is behind a different object, i.e., the graph is drawn on top of the plane, or the plane is drawn on top of the graph, even though they ``should'' pass through one another. Is there any nice way to make whatever ``should'' be on top be drawn on top without manually finding intersections and having different domains/clip regions for different features? My code so far is below, along with the image that is produced \begin{standalone} \usepackage{tikz} \usepackage{pgfplots} \begin{document} \begin{tikzpicture} \begin{axis}[axis lines = center, xmin = 0, xmax = 3, ymin = 0, ymax = 3, view = {100}{30}, xlabel = {$x$}, ylabel = {$y$}, zlabel = {$z$}, xtick=\empty, ytick=\empty, ztick=\empty, ] % Using f(x,y) = 2 - (x-2)^3 - (y-1.5)^2 %graph \addplot3[ domain =1:3, y domain = 0.5:2.5,surf,colormap/viridis, opacity=0.9] {-(x-2)^3 - (y-1.5)^2 + 2}; %plane \draw[fill = blue!90, color = blue, opacity = 0.3] (2,0,0)--(2,3,0)-- (2,3,3) node[black, above, opacity = 0.9] {$x=a$}--(2,0,3)--cycle ; %intersection of line and plane \addplot3[domain = 0.5:2.5, blue, samples y = 1, thick] ({2},{x},{2 - (2-2)^3 - (x-1.5)^2}); %tangent line \addplot3[black, thick, domain = -1:1.23] ({2},{x+1},{-2*(1-1.5)*x + 2 - (1-1.5)^2}); %point of tangancy \draw[fill = black] (2,1, {2 - (1-1.5)^2}) circle (2pt); %guide lines for point \draw[dashed, thick] (2,0,0)--(2,1,0) node[below] {$(a,b,0)$}--(0,1,0); \draw[dashed, thick,] (2,1,0) -- (2,1,{2 - (1-1.5)^2}); \end{axis} \end{tikzpicture} \end{document}

  • TeXLive Backend Gone Problem
    by berkus on July 12, 2026 at 4:39 pm

    Ok. Hear me out. I had this problem in the earlier versions of TeXLive, but was never able to fully understand where it is coming from, and what exactly is the solution. The only workaround was to perform a clean install of TeXLive. I am on Windows 11 64bit, TeXLive 2026. I tend to update my TeXLive occasionally to catch up with the possible updates on the packages that I am interested. Just couple of days ago, I checked the updates again using tlshell.exe (TLShell TeX Live Manager), and the update list that is shown in the following picture came up. A typical update of packages in TeXLive is not like this. Note that all the updateble packages have the version number of 79618. Also note that there is an update of "tlmgr" My first question is: What kind of update is this? Is this some sort of a major update of the TeXLive system for the purpose of some sort of a clean-up, instead of individual package updates? I have updated "tlmgr" first, and updated all the packages. But then, I have this problem of "Back end gone. Last command: info --data name,remoterev,rcat-version, category,shortdesc" Then the tlshell.exe quits on me... I have tried many many things to get rid of this error, but did not work, so just out of curiosity, I uninstalled TeXLive and did a clean installation. To my surprise, the error still occurs. So, this is telling me that the TeXLive update that was recently rolled-out has an issue. Am I right? I had this issue last year and could not solve it back then. So I am really wondering what exactly this problem is about. If anybody can direct me to a page with an explanation and a possible solution, that would be also fine. Also, what is the suggested action here when we see this sort of update list? Should we just wait for TUG to fix the problem for a couple of days, without performing an update? Or is this related to my own TeXLive setup?

  • Rocky mountain journal font [duplicate]
    by Chinnapparaj Rayappan on July 12, 2026 at 3:02 pm

    I recently read one Rocky Mountain article and I felt that the font is good. I attached the sample image. I am using overleaf for my project.I would like to use this font in my work. How can I do this? Any help?

  • How do TeXstudio .cwl files encode the syntax implications in \def and \newcommand?
    by Baylee V on July 12, 2026 at 1:16 pm

    In short, my aim in this question is to understand how the TeXstudio syntax highlighter recognises commands spawned from other commands. For some background, I've been trying to fix the syntax colouring problems TeXstudio has with etoolbox; in particular, I want something like \A to be recognised as a valid command when preceded by a command like \csdef{\A}{\mathbb{A}}. The editor already recognises this if \csdef is replaced by \def or \newcommand, so I was hoping that an explanation for the syntax colouring of those commands could inform a solution for \csdef. According to this FAQ, the syntax checking for TeXstudio is processed through .cwl files, whose structure is documented here. They have also linked to the source code for the in-built .cwl files, and it seems to include all .cwl files relevant to this question. My understanding is that every valid command must appear as a line in one of these .cwl files, with modifiers that indicate exactly when these commands are valid. (There's also quite a bit of extra info for the completer, but this isn't really relevant to my question.) Referring to latex-document.cwl and tex.cwl, it looks like \def and \newcommand only appear in one line each (excluding shenanigans with optional arguments), and nothing in that line indicates that they should spawn other valid commands. In fact, I can't spot any meaningful difference between how they are specified and how \csdef is specified in etoolbox.cwl. Clearly I must have missed something! So, my question is as follows: How is the TeXstudio editor able to understand that commands spawned by \def and \newcommand shouldn't be highlighted, but unable to understand it for \csdef?

  • Manage tcolorbox positioning and break
    by Brasil on July 12, 2026 at 1:01 pm

    I'm using tcolorbox to create a lecture material with examples but can't manage breaks and positioning. Can anyone help me, please? I provide a MEW below. \documentclass[12pt, openright, twoside, a4paper, chapter=TITLE]{memoir} \usepackage[a4paper, top=30mm, bottom=20mm, left=20mm, right=20mm]{geometry} %--> Language package \usepackage[english]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lipsum} %--> For multicolumns: \usepackage{multicol} \setlength{\columnsep}{5mm} \usepackage{paracol} %... allows empty column %--> Packages for images and floats: \usepackage{graphicx, float} \newcounter{example}[chapter] \renewcommand{\theexample}{\thechapter.\arabic{example}} \usepackage[breakable, skins]{tcolorbox} \newtcolorbox[use counter=example]{example}[1][]{% %--> TITLE SETTINGS %... boxed head enhanced jigsaw, %... box style boxed title style={size=small,colback=white}, %... title text title={\bfseries Example~\thetcbcounter}, %... title color coltitle=black, %... head position attach boxed title to top left={ xshift=2mm, yshift=-\tcboxedtitleheight/2 }, %--> BOX SETTINGS %... frame line widths boxrule=1pt, rightrule=0pt, leftrule=0pt, %... background color colback=gray!10, %... shaddow drop shadow={gray!50!white}, %... automatic breaking enforce breakable, pad at break=3mm, %--> TEXT SETTINGS %... margin widths boxsep=0mm, top=5mm, %... text font size fontupper=\small, %... keep paragraphs similar to the text parbox=false, #1 % use the option [break at=85mm/0mm] if necessary } \begin{document} \begin{multicols}{2} \begin{example}[label=X: free fall, break at=350mm/0mm] \lipsum[1] \begin{figure}[H] \centering \includegraphics[width=4cm]{example-image-a} \end{figure} \lipsum[2] \end{example} \lipsum[3] \begin{example} \lipsum[4] \begin{figure}[H] \centering \includegraphics[width=4cm]{example-image-b} \end{figure} \lipsum[5] \begin{figure}[H] \centering \includegraphics[width=4cm]{example-image-c} \end{figure} \lipsum[6-7] \end{example} \section*{Non numbered section} \lipsum[1] \begin{example}[label=X: mass-spring] \lipsum[2] \begin{figure}[H] \centering \includegraphics[width=4cm]{example-image-a} \end{figure} \lipsum[3] \end{example} \lipsum[4] \end{multicols} \end{document}

  • How to plot a graph?
    by charuanl on July 12, 2026 at 11:18 am

    I want to plot a graph for this below picture I already tried but the graph wasn't smooth. This is the graph that I tried to plot Here's my code : \documentclass{article} \usepackage{tikz} \begin{document} \begin{center} \begin{tikzpicture}[x=1.2cm, y=0.7cm] \draw[thick, ->, >=stealth] (-2, 0) -- (6, 0) node[right] {X}; \draw[thick, ->, >=stealth] (0, -3.5) -- (0, 6.5) node[above] {Y}; \draw[thick, <->, >=stealth, color=black!80!blue] plot[smooth, tension=0.7] coordinates {(-1.5, 1.5) (0, 5) (2, 0) (4, -2) (4.8, 3)}; \fill (0, 5) circle (2.5pt); \node[above right] at (0, 5) {$(0, 5)$}; \fill (2, 0) circle (2.5pt); \node[above right] at (2, 0) {$(2, 0)$}; \fill (4, -2) circle (2.5pt); \node[below, yshift=-2pt] at (4, -2) {$(4, -2)$}; \node[above left] at (5.2, 3) {$y = f(x)$}; \end{tikzpicture} \end{center} \end{document}

  • How to make the index after \printindex be printed?
    by M. Logic on July 12, 2026 at 2:51 am

    An MWE is as follows. \documentclass{book} \usepackage{lipsum} \usepackage{imakeidx} \makeindex \begin{document} \index{a term before printing index} \lipsum[1] \printindex \index{a term after printing index} \end{document} As you see, I add an index after \printindex while it's not printed. So is there anyway to make it be printed when I still add it after \printindex?

  • latexml: What is correct way to install latexml on new Linux which already has TeXLive on it?
    by Nasser on July 11, 2026 at 10:31 pm

    New Linux mint 22.3 with texlive install using texlive own installer (i.e. not using apt), which is installed in /usr/local/texlive/2026/bin/x86_64-linux/ And it is now on the PATH also. Now I need to install latexml to evaluate and try. The problem is that if I use the following command (which is what the official latexml web site say to use) sudo apt-get install latexml This will cause it to install Linux mint own version of texlive which I do not want. I asked google AI and it said to use the following commands instead of using apt sudo apt install perl libxml2-dev libxslt1-dev imagemagick libimage-magick-perl build-essential cpanminus then sudo cpanm LaTeXML The question is: Are these the correct commands to use or what else to use? I want to make sure to install latexml correctly on this new Linux as I do not want to spend time cleaning things again. Texlive 2026

  • How to ignore space in expl3 string comparison
    by Denis Bitouzé on July 11, 2026 at 3:14 pm

    (This is a follow-up of How to ignore space in sorting order of biblatex + biber?.) At least in French, spaces should be ignored in sorting order of strings. But, as shown by the following MCE, that's not by default the case with expl3 string comparison: just as “AB”, “A B” should be considered after (here >) “AA” in the lexicographic order. How to fix this problem? \documentclass{article} \begin{document} \ExplSyntaxOn \begin{itemize} \item \str_compare:nNnTF {AB} > {AA} {true} {false} % returns true \item \str_compare:nNnTF {A~B} > {AA} {true} {false} % returns false \end{itemize} \ExplSyntaxOff \end{document}

  • Symmetrical blank space using bold hat of \brcurs of Griffiths David's book
    by Sebastiano on July 11, 2026 at 12:46 pm

    I have tried several approaches, including adding \mkern inside the \slhat command, but I still haven't been able to fix the spacing around \slhat{\brcurs} (the slanted-hat version of Griffiths' italic accented (r)). I would like the spacing to be correct both before and after the symbol, so that it behaves like a standard mathematical accent. \documentclass{article} \usepackage{newtxtext} \usepackage{newtxmath} \usepackage{bm} \usepackage{mathtools} \newcommand{\genericrcurs}[1]{% \text{% \resizebox{!}{0.9\fontcharht\font`x}{% \includegraphics[trim=20 0 140 40]{#1}% }% }% } \NewDocumentCommand{\rcurs}{}{\mathord{\genericrcurs{ScriptR}}} \NewDocumentCommand{\brcurs}{}{\mathord{\genericrcurs{BoldR}}} \NewDocumentCommand{\hrcurs}{}{\,\mathit{\hat{\!\brcurs}}} \usepackage{l3draw} \ExplSyntaxOn \NewDocumentCommand{\xslantobject}{mm} { \draw_begin: \draw_transform_xslant:n { #2 } \hbox_set:Nn \l_tmpa_box { #1 } \draw_box_use:N \l_tmpa_box \draw_end: } \NewDocumentCommand{\slhat}{m} { \mathord{ \mkern-5mu \vbox{ \offinterlineskip \halign{\hfil##\hfil\cr \xslantobject{$\hat{\phantom{x}}$}{0.3}\cr \noalign{\kern-.95ex} $#1$\cr } } \mkern0mu } } \ExplSyntaxOff \begin{document} \[ {S}_{a}^{\mathbf{(CGS)}}=\frac{q^2 a^2 \sin^2\theta}{4 \pi c^{3}\rcurs^2}\boldsymbol{[}\slhat{\brcurs}\boldsymbol{]} \] \begin{equation}\label{rayd49} \begin{aligned} & |\slhat{\brcurs}\times\{(\slhat{\brcurs}-\beta \hat{z})\times\hat{\mathbf{x}}\}|^2\\ & = |\slhat{\brcurs}-\beta\hat{\mathbf{z}}|^2 (\slhat{\brcurs}\cdot\hat{\mathbf{x}})^2+(1-\beta \hat{\mathbf{z}}\cdot\slhat{\brcurs})^2 -2 (\slhat{\brcurs}\cdot\hat{\mathbf{x}})(1-\beta\hat{\mathbf{z}}\cdot\slhat{\brcurs})\{ \hat{\mathbf{x}}\cdot (\slhat{\brcurs}-\beta\hat{\mathbf{z}})\}= \\ & = |\slhat{\brcurs}-\beta \hat{\mathbf{z}}|^2(\slhat{\brcurs}\cdot\hat{\mathbf{x}})^2+(1-\beta \hat{\mathbf{z}}\cdot\slhat{\brcurs})^2 -2 (\slhat{\brcurs}\cdot\hat{\mathbf{x}}) (1-\beta\hat{\mathbf{z}}\cdot\slhat{\brcurs}) (\hat{\mathbf{x}}\cdot\slhat{\brcurs}) \end{aligned} \end{equation} \end{document}

  • How to ignore space in sorting order of biblatex + biber?
    by Denis Bitouzé on July 11, 2026 at 9:00 am

    At least in French, spaces should be ignored in sorting order of strings. But, as shown by the following MCE, that's not by default the case with biblatex + biber: just as “AB”, “A B” should appear after “AA”. How to fix this problem? \begin{filecontents}[overwrite]{\jobname.bib} @article{ab, author = {A B, Jane}, } @article{aa, author = {AA, Jane}, } \end{filecontents} \documentclass[french]{article} \usepackage{biblatex} \usepackage{babel} \addbibresource{\jobname.bib} \nocite{*} \begin{document} \printbibliography \end{document} The original, realistic, case is the following one where “El Kacimi” should appear after “Eliahou” (in “El Kacimi”, “El” should not be considered as a prefix). \begin{filecontents}[overwrite]{\jobname.bib} @article{elka, author = {El Kacimi, Aziz}, } @article{elia, author = {Eliahou, Shalom}, } \end{filecontents} \documentclass[french]{article} \usepackage{biblatex} \usepackage{babel} \addbibresource{\jobname.bib} \nocite{*} \begin{document} \printbibliography \end{document}

  • Nesting tikzcd (specifically) within tikzpicture
    by Just Some Old Man on July 10, 2026 at 7:34 pm

    I would like to have a tikzcd within tikzpicture. The reason for this is I want to have a standard commutative diagram from tikzcd, but then also put lines, text, and shapes in the "background" of the diagram using tikzpicture treating the diagram as static and without interacting with the diagram at all (allowing for overlap, for example). A solution for tikzpicture within tikzpicture is using \newsavebox, but this doesn't work for tikzcd within tikzpicture. Specifically, \UseRawInputEncoding \documentclass[11pt]{article} \renewcommand{\baselinestretch}{1.05} \usepackage{tikz-cd} \begin{document} \newsavebox{\mybox} \sbox{\mybox}{ \begin{tikzpicture} \end{tikzpicture} } \end{document} compiles, but \UseRawInputEncoding \documentclass[11pt]{article} \renewcommand{\baselinestretch}{1.05} \usepackage{tikz-cd} \begin{document} \newsavebox{\mybox} \sbox{\mybox}{ \begin{tikzcd} A \arrow[r] & B \end{tikzcd} } \end{document} does not compile and throws the following error. Moreover, \UseRawInputEncoding \documentclass[11pt]{article} \renewcommand{\baselinestretch}{1.05} \usepackage{tikz-cd} \begin{document} \newsavebox{\mybox} \sbox{\mybox}{ \begin{tikzpicture} \begin{tikzcd} A \arrow[r] & B \end{tikzcd} \end{tikzpicture} } \end{document} does not compile and throws the following error. How can I have a tikzcd within tikzpicture?

  • Optical illusion that depicts objects which appear to move, but don't, due to a repeating pattern within the static fill. I want to reproduce it
    by Jasper on July 10, 2026 at 4:14 am

    I saw a cool optical illusion while surfing the web. It depicts objects which appear to move, but aren't, due to a repeating pattern within the static fill. I want to reproduce it in TikZ. This is the graphic: The source I originally viewed I did not post deliberately due to the use of a swear word in the subreddit's name. David provides an alternative source, which is likely the source of the Reddit post, though they never listed one. https://www.sciencealert.com/this-colorful-new-spin-on-a-classic-illusion-has-brains-tripping-again This is the static color wheel: \documentclass{article} \usepackage{tikz} \usetikzlibrary{shadings} \begin{document} \begin{tikzpicture} \shade[ shading=color wheel, even odd rule ] (0,0) circle[radius=1] (0,0) circle[radius=2] ; \end{tikzpicture} \end{document}

  • How to make a relatively more beautiful classification table of quadratic functions?
    by D G on July 9, 2026 at 12:16 am

    Objectives: remove top left cell all contents are vertically and horizontally centered well balanced padding in each cell make it relatively much more beautiful \documentclass[12pt,border=12pt]{standalone} \usepackage{amsmath,array,tikz} \usetikzlibrary{math} \newcommand{\graph}[2][]{ \begin{tikzpicture}[baseline=(current bounding box.center)] \draw[blue,thick,->] (-1.5,#2)--(1.5,#2) node[right]{$x$}; \draw[red,thick,domain=-1.5:1.5,samples=100] plot(\x,{#1\x*\x/2}); \end{tikzpicture} } \renewcommand{\arraystretch}{1.8} \setlength{\tabcolsep}{18pt} \begin{document} \begin{tabular}{| >{\centering\arraybackslash}m{2.2cm}| >{\centering\arraybackslash}m{5.2cm}| >{\centering\arraybackslash}m{5.2cm}|} \cline{2-3} & $\mathbf{a>0}$ & $\mathbf{a<0}$ \\ \hline $\mathbf{D<0}$ & \graph{-1/2} & \graph[-]{1/2} \\ \hline $\mathbf{D=0}$ & \graph{0} & \graph[-]{0} \\ \hline $\mathbf{D>0}$ & \graph{1/2} & \graph[-]{-1/2} \\ \hline \end{tabular} \end{document} Any improvements are always welcome!