• How to left shift an epigraph?
    by Frode Alfson Bjørdal on August 11, 2026 at 2:42 pm

    I have \usepackage{epigraph} in the preamble and write: \documentclass{article} \usepackage{geometry} \usepackage{epigraph} \begin{document} \epigraph{ Visibility and identity are fundamental.\\ Step-identicality makes propositions from antepositions,\\ truth from visibility,\\ and sets from visions. }{} \end{document} But this produces: but I notice that it produces an epigraph under TexStudio which is different from the one I quoted above --- which was produced under OverLeaf. Nevertheless, in both cases there were line breaks which call for a shift of the epigraph to the left. How may I shift the epigraph to the left by the length of "antepositions" so that the epigraph produces the four lines correctly---without affecting the other epigraphs in the document?

  • lualatex: integral limits above and below the integral sign wanted (instead of right) [duplicate]
    by Jürgen on August 11, 2026 at 11:17 am

    [continuation of this closed question from today] I would like to have the limits above and below the integral, not on the right side. Using pdflatex I realized this with the shown options for amsmath. What do I have to do when using lualatex? \documentclass{scrartcl} %\usepackage[intlimits,sumlimits]{amsmath} % used w/ pdflatex \usepackage{unicode-math} %\setsansfont{KpSans} %\setmainfont{KpRoman} %\setmathfont{KpMath-Regular} \begin{document} \begin{equation} E = \int_0^x m d c \end{equation} \end{document} With the \removenolimits macro the limits are on the right place (for me on displayed equations). When I compare the results with pdflatex & kpfonts with lualatex & kpfonts-otf I notice two points: (1) The slanted integral sign looks better (for me). But this is surely the decision of the designer. That's ok for me. (2) The distance between the integral sign and the integrand is far too long. Of course I can modify the \int macro, but maybe there is a better way?!

  • Adjust vertical space after last item of a list
    by Sunris8 on August 11, 2026 at 8:23 am

    I'm using setlength\itemsep{..} to change the space between subitems of a customized list. The problem is that the last "subitem" is too close to the second "main item" (see picture). This is quite ugly and unbalanced. Is there a way to automatically increase the spacing (other than setlength\itemsep{..} or \vspace) that would fit in this case? \documentclass{article} \usepackage{enumitem} \newlist{questions}{enumerate}{3} \setlist[questions,1]{font=\bfseries, label = Exercise~\arabic*~:, ref = \arabic*, align = left, wide=0cm} \setlist[questions,2]{label=\bfseries \arabic*),align = right, leftmargin=1.2cm} \begin{document} \begin{questions} \item Question? \begin{questions} \item Subquestion 1 \item Subquestion2: nice spacing \end{questions} \item More Questions? \begin{questions} \item Subquestion 1 \item Subquestion2 \end{questions} \end{questions} \vspace{2cm} \begin{questions} \item Question? \begin{questions}\setlength\itemsep{3em} \item Subquestion 1 \item Subquestion2 : bad spacing \end{questions} \item More Questions? \begin{questions} \item Subquestion 1 \item Subquestion2 \end{questions} \end{questions} \end{document}

  • lualatex: integral limits above and below the integral sign wanted [closed]
    by Jürgen on August 11, 2026 at 8:01 am

    I would like to have the limits above and below the integral, not on the right side. Using pdflatex I realized this with the shown options for amsmath. What do I have to do when using lualatex? \documentclass{scrartcl} \usepackage{fontspec} %\usepackage[intlimits,sumlimits]{amsmath} \usepackage{unicode-math} %\setsansfont{KpSans} %\setmainfont{KpRoman} %\setmathfont{KpMath-Regular} \begin{document} \begin{equation} E = \int_0^x m d c \end{equation} \end{document}

  • Unknown Template Keys in \EditInstance
    by CarneSeca on August 10, 2026 at 5:17 pm

    I'm trying to write a set of course notes with LaTeX's accessibility tagging on, but I want to change up the chapter and sections headings. The titlesec package is incompatible, so I'm using the \EditInstance command, based on the answers to this previously asked question: Space between top of text area and chapter heading using \EditInstance formating (ruled headformat) I copy-pasted MWE#2 from that answer into my LaTeX editor, re-copied below for completeness. I'm compiling with TexLive 2026's version of lua-latex, which reports itself as ' LuaHBTeX, Version 1.24.0 (TeX Live 2026) ', all packages are up-to-date in tlmgr. The issue is that I get several errors of the form "LaTeX template: Unknown template key 'after-sep'." (I also get the same error for before-sep and decls, as well as "LaTeX template: The instance 'hang' of type 'headformat' is unknown.") I'd like to make this MWE work on my system (so I can modify it to my needs), but I can't for the life of me figure out what is going on. I haven't been able to find any good documentation online about the \EditInstance command, I'm basically just going off of what I can learn from Stack Exchange questions. Any help is appreciated! % Source - https://tex.stackexchange.com/q/760989 % Posted by polaren % Retrieved 2026-08-10, License - CC BY-SA 4.0 \DocumentMetadata{ lang = sv, pdfversion = 2.0, pdfstandard = ua-2, tagging = on, } \documentclass[11pt,a4paper,twoside,final]{report} \usepackage[margin=25mm,top=24mm,bottom=24mm,nomarginpar,nohead,footskip=11mm]{geometry} \usepackage{showframe}\renewcommand\ShowFrameLinethickness{0.05mm} \usepackage[document]{ragged2e} % Needed for compilation. \usepackage{hyperref} % Needed to pass VeraPDF. \hypersetup{ pdftitle={MWE}, pdfauthor={polaren}, pdfsubject={First question to LaTeX Stack Exchange.}, } \EditInstance{heading}{chapter}{ number-format=\makebox[12mm][l]{\theheading.}, number-decls=\sffamily\fontsize{14pt}{16pt}\selectfont, title-decls=\sffamily\fontsize{14pt}{16pt}\selectfont, after-sep=0mm, before-sep=0mm, start-code=\clearpage\vspace*{-10.75mm}\rule{\textwidth}{0.1mm}\newline\vspace*{-18mm}, final-code=\vspace*{-5mm}\rule{\textwidth}{0.1mm}\newline\vspace*{0mm}, headformat-instance=hang, decls=\raggedright\parindent 0pt\rmfamily } \setlength{\parskip}{6pt plus 1pt minus 1pt} %\setlength{\parskip}{0pt} \usepackage{kantlipsum} \begin{document} \chapter*{Unnumbered Chapter} Test. \chapter{Title of Chapter} \kant[1] \end{document}

  • Is There a Simpler Way to Use Lettrines in a Verse Environment without Invoking a Subroutine
    by Yves on August 10, 2026 at 2:10 pm

    This is a follow-up question, based on the solutions found in Is There a Simpler Way to Use Lettrines in a Verse Environment without Invoking a Subroutine? In an attempt to help a friend compose a book of her poems, I have tried to take advantage of the lessons above, in particular the last one using the lettrine method. However when I change the poem (seemingly without any other change), I get the two first lines severely indented and the output is not visually satisfactory. I could not explain the reason for this and even less find a correction. \documentclass[a4paper,10pt]{article} \usepackage{lettrine} \usepackage{verse} \begin{document} \poemtitle{Complete solution via {\em lettrine} methods} \begin{verse}[8cm] \lettrine[lhang=1.5,nindent=0em]{M}{aking} a famine where abundance lies,\\> Thy self thy foe, to thy sweet self too cruel.\\ Thou that art now the world's fresh ornament, \\ And only herald to the gaudy spring, \\ Within thine own bud buriest thy content, \end{verse} \bigskip \poemtitle {The Sea Bell} \begin{verse}[8cm] \lettrine[lhang=1.5,nindent=0em]{I}{walked} by the sea,\\> and there came to me,\\ as a star-beam on the wet sand,\\ a white shell like a sea-bell;\\ trembling it lay\\ in my wet hand.\\ In my fingers shaken I heard waken\\ a ding within, by a harbour bar\\ a buoy swinging, a call ringing\\ over endless seas,\\ faint now and far\ldots \end{verse} \end{document

  • adjust spacing between toc sections with multicolumn
    by Matteo on August 10, 2026 at 11:27 am

    I have a situation where for a couple of sections I do have subsections in the toc but for the remaining two I don't. Below, an example of how the Outline looks like: Now, as you can see, section 1 and 3 align, whereas 2 and 4 does not. Would there be a way to horizontally align section 4 to section 2 in the toc? MWE \documentclass{beamer} \usetheme{Boadilla} \usepackage{calc} \useoutertheme[width=0pt,height=.5in]{sidebar} \newlength\MyColSep \setlength\MyColSep{.1in} \newlength\MyColWd \setlength\MyColWd{0.5\textwidth-\MyColSep} \AtBeginSection[]{ \begin{frame}{Outline} \begin{columns}[T] \begin{column}{.5\textwidth} \setlength{\parskip}{2ex} \tableofcontents[sections={1-2},currentsection,sectionstyle=show/shaded,subsectionstyle=show/shaded] \end{column} \begin{column}{.5\textwidth} \setlength{\parskip}{2ex} \tableofcontents[sections={3-4},currentsection,sectionstyle=show/shaded,subsectionstyle=show/shaded] \end{column} \end{columns} \end{frame} } \AtBeginSubsection[] { \begin{frame} \frametitle{Outline} \begin{columns}[T] \begin{column}{\MyColWd} \setlength{\parskip}{2ex} \tableofcontents[sections={1-2},currentsection,currentsubsection,subsectionstyle=show/shaded] \end{column} \begin{column}{\MyColWd} \setlength{\parskip}{2ex} \tableofcontents[sections={3-4},currentsection,currentsubsection,subsectionstyle=show/shaded] \end{column} \end{columns} \end{frame} } \begin{document} \section{SECTION 1} \subsection{a subsection 1} \subsection{a subsection 2} \subsection{a subsection 3} \section{SECTION 2} \subsection{a subsection 1} \subsection{a subsection 2} \subsection{a subsection 3} \section{SECTION 3} \section{SECTION 4} \end{document}

  • How to reproduce the correct intersection curve of two 3D surfaces using PGFPlots?
    by Samia Rani on August 10, 2026 at 10:50 am

    I am trying to reproduce a 3D figure from a mathematics book in LaTeX using TikZ/PGFPlots. The figure shows two surfaces and their intersection. The two surfaces are given by x^2 + xy - y - 3z = 0 and 2x^2 + 3xy - 2y - 3z = 0. I plotted both surfaces directly from their equations and also added their intersection curve. However, the shape and especially the intersection curve in my output look quite different from the figure in the book, even though I am using the same equations. I am not sure whether the difference is caused by the viewing angle, the plotting ranges, the parametrization of the intersection curve, or something else. Here is my current code: \documentclass[border=5pt]{standalone} \usepackage{pgfplots} \usepackage{tikz} \pgfplotsset{compat=1.18} \begin{document} \begin{tikzpicture} \begin{axis}[ view={120}{25}, axis lines=none, xmin=-2.5, xmax=2.5, ymin=-2.5, ymax=2.5, zmin=-5, zmax=5, width=11cm, height=8cm, ticks=none, ] %================================================ % GREEN SURFACE % 2x^2 + 3xy - 2y - 3z = 0 %================================================ \addplot3[ surf, shader=interp, colormap={greenmap}{ color(0cm)=(green!15); color(1cm)=(green!35) }, colormap name=greenmap, domain=-2:2, y domain=-2:2, samples=35, samples y=35, opacity=0.65, ] { (2*x^2 + 3*x*y - 2*y)/3 }; %================================================ % BLUE SURFACE % x^2 + xy - y - 3z = 0 %================================================ \addplot3[ surf, shader=interp, colormap={bluemap}{ color(0cm)=(blue!15); color(1cm)=(blue!35) }, colormap name=bluemap, domain=-2.2:2.2, y domain=-2.2:2.2, samples=30, samples y=30, opacity=0.55, ] { (x^2 + x*y - y)/3 }; %================================================ % INTERSECTION CURVE % gamma(t) = % ( t, -t^2/(2t-1), t^3/(3(2t-1)) ) %================================================ \addplot3[ very thick, red, samples=100, domain=-2.2:0.35, variable=\t, ] ( {\t}, {-\t^2/(2*\t-1)}, {\t^3/(3*(2*\t-1))} ); \addplot3[ very thick, red, samples=50, domain=0.65:2.2, variable=\t, ] ( {\t}, {-\t^2/(2*\t-1)}, {\t^3/(3*(2*\t-1))} ); \end{axis} \end{tikzpicture} \end{document} The book's figure has a noticeably different orientation and shape for the two surfaces and their intersection. The book's figure looks like this: My current output looks like this: Could someone please explain what is causing this difference and how I can modify my PGFPlots code to obtain a figure that looks like the one in the book? In particular, I would like to know whether I should change the view angles, the plotting domains, or the parametrization of the intersection curve.

  • Punctuation in system of equations
    by Sunris8 on August 10, 2026 at 9:55 am

    I would like to know if there is both a correct and "nice" way to use punctuation in systems of equations. I have tried \documentclass{article} \usepackage{amsmath,array} \usepackage{systeme} \begin{document} This looks correct but ugly $$ \systeme{x+y=7, x-y = 3}\,. $$ What about $$ \systeme{5x+2y=7\, , 5x-2y= 3\,. } $$ \end{document} The first solution is what I would expect to be correct but it's quite ugly. The second solution does not display the comma after the first equation. Is there a rule for punctuation after a system? If yes, how to do it with this command?

  • Asymptote: function which accepts a triple-function and a real t-value, and provides the approximated Frenet basis of that function at that t-value
    by Jasper on August 10, 2026 at 9:24 am

    I have an arbitrary function which outputs a 1D parametric triple in Asymptote. I want to find the Frenet basis of it at a point without resorting to coding derivatives for every individual function. My goal is to have a function which gives me the approximated Frenet basis of any triple-producing 1D function at a specific input. import three; import graph3; unitsize(3cm); triple curve(real t) { real t1 = 3.14 * t; return ( cos(t), sin(t), t ); } path3 f = graph(curve, 0, 2*pi, n=20); draw(f); /* I am attempting to make a function which accepts an arbitrary triple function, and an arbitrary parameter value. It's goal is to produce the matrix containing the position vector, the tangent vector, the normal vector, and the binormal vector - the so called Frenet basis. How can I do this for an arbitrary function. My goal is to not have to write individual matrix functions for every parametric curve. I'd much rather just input the curve's function and a parameter-value and be given the orthonormalized Frenet basis. */ real[][] T(triple function, real param) { triple df(real t) { return (1/0.04)*(function(t+0.02)-function(t-0.02)) } return {{df(param)},{},{},{}} }; I was able to achieve it in Lua, since my software enables verbose input. \documentclass[tikz, border=1cm]{standalone} \usepackage{lua-tikz3dtools} \begin{document} \begin{tikzpicture} \useasboundingbox[scale=0.5] (-5,-5) rectangle (5,5); \ltdtsetobject[ name=objs, object={ return { view = Matrix.zyzrotation(Vector:new{7*pi/6,pi/6,pi/2}), alpha = function(t) return Vector:new{sin(t)+2*sin(2*t),cos(t)-2*cos(2*t),-sin(3*t),1} end, frenet = function(surf, param) local tangent = function(s, p) return s(p + 0.02):hsub(s(p - 0.02)):hscale(1 / 0.04):hnormalize() end local normal = function(s, p) local tang = function(t) return tangent(s, t):hnormalize() end return tangent(tang, p) end local T = tangent(surf, param):hnormalize() local N = normal(surf, param):hnormalize() local B = T:hcross(N):hnormalize() local P = surf(param) local RE = Matrix:new{T, N, B, P} % currently projective, needs to be affine (at this time, at leat) RE[1][4] = 0 RE[2][4] = 0 RE[3][4] = 0 return RE end } } ] \ltdtappendlight[v={return Vector:new{1,1,1,1}}] \iffalse \ltdtappendcurve[ uparams={return Vector:new{0,tau,100}}, v={ return objs.alpha(u) :multiply(objs.view) }, draw options={return "draw, line cap=round"} ] \fi \ltdtappendsurface[ uparams={return Vector:new{0,tau,200}}, vparams={return Vector:new{0,tau,10}}, v={ return Vector:new{0, cos(v)/5, sin(v)/5, 1} :multiply(objs.frenet(objs.alpha, u)) :multiply(objs.view) }, fill options={return "fill=ltdtbrightness"} ] \ltdtdisplaysimplices \end{tikzpicture} \end{document} I also did it ad-hocly in tikz... https://chat.stackexchange.com/transcript/message/69138959#69138959

  • Hi everybody!... I have a problem with the headings of my file
    by Insp Agouni Imad on August 9, 2026 at 8:23 pm

    I have a problem with the headings of my arabic (right to left) file... "In the following file header code, the logic should work like this: Sections: Sections appearing on the same page should be printed on the left side of the header inside brackets [], separated by commas (,). Any unfinished section continuing onto the current page must also be included with the current page's sections in the header, preserving their order. Subsections: The same principle applies to subsections, which are also placed on the left side of the header." % ========================================================= % 12. الرأسية والتذييل ودعم النجمة (*) للعناوين أوتوماتيكياً % ========================================================= \usepackage{fancyhdr} \usepackage{extramarks} \usepackage{expl3} \patchcmd{\chapter}{\thispagestyle{plain}}{\thispagestyle{empty}}{}{} \patchcmd{\part}{\thispagestyle{plain}}{\thispagestyle{empty}}{}{} % --------------------------------------------------------- % المحرك الذكي المطور (التمييز التلقائي بين أعلى ومطب الصفحة) % --------------------------------------------------------- \ExplSyntaxOn \seq_new:N \g_my_sec_seq \seq_new:N \g_my_subsec_seq \seq_new:N \l_my_top_seq \seq_new:N \l_my_last_seq \seq_new:N \l_my_res_seq \seq_new:N \l_my_split_seq \int_new:N \l_my_top_len_int \int_new:N \l_my_last_len_int \int_new:N \l_my_start_idx_int \dim_new:N \g_my_pbefore_dim \dim_new:N \g_my_pafter_dim \tl_new:N \l_my_tmp_item_tl \tl_new:N \l_my_clean_title_tl \tl_new:N \l_my_tag_tl \tl_new:N \l_my_first_new_tl \tl_new:N \l_my_tmp_sec_tl \tl_new:N \l_my_tmp_sub_tl \cs_generate_variant:Nn \my_process_marks:nn { VV } % دالة استخراج العنوان بدون الرمز \cs_new_protected:Npn \my_get_title:nN #1#2 { \seq_set_split:Nnn \l_my_split_seq { ::: } {#1} \tl_set:Nx #2 { \seq_item:Nn \l_my_split_seq { 1 } } } \cs_generate_variant:Nn \my_get_title:nN { VN } % دالة استخراج رمز الموضع (T لأعلى الصفحة، M لمنتصف الصفحة) \cs_new_protected:Npn \my_get_tag:nN #1#2 { \seq_set_split:Nnn \l_my_split_seq { ::: } {#1} \tl_set:Nx #2 { \seq_item:Nn \l_my_split_seq { 2 } } } \cs_generate_variant:Nn \my_get_tag:nN { VN } % تسجيل ارتفاع الصفحة قبل إضافة العنوان \cs_new_protected:Npn \my_mark_before: { \dim_gset:Nn \g_my_pbefore_dim { \pagetotal } } % معالجة موضع الـ Section بعد إضافته (بدون أي تعديل إطلاقاً) \cs_new_protected:Npn \my_add_section_after:n #1 { \dim_gset:Nn \g_my_pafter_dim { \pagetotal } \tl_clear:N \l_my_tag_tl \dim_compare:nTF { \g_my_pbefore_dim > \topskip + 5pt } { \dim_compare:nTF { \g_my_pafter_dim >= \g_my_pbefore_dim } { \tl_set:Nn \l_my_tag_tl { M } } { \tl_set:Nn \l_my_tag_tl { T } } } { \tl_set:Nn \l_my_tag_tl { T } } \seq_gput_right:Nx \g_my_sec_seq { #1:::\l_my_tag_tl } \my_update_marks: } % معالجة موضع الـ Subsection بعد إضافته \cs_new_protected:Npn \my_add_subsection_after:n #1 { \dim_gset:Nn \g_my_pafter_dim { \pagetotal } \tl_clear:N \l_my_tag_tl \dim_compare:nTF { \g_my_pbefore_dim > \topskip + 5pt } { \dim_compare:nTF { \g_my_pafter_dim >= \g_my_pbefore_dim } { \tl_set:Nn \l_my_tag_tl { M } } { \tl_set:Nn \l_my_tag_tl { T } } } { \tl_set:Nn \l_my_tag_tl { T } } \seq_gput_right:Nx \g_my_subsec_seq { #1:::\l_my_tag_tl } \my_update_marks: } % تحديث علامات extramarks \cs_new_protected:Npn \my_update_marks: { \tl_set:Nx \l_my_tmp_sec_tl { \seq_use:Nn \g_my_sec_seq { @@@ } } \tl_set:Nx \l_my_tmp_sub_tl { \seq_use:Nn \g_my_subsec_seq { @@@ } } \extramarks{\l_my_tmp_sec_tl}{\l_my_tmp_sub_tl} } % تصفير ذاكرة الفصل \cs_new_protected:Npn \my_reset_chapter: { \seq_gclear:N \g_my_sec_seq \seq_gclear:N \g_my_subsec_seq \extramarks{}{} } % الخوارزمية الخاصة بـ Sections (بدون أي تعديل) \cs_new_protected:Npn \my_process_marks:nn #1#2 { \seq_clear:N \l_my_top_seq \seq_clear:N \l_my_last_seq \seq_clear:N \l_my_res_seq \tl_if_empty:nF {#1} { \seq_set_split:Nnn \l_my_top_seq { @@@ } {#1} } \tl_if_empty:nF {#2} { \seq_set_split:Nnn \l_my_last_seq { @@@ } {#2} } \int_set:Nn \l_my_top_len_int { \seq_count:N \l_my_top_seq } \int_set:Nn \l_my_last_len_int { \seq_count:N \l_my_last_seq } \int_compare:nF { \l_my_last_len_int = 0 } { \int_compare:nTF { \l_my_last_len_int = \l_my_top_len_int } { \tl_set:Nx \l_my_tmp_item_tl { \seq_item:Nn \l_my_last_seq { \l_my_last_len_int } } \my_get_title:VN \l_my_tmp_item_tl \l_my_clean_title_tl \seq_put_right:NV \l_my_res_seq \l_my_clean_title_tl } { \tl_set:Nx \l_my_first_new_tl { \seq_item:Nn \l_my_last_seq { \l_my_top_len_int + 1 } } \my_get_tag:VN \l_my_first_new_tl \l_my_tag_tl \str_if_eq:nnTF { \l_my_tag_tl } { M } { \int_compare:nTF { \l_my_top_len_int > 0 } { \int_set:Nn \l_my_start_idx_int { \l_my_top_len_int } } { \int_set:Nn \l_my_start_idx_int { 1 } } } { \int_set:Nn \l_my_start_idx_int { \l_my_top_len_int + 1 } } \int_step_inline:nnn { \l_my_start_idx_int } { \l_my_last_len_int } { \tl_set:Nx \l_my_tmp_item_tl { \seq_item:Nn \l_my_last_seq { ##1 } } \my_get_title:VN \l_my_tmp_item_tl \l_my_clean_title_tl \seq_put_right:NV \l_my_res_seq \l_my_clean_title_tl } } } \seq_if_empty:NF \l_my_res_seq { [~\seq_use:Nn \l_my_res_seq { ~،~ }~] } } % --------------------------------------------------------- % الخوارزمية الخاصة والمضمونة لـ Subsections % --------------------------------------------------------- \cs_new_protected:Npn \my_process_subsections_marks:nn #1#2 { \seq_clear:N \l_my_top_seq \seq_clear:N \l_my_last_seq \seq_clear:N \l_my_res_seq \tl_if_empty:nF {#1} { \seq_set_split:Nnn \l_my_top_seq { @@@ } {#1} } \tl_if_empty:nF {#2} { \seq_set_split:Nnn \l_my_last_seq { @@@ } {#2} } \int_set:Nn \l_my_top_len_int { \seq_count:N \l_my_top_seq } \int_set:Nn \l_my_last_len_int { \seq_count:N \l_my_last_seq } \int_compare:nF { \l_my_last_len_int = 0 } { % 1. في حالة عدم وجود أي subsection جديد في الصفحة الحالية \int_compare:nTF { \l_my_last_len_int = \l_my_top_len_int } { % عرض الـ subsection الممتد الأخير من الصفحات السابقة \tl_set:Nx \l_my_tmp_item_tl { \seq_item:Nn \l_my_last_seq { \l_my_last_len_int } } \my_get_title:VN \l_my_tmp_item_tl \l_my_clean_title_tl \seq_put_right:NV \l_my_res_seq \l_my_clean_title_tl } { % 2. وجود subsections جديدة في الصفحة الحالية % إذا كان هناك subsection سابق ممتد من الصفحة السابقة، نبدأ منه دائماً \int_compare:nTF { \l_my_top_len_int > 0 } { \int_set:Nn \l_my_start_idx_int { \l_my_top_len_int } } { \int_set:Nn \l_my_start_idx_int { 1 } } % تجميع العنوان الممتد + العناوين الجديدة الظاهرة في الصفحة \int_step_inline:nnn { \l_my_start_idx_int } { \l_my_last_len_int } { \tl_set:Nx \l_my_tmp_item_tl { \seq_item:Nn \l_my_last_seq { ##1 } } \my_get_title:VN \l_my_tmp_item_tl \l_my_clean_title_tl \seq_put_right:NV \l_my_res_seq \l_my_clean_title_tl } } } \seq_if_empty:NF \l_my_res_seq { [~\seq_use:Nn \l_my_res_seq { ~،~ }~] } } \cs_generate_variant:Nn \my_process_subsections_marks:nn { VV } % ربط دوال العرض \cs_new_protected:Npn \my_render_sections: { \tl_set:Nx \l_my_tmp_sec_tl { \topleftxmark } \tl_set:Nx \l_my_tmp_sub_tl { \lastleftxmark } \my_process_marks:VV \l_my_tmp_sec_tl \l_my_tmp_sub_tl } \cs_new_protected:Npn \my_render_subsections: { \tl_set:Nx \l_my_tmp_sec_tl { \toprightxmark } \tl_set:Nx \l_my_tmp_sub_tl { \lastrightxmark } \my_process_subsections_marks:VV \l_my_tmp_sec_tl \l_my_tmp_sub_tl } % تصدير الدوال \cs_gset_eq:NN \renderSections \my_render_sections: \cs_gset_eq:NN \renderSubSections \my_render_subsections: \cs_gset_eq:NN \myMarkBefore \my_mark_before: \cs_gset_eq:NN \addSectionAfter \my_add_section_after:n \cs_gset_eq:NN \addSubsectionAfter \my_add_subsection_after:n \cs_gset_eq:NN \resetHeaderChapter \my_reset_chapter: \ExplSyntaxOff \makeatletter % إعادة تعريف \section و \section* (بدون أي تعديل) \let\oldsection\section \RenewDocumentCommand{\section}{s o m}{% \myMarkBefore \IfBooleanTF{#1} {% عند استخدام \section* \oldsection*{#3}% \addcontentsline{toc}{section}{#3}% } {% حالة \section المرقم \IfValueTF{#2} {\oldsection[#2]{#3}} {\oldsection{#3}}% }% \addSectionAfter{#3}% } % إعادة تعريف \subsection و \subsection* \let\oldsubsection\subsection \RenewDocumentCommand{\subsection}{s o m}{% \myMarkBefore \IfBooleanTF{#1} {% عند استخدام \subsection* \oldsubsection*{#3}% \addcontentsline{toc}{subsection}{#3}% } {% حالة \subsection المرقم \IfValueTF{#2} {\oldsubsection[#2]{#3}} {\oldsubsection{#3}}% }% \addSubsectionAfter{#3}% } % تصفير الذاكرة عند بداية كل فصل جديد (\chapter) \AddToHook{cmd/chapter/before}{% \clearpage \resetHeaderChapter } \makeatother \pagestyle{fancy} \fancyhf{} % اليسار للـ Section واليمين للـ Subsection \fancyhead[L]{\small\bfseries\renderSections} \fancyhead[R]{\small\renderSubSections} \fancyfoot[C]{الأستاذ: عماد عقوني} \fancyfoot[LE,RO]{\thepage} \renewcommand{\headrulewidth}{1pt} \renewcommand{\footrulewidth}{1pt} \fancypagestyle{plain}{% \fancyhf{} \fancyfoot[C]{الأستاذ: عماد عقوني} \fancyfoot[LE,RO]{\thepage} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{1pt} } \fancypagestyle{tocstyle}{% \fancyhf{} \fancyfoot[C]{(\abjad{page})} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt} }

  • How can I draw the plane and intersection curve on a one-sheet hyperboloid in TikZ?
    by Samia Rani on August 9, 2026 at 5:23 pm

    I am trying to recreate the following mathematical figure in LaTeX/TikZ. The figure shows the one-sheet hyperboloid x^2 + y^2 - z^2 = 1 together with the plane 2x + z = 1. Their intersection is the red curve shown on the hyperboloid. After quite a lot of effort, I have managed to draw the one-sheet hyperboloid reasonably well in TikZ. However, I am having difficulty with the two remaining parts: How can I draw the transparent red plane 2x + z = 1 behind/in front of the hyperboloid, as shown in the reference image? How can I draw the red intersection curve between the plane and the hyperboloid so that it lies correctly on the surface? I would like the final figure to look as close as possible to the reference image, including the perspective, transparency of the plane, and the red intersection curve. Here is the code I currently have for the hyperboloid: \documentclass[border=5pt]{standalone} \usepackage{pgfplots} \usepackage{tikz} \pgfplotsset{compat=1.18} \begin{document} \begin{tikzpicture}[>=stealth] \begin{axis}[ view={120}{22}, axis lines=none, xmin=-3.3, xmax=3.3, ymin=-3.3, ymax=3.3, zmin=-2.0, zmax=2.0, xtick=\empty, ytick=\empty, ztick=\empty, clip=false, ] %------------------------------------------------ % Red point at the origin %------------------------------------------------ \addplot3[ only marks, mark=*, mark size=2.5pt, draw=red, fill=red, ] coordinates {(0,0,0)}; %------------------------------------------------ % Smooth one-sheet hyperboloid %------------------------------------------------ \addplot3[ surf, shader=interp, draw=blue!55!black, opacity=0.65, samples=45, samples y=80, domain=-2.2:2.2, y domain=0:360, z buffer=sort, ] ( {sqrt(1+x^2)*cos(y)}, {sqrt(1+x^2)*sin(y)}, {x} ); %------------------------------------------------ % POSITIVE x-axis %------------------------------------------------ \draw[ ->, black, thick ] (axis cs:0,0,0) -- (axis cs:5.0,0,0) node[right] {$x$}; %------------------------------------------------ % NEGATIVE x-axis -- dashed %------------------------------------------------ \draw[ dashed, black, thick ] (axis cs:0,0,0) -- (axis cs:-2.0,0,0); %------------------------------------------------ % POSITIVE y-axis %------------------------------------------------ \draw[ ->, black, thick ] (axis cs:0,0,0) -- (axis cs:0,4.0,0) node[above left] {$y$}; %------------------------------------------------ % NEGATIVE y-axis -- dashed %------------------------------------------------ \draw[ dashed, black, thick ] (axis cs:0,0,0) -- (axis cs:0,-1.0,0); %------------------------------------------------ % POSITIVE z-axis %------------------------------------------------ \draw[ ->, black, thick ] (axis cs:0,0,0) -- (axis cs:0,0,3.0) node[above] {$z$}; %------------------------------------------------ % NEGATIVE z-axis -- dashed %------------------------------------------------ \draw[ dashed, black, thick ] (axis cs:0,0,0) -- (axis cs:0,0,-2.0); %------------------------------------------------ % Origin %------------------------------------------------ \node[ below right, inner sep=1pt ] at (axis cs:0,0,0) {$0$}; %------------------------------------------------ % Equation %------------------------------------------------ \node[ blue!75!black, font=\large ] at (axis cs:2.0,-0.5,1.1) {$x^2+y^2-z^2=1$}; \end{axis} \end{tikzpicture} \end{document} I would be very grateful for any suggestions on how to add the plane and, especially, the intersection curve correctly. Thank you!

  • Changing the font of algorithm name in algorithm2e
    by user631620 on August 9, 2026 at 1:38 pm

    I'm trying to format an algorithm using algorithm2e and hyperref. I would like to achieve that the algorithm's name is printed in sans-serif font (in the algorithm caption and whenever it is referenced via \ref). Minimal (non) working example: \documentclass{article} \usepackage[algoruled]{algorithm2e} \usepackage{hyperref} \begin{document} Below, we present Algorithm~\ref{alg:myalg}. \begin{algorithm} \SetAlgoLined \SetAlgoRefName{MyAlg} \If{$x >0$}{ \KwRet{$x$}} \caption{A test algorithm} \label{alg:myalg} \end{algorithm} \end{document} What I have tried: If I use something like \SetAlgoRefName{\sffamily MyAlg} and add \SetAlCapFnt{\normalfont} in the example above, the document will compile with multiple errors, but the result looks correct: Using algorithm2e commands like \SetAlCapFnt or \SetAlCapNameSty also did not work for me, as they seem to set the font not just for the name of the algorithm, but for larger parts of the title. Redefining one of the internal commands of algorithm2e (see below), I managed to get the caption correct, but this does not work for the links created via \ref. \renewcommand{\algocf@captionref}{% \renewcommand{\fnum@algocf}[1]{\AlCapSty{\AlCapFnt\algorithmcfname\nobreakspace\sffamily\algocf@algocfref}}% \addtocounter{algocf}{-1}% \caption do a refstepcounter, so we restore the precedent value \let\old@thealgocf=\thealgocf\renewcommand{\thealgocf}{{\relsize{\algocf@refrelsize}\algocf@algocfref}}% \gdef\@currentlabel{\sffamily\algocf@algocfref}% let the label use the new ref }%

  • rectangle behind first two letters of chapter title
    by G. Bay on August 9, 2026 at 11:28 am

    What I need to achieve is: A rectangle behind the first two letters of the chapter title, spanning up to the paper border (full bleeding over the margin) Change color of the first two letters of the chapter title. I have managed to do this with this specific chapter, but when I repeat the code with different words it gets all bugged, because my method is fine tuned to this word only. I used tikz for no special reason, maybe tcolorbox would be easier. How do I make it so it will work for every chapter without needing to readjust each time? \documentclass{memoir} \usepackage[% left=1.5in, right=1in, top=23.245mm, bottom=3cm ]{geometry} \usepackage{fontspec} \usepackage{moresize} % Configure Raleway: Map \textbf to the 'ExtraBold' font file \setmainfont{Raleway}[ UprightFont = *-Regular, ItalicFont = *-RegularItalic, BoldFont = *-ExtraBold, % \textbf uses Extra-Bold BoldItalicFont = *-ExtraBoldItalic % \textbf{\textit{...}} uses Extra-Bold Italic ] \usepackage{calc} \usepackage{tikz} \usetikzlibrary{positioning,calc} \usetikzlibrary{tikzmark, backgrounds} \usepackage{xcolor} \usepackage[explicit]{titlesec} \usepackage{xstring} \definecolor{cinza}{HTML}{918f90} \titlespacing*{\chapter}{0pt}{-70.5pt}{20pt} % Syntax: \titleformat{cmd}[shape]{format}{label}{sep}{before} \titleformat{\chapter}[display]% {\fontsize{42.5}{48}\selectfont\bfseries} % Format: 40pt, negrito {} % LABEL: Removes "Chapter 1" {0pt} % Separation: 0pt since no label {% \StrLeft{#1}{1}[\first]% Extract first letter \StrLeft{#1}{2}[\firsttwo]% Extract first two letters % % Print the first two letters (White) {\color{white}\MakeUppercase{\first}\StrGobbleLeft{\firsttwo}{1}}% % % CRITICAL FIX: Save the rest into \rest, then print \rest in cinza \StrGobbleLeft{#1}{2}[\rest]% {\color{cinza}\rest}% } \begin{document} \tikzmark{A}\tikzmark{B}\chapter{Apresentação} \AddToHookNext{shipout/background}{% \begin{tikzpicture}[remember picture,overlay] \begin{scope}[on background layer] % Define coordinates \coordinate (nA) at ([xshift=4.1em, yshift=-1.63cm]pic cs:A) ; \coordinate (sB) at ([xshift=9.1em]{pic cs:B} |- {current page.north}); % Draw the rectangle (it will now be behind text) \draw[fill=cinza, draw=none] (nA) rectangle (sB); \end{scope} \end{tikzpicture} } \end{document}

  • align hitbox of rotated reference cited in TikZ image
    by ali bab613 on August 8, 2026 at 2:52 pm

    I have a document which calls a .tex file that contains a standalone TikZ image. Within that image, I cite several references in a rotated node. I have the MWE here: main.tex: \documentclass{article} \usepackage{tikz} \usepackage{standalone} \usepackage{hyperref} \begin{document} \input{Chapter1} \bibliographystyle{IEEEtran} \bibliography{references} \end{document} and Chapter 1.tex: \documentclass{standalone} \usepackage{hyperref} \usepackage{tikz} \begin{document} \begin{tikzpicture} \node[color=black,rotate=17] at (3.25,-2.35) {\tiny\cite{Test1,Test2,Test3,Test4,Test5}}; \end{tikzpicture} \end{document} Most answers online deal with hyperref to an image that's entirely rotated, in my case this is one node amongst many, and the picture is not rotated. I did not suppress the hitboxes in hyperref (by using \usepackage[breaklinks]{hyperref}) for demonstration purposes, but the problem (obviously) persists for both cases. Here's a screenshot of the resulting image, and its hitboxes: The issue is not only that the box does not rotate (which isn't a massive problem), it's more that it does not align vertically, especially the further along the node you go. Changing the citation to {\tiny\cite{Test1,Test2,Test3,Test4}\cite{Test5}} also does not adjust the box vertically: This may be a long shot, but is there a way to better align the hitbox with the node?

  • How to create a macro/environment like the figure enviroment? [duplicate]
    by Domi on August 7, 2026 at 9:24 pm

    I want to create an environment that, when I use \begin{name}, will show me the commands I want to fill out, like what happens with the figure environment for example. I've tried using the \newenvironment command but I think I'm doing something incorrectly because when I use the environment I created, it just shows up empty. Edit for clarification: I want to create a macro similar to the figure environment, like, when we use the \begin{figure} the following code shows up: \begin{figure} \centering \includegraphics[width=0.5\linewidth]{} \caption{Caption} \label{fig:placeholder} \end{figure} I want to create a macro that does something similar, showing this code: \begin{tcolorbox}[tabularx=Y|Y|Y, title=Título da Tabela, center title] \textbf{} & \textbf{} & \textbf{} \\ \hline & & \\ \hline & & \\ \hline & & \\ \hline & & \\ \hline \end{tcolorbox} The issue I'm having is that, when I use the \newenvironment command, it creates the environment, but none of the content shows up. Does that make sense? Is that something that can be done?

  • Writing figure with raster graphics for scientific publication by hand in PostScript [closed]
    by NicolasBourbaki on August 7, 2026 at 7:51 pm

    I want to overlay some micrographs with labels (like A, B, C) and arrows to generate a multi-panel figure. Why not write a PostScript file by hand and put the binary image data in there? This seems to me the most transparent and direct way to add the labels and arrows by hand. Publishers commonly accept eps (and PDF) files, whereas support for other file formats like SVG varies. Why should I buy and learn proprietary GUI software like Adobe's Illustrator or InDesign for this purpose only? Apart from Adobe's PostScript Language Reference ("Blue/Red Book") I could not find more specific, direct information or tutorials about this, although I would expect this to having been a common practice in the 90ies and I'm surprised that this practice would have gotten extinct by now. For plotting data, I would of course use libraries like matplotlib or R's ggplot. SVG would be a modern option, but getting bounding boxes of text to align it requires JavaScript or other additional tricks. Inkscape is nice, but writing PostScript feels more reproducible and automatizable to me. Yes, there would be only short parts of PostScript code for the vector items (labels and arrows) and long chunks of binary (hex) data in between.

  • showclefs like command in Musixtex
    by ABV on August 7, 2026 at 6:15 pm

    It is needed to implement a command in Musixtex to do: showclefs like command in Musixtex, the basic code is as follow: \documentclass[% border={2pt -11pt 90pt 8pt},% left bottom right top %border=8pt varwidth]{standalone}% Ejemplo 26 \usepackage{tikz} \usetikzlibrary{positioning} \usepackage{musicography} \usepackage{musixtex} \input musixlyr \usepackage{amsmath} \usepackage{xcolor} \xdefinecolor{red-undar}{RGB}{179,35,79} \xdefinecolor{naranja}{RGB}{246,146,30} \xdefinecolor{conchevino}{RGB}{179,35,79} \xdefinecolor{plomoOscuro}{RGB}{52,52,52} \begin{document} \begin{music} \hsize=1.25\linewidth% \resetlyrics \setlyrics{AcordesB}{\B I \B II \B I \B II \B I \B IV \B IV6 \B II I\raisebox{0.5ex}{\bfseries\musFig[l]{{7} {\noFig}}} \B I \B VII\raisebox{-.1ex}{\bfseries\musFig[l]{{5} {6}}} \B I6 \B VII\raisebox{-.1ex}{\bfseries\musFig[l]{{3} {4}}} \B I6}% \setlyrics{AcordesX}{_ _ _ _ _ _ _ _} \setlyrics{AcordesY}{_ _ _ _ _ _ _ _} \setlyrics{AcordesZ}{_ _ _ _ _ _ _ _} \setlyrics{AcordesA}{\B 8J \B 5J \B 3M \B 3m \B 6M \B 6m \B 5 _} %\setsongraise{1}{1.5cm} %\setsongraise{2}{2.5cm} \lyrraisemulti{1}{2}{a -1.9cm} \font\A=phvb8t at 10pt% added for letter type. \font\B=phvb8t at 13pt% added for letter type. \parindent0mm \sepbarrules \generalsignature{0} %\generalmeter{\meterfrac{2}2} \instrumentnumber{1} \interstaff{10}%espacio entre pentagramas del piano \setclef{1}{61}%Clave de Do en 1ra linea \setstaffs1{2}% \nobarnumbers% \startpiece% \A\assignlyricsmulti{1}{2}{AcordesA}%,AcordesX,AcordesY,AcordesB} %\A\assignlyricsmulti{1}{1}{AcordesB}%,AcordesX,AcordesY,AcordesB} \Notes\hqsk\wh{J}\zcharnote{31}{\hspace{-3.5cm}\begin{tikzpicture} \node (point) at (0,0)[text width=26mm,align=center, fill=naranja!10, inner sep=2pt, draw=naranja, line width=1.5pt] {\textcolor{red-undar}{\B\textbf{Permitido 8J}}}; \end{tikzpicture}}|\hqsk\wh{j}\en\doublebar% \setclef{1}{61}\changeclefs% \Notes\wh{J}\zcharnote{31}{\hspace{-3.75cm}\begin{tikzpicture} \node (point) at (0,0)[text width=26mm,align=center, fill=naranja!10, inner sep=2pt, draw=naranja, line width=1.5pt] {\textcolor{red-undar}{\B\textbf{Permitido 5J}}}; \end{tikzpicture}}|\wh{g}\en\doublebar% \Notes\wh{J}\zcharnote{31}{\hspace{-3.75cm}\begin{tikzpicture} \node (point) at (0,0)[text width=26mm,align=center, fill=naranja!10, inner sep=2pt, draw=naranja, line width=1.5pt] {\textcolor{red-undar}{\B\textbf{Permitido 3M}}}; \end{tikzpicture}}|\wh{l}\en% \alaligne% \Notes\wh{a}\zcharnote{31}{\hspace{-3.75cm}\begin{tikzpicture} \node (point) at (0,0)[text width=26mm,align=center, fill=naranja!10, inner sep=2pt, draw=naranja, line width=1.5pt] {\textcolor{red-undar}{\B\textbf{Permitido 3m}}}; \end{tikzpicture}}|\wh{j}\en\doublebar% %\setclef18\zchangeclefs % apply empty clef (no space) \setclef{1}{63}\changeclefs% \Notes\wh{M}\zcharnote{31}{\hspace{-3.75cm}\begin{tikzpicture} \node (point) at (0,0)[text width=26mm,align=center, fill=naranja!10, inner sep=2pt, draw=naranja, line width=1.5pt] {\textcolor{red-undar}{\B\textbf{Permitido 6M}}}; \end{tikzpicture}}|\wh{d}\en\doublebar% \Notes\wh{L}\zcharnote{31}{\hspace{-3.75cm}\begin{tikzpicture} \node (point) at (0,0)[text width=26mm,align=center, fill=naranja!10, inner sep=2pt, draw=naranja, line width=1.5pt] {\textcolor{red-undar}{\B\textbf{Permitido 6m}}}; \end{tikzpicture}}|\wh{c}\en\setdoubleBAR% \nolyr% \lyricsoff% \endpiece \end{music} \end{document} the current output is as follow: The desired output is as follow:

  • TikZ to draw an arrow along the side of a table
    by Maronite Monks on August 7, 2026 at 2:06 pm

    I have a table to which I'd like to add a curved arrow (with an arrowhead at one end) running outside the table. The line will originate at the upper left portion of a table and end with the arrow pointing at the lower left portion. Another similar arrow will be outside the lower right side of the table and end pointing at the upper right side. I'd like some text to follow the curve of the arrows on each side of the table. The text for the left arrow will say: "Gives rise to the irascible". The text on the right will say: "Resolves in the concupiscible". Here's a MWE I've compiled with LuaLaTeX. \documentclass[12pt]{memoir} \addtolength\tabcolsep{.5in} \renewcommand\arraystretch{1.5} \begin{document} \begin{center} \begin{tabular}{c|c} \hline\hline {\scshape Good}& {\scshape Evil}\\\hline\hline\\[-9pt] love & hate \\\hline desire & avoid \\\hline joy & sad \\\hline\hline\\[-9pt] hope & bold \\\hline despair & fear \\\hline\hline\\[-9pt] & anger \end{tabular} \end{center} \end{document}

  • Robust way to write equation solving
    by Sunris8 on August 7, 2026 at 1:29 pm

    I want to write a robust code to write equations solving with vertical bar. I started with the last answer of this. My MWE is copied below. The problem is that the code is not robust (see picture: e.g. the length of the bar is fixed if you add more lines, but maybe some other issues that I have not spotted yet). At best, I would like a command \resolutionstep{...}{...} which would reproduce the picture adapting automatically the line of the equation, so something like: \begin{equation/array} \resolutionstep{3x+2{1}{-2} \resolutionstep{3x}{-1}{\div 3} \resolutionstep{x}{-\frac 13}{} \end{equation/array} Does any one know a good package/code to improve this? Thanks! \documentclass{article} \usepackage{showframe} \renewcommand{\ShowFrameLinethickness}{0.3pt} \usepackage{eqparbox} \usepackage{amsmath,array} \begin{document} blablabla \begin{alignat}{2} \qquad2x+2 &= 7x+3 &\hspace{6em}\smash{\rule[-5\baselineskip]{0.5pt}{6\baselineskip}} \qquad-2 & \\ 2x &= 7x+1 & -7 x & \\ -5x &= 1 &\div(-5) & \\ -5x &= 1 &\div(-5) & \\ -5x &= 1 &\div(-5) & \\ -5x &= 1 &\div(-5) & \\ x &= \boxed{-\frac{1}{5}} & & \end{alignat} \end{document}

  • above and below space for table rules tabularray
    by MadyYuvi on August 7, 2026 at 6:49 am

    My code are: \documentclass{article} \usepackage{array} \usepackage{tabularray} \UseTblrLibrary{booktabs} \begin{document} \NewColumnType{W}[1]{>{\raggedright\hangindent=1em\arraybackslash}Q[wd=#1]}% %\SetTblrInner{rowsep=0pt,row{1} = {l,b}} \SetTblrInner{rows={abovesep=0pt,belowsep=0pt},row{1} = {l,b}} \heavyrulewidth=0.5pt \lightrulewidth=0.5pt \cmidrulewidth=0.5pt \belowrulesep=14pt \belowbottomsep=14pt \aboverulesep=14pt \abovetopsep=10pt \cmidrulesep=\doublerulesep \cmidrulekern=.5em %\begin{tblr}{@{}XW{20pc}@{}} Test for tblr \begin{tblr}{colspec = {@{}XW{20pc}@{}}, row{1} = {l,b}} \toprule \SetCell[c=1]{l} Variable & \SetCell[c=1]{l} Sources\break Bottom\break test\\ \midrule \SetCell[c=2]{c} \textit{Supply variables}\\ Entry of new nonprofits & The influence of industry structure on the countries innovation capacity has been examined under three types of agglomeration externalities\\ Nonprofit employees & The influence of industry structure on the countries innovation capacity has been examined under three types of agglomeration externalities\\ Nonprofit financials & The influence of industry structure on the countries innovation capacity has been examined under three types of agglomeration externalities\\ \bottomrule \end{tblr} \end{document} already I gave some large value of above and below space for all rules (e.g., \toprule, etc.) but nothing was affected, how can I fix the space (need to fix 6pt white space for all rules)

  • CMUTypewriter symbols baseline inconsistency?
    by Explorer on August 7, 2026 at 4:46 am

    I have the following code: \documentclass{article} \usepackage{fontspec} \setmonofont{cmun}[ Extension = .otf, UprightFont = *btl, BoldFont = *tb, ItalicFont = *bto, BoldItalicFont = *tx, HyphenChar = None] \begin{document} Hello \texttt{+} world \texttt{-} and everyone! Hello \texttt{\char92 CJKsout+} world \texttt{\char92 CJKsout-} and everyone! \end{document} It gives the unexpected baseline of + and -... Any suggestions? Edited The original case was I want to illustrate two commands: \CJKsout+ \CJKsout- both in xeCJKfntef package. If they are put together, that was in bad looking, if you don't mind to read Chinese, you could see here.

  • Cookbook layouting with minipage?
    by Mr. Undercover on August 6, 2026 at 10:21 pm

    I am trying to create a latex layout for a cookbox, that I want to make. I have trouble however, trying to create 2 textboxes right next to each other as you can see. In my layout I create 2 minipages next to each other and the headlines of them look fine, however the text does not quite match what I want. First of all: the lines of the left box do not break, they break when the text reaches the very end of the page. Secondly, the text of the left box starts way below the title, right under the list of the right box? And thirdly, I defined "Zubereitung" which means preparation as #8 and "Zuaten" (ingredients) as #9, in my file for the recipe I put the instructions in #8 just like in the layout but it appears under the wrong one? I could just change the headlines, however I try to understand why that happens. Please help, it is driving me crazy, thanks!! I thought about trying parbox instead of minipage but I have also read, that you can not use enumerate in parbox? How can I make the 2 boxes "Zubereitung" (preparation) and Zutaten "ingredients" look clean next to each other?? \usepackage[a4paper,margin=2.2cm]{geometry} \usepackage{graphicx} \usepackage{xcolor} \usepackage{fontawesome5} \usepackage{parskip} \usepackage{tcolorbox} \usepackage{titlesec} % Keine Kapitelnummern \titleformat{\chapter}[display] {\Huge\bfseries} {} {0pt} {\Huge} % Kopf- und Fußzeilen ausschalten \pagestyle{plain} \definecolor{recipegreen}{RGB}{39,90,48} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\recipe}[9]{% \typeout{TEST TEST TEST} \clearpage \thispagestyle{empty} %========================================================== % Oberer Teil %========================================================== \noindent \begin{minipage}[t]{0.58\textwidth} \vspace{0pt} \includegraphics[ width=\linewidth, height=0.50\textheight, keepaspectratio ]{#2} \end{minipage} \hfill \begin{minipage}[t]{0.37\textwidth} \vspace{0pt} {\Huge\bfseries\color{recipegreen} #1} \vspace{1cm} {\large\faClock\quad #3} \vspace{0.4cm} {\large\faFire\quad #4} \vspace{0.4cm} {\large\faUserFriends\quad #5} \vspace{0.4cm} {\large\faGlobe\quad #6} \vspace{1cm} \begin{tcolorbox}[ colback=gray!8, colframe=gray!20, boxrule=0.3pt, arc=2mm] #7 \end{tcolorbox} \end{minipage} \vspace{1cm} %========================================================== % Unterer Teil %========================================================== \noindent \begin{minipage}[t]{0.58\textwidth} {\Large\bfseries Zubereitung} \vspace{0.5cm} #8 \end{minipage}\hfill \begin{minipage}[t]{0.37\textwidth} {\Large\bfseries Zutaten} \vspace{0.5cm} #9 \end{minipage} } \recipe {Shakshuka} {rezepte/shakshuka.jpg} {10 Minuten} {20 Minuten} {2 Personen} {Naher Osten} {Ein Frühstück das aus den mittleren Osten stammt. Es basiert auf einer gewürzten Tomaten-Paprika Basis mit gekochten Eiern.} { \begin{enumerate} \item schneiden daus idasdasdadas das das das ads das dassad \item kochen \item essen \end{enumerate} } { \begin{itemize} \item 1 Paprika das adsad s das das das das das das das ads sda das das dasd asd as da dsa dasd das das das dasd asd as dasd \item 3 Tomaten \item 5 Eier \end{itemize} }

  • How to easily draw and parameterize various pH titration curves (including diprotic/dibasic) for a beginner?
    by user446526 on August 6, 2026 at 8:23 am

    I am a complete beginner when it comes to drawing complex functional plots in LaTeX. I am trying to create several types of pH titration curves for a document, but I am struggling to write the code from scratch. I found a very helpful French website that seems to have the exact mathematical logic and LaTeX code for what I need: https://www.astrolabe-science.fr/courbes-titrages-acido-basiques-latex/ However, as a beginner, I find it quite difficult to extract just the essential parts to create a simple, easily editable template. I need to recreate the following types of curves (I have attached images of what I am aiming for): The 4 basic monoprotic titrations: Strong Acid, Strong Base, Weak Acid, and Weak Base. Diprotic acid titration: A curve with two equivalence points (increasing pH). Dibase titration: A curve with two equivalence points (decreasing pH). My request: Could someone help provide a simplified, beginner-friendly pgfplots (or TikZ) template based on the math from that website? Ideally, I am looking for a code structure where the main parameters (like initial concentrations, volumes, and pK_a values) are defined at the top so I can easily change them. It would be incredibly helpful if you could include brief comments/instructions inside the code explaining how to switch between the different types of curves (e.g., "change this sign for a base", "uncomment this for a diprotic acid"). Thank you so much for your time and help! I have attached images of what I am aiming for.

  • \documentclass[14pt]{extarticle} does not seem to work with \DeclareMathSizes{14}{14}{7}{4}
    by D G on August 6, 2026 at 5:52 am

    \documentclass[14pt]{extarticle} \usepackage{amsmath} \DeclareMathSizes{14}{14}{7}{4} \begin{document} $x_P=1$ does not produce the expected output. \end{document}

  • How to make \imath and \jmath to obey math alphabet changes?
    by mathrm alpha on August 5, 2026 at 11:15 pm

    I discovered that \mathrm and \mathnormal (the default math symbol font) both have dotless i and j characters, but because their TeX font encodings for dotless i and j don't match, characters like \mathrm{\imath} and \mathrm{\jmath} don't work. The dotless i and j glyphs are encoded in slots '020 and 021 in OT1, while \imath and \jmath are encoded in slots "7B and "7C, So even if I try \DeclareSymbolFont{it}{OT1}{cmr}{m}{it} \DeclareMathSymbol{\imath}{\mathord}{it}{'020} \DeclareMathSymbol{\jmath}{\mathord}{it}{'021} This makes \mathrm{\imath} or \mathrm{\jmath} truly become upright style \imath, \jmath, it also retains the original italic style of \imath and \jmath. However, since cmmi10 is a mathematical italic font, its spacing will differ from that of cmti10, which is the \mathit style.

  • Empty Clef is not working on Musixtex
    by ABV on August 5, 2026 at 10:41 pm

    It is needed to use Empty Clef, but it is not working on Musixtex. The basic code is as follow: \documentclass[% border={2pt -11pt 90pt 8pt},% left bottom right top %border=8pt varwidth]{standalone}% Ejemplo 28 \usepackage{tikz} \usetikzlibrary{positioning} \usepackage{musicography} \usepackage{musixtex} \input musixlyr \usepackage{amsmath} \usepackage{xcolor} \xdefinecolor{red-undar}{RGB}{179,35,79} \xdefinecolor{naranja}{RGB}{246,146,30} \xdefinecolor{conchevino}{RGB}{179,35,79} \xdefinecolor{plomoOscuro}{RGB}{52,52,52} \begin{document} \begin{music} \hsize=1.25\linewidth% \resetlyrics \setlyrics{AcordesB}{\B I \B II \B I \B II \B I \B IV \B IV6 \B II I\raisebox{0.5ex}{\bfseries\musFig[l]{{7} {\noFig}}} \B I \B VII\raisebox{-.1ex}{\bfseries\musFig[l]{{5} {6}}} \B I6 \B VII\raisebox{-.1ex}{\bfseries\musFig[l]{{3} {4}}} \B I6}% \setlyrics{AcordesA}{\B 8 \B Np \B 5 \B Np \B 5 \B 5 \B Np \B 8 \B Np \B 6 \B 3 \B 8 \B 6 \B Np \B 5 _} %\setsongraise{1}{1.5cm} %\setsongraise{2}{2.5cm} \lyrraisemulti{1}{2}{a -1.9cm} \font\A=phvb8t at 10pt% added for letter type. \font\B=phvb8t at 13pt% added for letter type. \parindent0mm \sepbarrules \generalsignature{0} %\generalmeter{\meterfrac{2}2} \instrumentnumber{1} \interstaff{10}%espacio entre pentagramas del piano \setclef{1}{61}%Clave de Do en 1ra linea \setstaffs1{2}% \nobarnumbers% \startpiece% \A\assignlyricsmulti{1}{2}{AcordesA}%,AcordesX,AcordesY,AcordesB} \A\assignlyricsmulti{1}{1}{AcordesB}%,AcordesX,AcordesY,AcordesB} \Notes\qsk\wh{J}\zcharnote{33}{\hspace{0.5cm}\begin{tikzpicture} \node (point) at (0,0)[text width=24mm,align=center, fill=naranja!10, inner sep=2pt, draw=naranja, line width=1.5pt] {\textcolor{red-undar}{\B\textbf{Apertura 8va}}}; \end{tikzpicture}}\zcharnote{0}{\hspace{-0.65cm}\begin{tikzpicture} \node (point) at (0,0)[text width=16mm,align=center] {\textcolor{red-undar}{\A\textbf{}}}; \draw[line width=2pt,draw=red-undar] (0.118,2.27) -- ++(0.1,0)-- ++(0,-2.2)-- ++(-0.1,0); \end{tikzpicture}}% |\qsk\hp\hl{j}\en\bar% \notes\wh{K}|\ql{ih}\hl{i}\en\bar \NOtes\sk|\sk\en\doublebar% \setclef18\zchangeclefs % apply empty clef (no space) \setclef{1}{61}\changeclefs% \notes\wh{J}\zcharnote{33}{\hspace{0.5cm}\begin{tikzpicture} \node (point) at (0,0)[text width=27mm,align=center, fill=naranja!10, inner sep=2pt, draw=naranja, line width=1.5pt] {\textcolor{red-undar}{\B\textbf{Apertura 5ta}}}; \end{tikzpicture}}|\qp\ql{gnm}\en\bar% \notes\wh{L}\zcharnote{-3}{\hspace{-4.2cm}\begin{tikzpicture} \node (point) at (0,0)[text width=16mm,align=center] {\textcolor{red-undar}{\A\textbf{}}}; \draw[line width=2pt,draw=red-undar] (0.118,2.27) -- ++(0.1,0)-- ++(0,-1.9)-- ++(-0.1,0); \end{tikzpicture}}% |\ql{lkj}\qsk\en\setdoubleBAR% \nolyr% \lyricsoff% \endpiece \end{music} \end{document} The current output is as follow: The desired output is as follow:

  • Fast and feature-complete LaTeX formatters
    by Akira on August 5, 2026 at 3:10 pm

    I am looking for a LaTeX formatter that is both fast and feature-complete. By being fast, I mean it can format a very large tex file (e.g., more than 30,000 lines) in under a second. By being feature-complete, I mean it can handle nested alignment environments. For example, given \begin{align}a&= \begin{aligned}&b + c \\ & d + f\end{aligned} \\ g&= h\end{align} I would expect the formatter to produce something like \begin{align} a & = \begin{aligned} & b + c \\ & d + f \end{aligned} \\ g & = h \end{align} My motivation: I use VSCode where I configure latexindent to format a tex file whenever I save the changes. That being said, I format a tex file multiple times during an edit. Due to this frequent usage, I can feel the delay when using latexindent even on an average tex file I am aware of the following tools: latexindent is mature and feature-complete, but it is not fast enough for large files. For example, it takes about 25 seconds to format this paper source (36,192 lines), as discussed in this issue. tex-fmt is very fast (being implemented in Rust), but it does not yet handle the above example. It formats \begin{align}a&= \begin{aligned}&b + c \\ & d + f\end{aligned} \\ g&= h\end{align} as \begin{align}a&= \begin{aligned}&b + c \\ & d + f \end{aligned} \\ g&= h \end{align} Are there LaTeX formatters that satisfy both of these requirements?

  • How to position some text independent of document flow?
    by lindes on August 5, 2026 at 4:41 am

    I'm relatively new to LaTeX, but... I very much suspect it's a decent tool for what I'm trying to do, but I'm having trouble quite getting the behavior I want. My goal is to create a cover, on a5 paper (ultimately, I'll print 2 on a single sheet of A4 paper), to wrap around an a6-sized booklet (the contents of which I've already created, using just pandoc, and thus LaTeX only implicitly). I've found ways to get two-column text that gets me the basics of things (and also a background image, not shown here), but I'd like to also put some text along what amounts to the spine of the booklet, but I'm having troubles getting the positioning of that correct. Here's what I've got so far (including adding showframe just for debugging purposes): \documentclass[a5paper,landscape]{article} \usepackage{rotating} % sideways, turn \usepackage{multicol} % columns \setlength{\columnsep}{1cm} \usepackage[left=0.5cm,right=0.5cm,top=2cm,bottom=2cm,showframe]{geometry} \pagenumbering{gobble} \begin{document} \begin{multicols}{2} \begin{center} Text here for the back cover... \end{center} \columnbreak \begin{center} {\huge A title here} \vspace{2cm} {\large And a subtitle} \end{center} \end{multicols} \makebox[\textwidth][c]{ \begin{turn}{270} Spine text ends up after subtitle... \end{turn} } \end{document} Which generates this: My hope was that the "S" of the "Spine text..." part would start at the same line as the top of the "A" in "A title here", but instead it seems to come at the roughly the same vertical position (acually a little lower, even) on the page as I'd get if I added another line of text... and if I indeed do that, it goes even lower. So, clearly its getting its positioning information from the other stuff on the page. I presume this is because it's in "Paragraph mode". Because I'm still new to LaTeX, though, I'm not sure what I would need to do to get this either into a different mode, or reset the positioning, or treat this as a third (middle) column, of a much narrower width, or... something I haven't even thought of, yet, perhaps. Any solutions (perhaps a different \documentclass, or adding some other packages, or what have you) would be appreciated. (Especially if they can also get me a simpler page layout -- without the space for headings and such that I see thanks to showframe.) Perhaps something to create a minipage with absolute positioning on the page? Or to just position that one line of text? Anyway, something to a least treat the spine text as somehow separate, positioning-wise, from the rest. I've dug around on this site and various others, and tried a few things, but not yet found something that I've been able to figure out how to apply to the challenge at hand. Hopefully that can soon change. 🙂 Thanks!

  • Placing text at the end of the last line of center environment
    by mbert on August 3, 2026 at 11:04 pm

    I'm working on some code to improve amsthm's \qedhere in various list-type environments, e.g., center. I'm having trouble getting the placement right in the last line of the center environment. The default of amsthm is to insert an \hfill which causes the text on the last line to be placed flush left. Here's an example showing the effect of \hfill and amsthm's default behavior. \documentclass{article} \usepackage[nopar]{kantlipsum} \usepackage{amsthm} \begin{document} \begin{center} \kant[1][1-2] \hfill\qedsymbol % not good \end{center} \begin{center} \kant[1][1-2]% this doesn't work \makebox[0pt]{\mbox{}\hfill\qedsymbol} \end{center} \begin{proof} \begin{center} \kant[1][1-2] \qedhere % not good \end{center} \end{proof} \end{document} Is there a way to place the \qedsymbol at the end of the line without affecting the text in that line? My first idea was to use a zero-width box but I couldn't figure out the right combination of (possibly nested) \makeboxes. Ideally, if the last line did not have room for the \qedsymbol, it would be moved to the end of the following line. I'm hoping to do this without writing to the aux with \pdfsavepos (as in the linegoal package).