diff options
author | Karl Berry <karl@freefriends.org> | 2024-08-19 20:13:12 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-08-19 20:13:12 +0000 |
commit | a60b52efebdf3ec6d1bf03f5bee60ebb24b4cb84 (patch) | |
tree | 7dccadd71afa87b2075a772b825f8c062dcd0e46 | |
parent | 4250d68fd61e0ce9c46acd2c20de0c8d6cf87678 (diff) |
innerscript (19aug24)
git-svn-id: svn://tug.org/texlive/trunk@72066 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/lualatex/innerscript/README.txt | 12 | ||||
-rw-r--r-- | Master/texmf-dist/doc/lualatex/innerscript/innerscript_code.pdf | bin | 92448 -> 92824 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/lualatex/innerscript/innerscript_heading.tex | 12 | ||||
-rw-r--r-- | Master/texmf-dist/doc/lualatex/innerscript/innerscript_user_guide.pdf | bin | 113778 -> 114356 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/lualatex/innerscript/innerscript_user_guide.tex | 14 | ||||
-rw-r--r-- | Master/texmf-dist/source/lualatex/innerscript/innerscript_code.dtx | 56 | ||||
-rw-r--r-- | Master/texmf-dist/tex/lualatex/innerscript/innerscript.sty | 22 |
7 files changed, 59 insertions, 57 deletions
diff --git a/Master/texmf-dist/doc/lualatex/innerscript/README.txt b/Master/texmf-dist/doc/lualatex/innerscript/README.txt index 72c48e3e15b..0c42f529e01 100644 --- a/Master/texmf-dist/doc/lualatex/innerscript/README.txt +++ b/Master/texmf-dist/doc/lualatex/innerscript/README.txt @@ -1,11 +1,11 @@ - LaTeX Package innerscript v. 1.2 + LaTeX Package innerscript v. 1.3 Installation Guide/README Conrad Kosowsky -This file is README.txt from version 1.2 of the free and -open-source LaTeX package "innerscript," released November -2023, to be used with the LuaTeX engine. The innerscript +This file is README.txt from version 1.3 of the free and +open-source LaTeX package "innerscript," released January +2024, to be used with the LuaTeX engine. The innerscript package optionally modifies four aspects of TeX's automatic math formatting rules to improve typesetting. See the user guide for more information. See below for installation and @@ -55,7 +55,7 @@ produces the user guide in point (3) above. ********************************************************* -Copyright 2021,2023 by Conrad Kosowsky +Copyright 2021, 2023, 2024 Conrad Kosowsky This file may be distributed and modified under the terms of the LaTeX Public Project License, version 1.3c or any @@ -70,7 +70,7 @@ be reached at kosowsky.latex@gmail.com. The Work consists of the following items: (1) the base file: - innerscript.dtx + innerscript_code.dtx (2) the package file: innerscript.sty diff --git a/Master/texmf-dist/doc/lualatex/innerscript/innerscript_code.pdf b/Master/texmf-dist/doc/lualatex/innerscript/innerscript_code.pdf Binary files differindex f05e92dd31a..b08fa7cc67a 100644 --- a/Master/texmf-dist/doc/lualatex/innerscript/innerscript_code.pdf +++ b/Master/texmf-dist/doc/lualatex/innerscript/innerscript_code.pdf diff --git a/Master/texmf-dist/doc/lualatex/innerscript/innerscript_heading.tex b/Master/texmf-dist/doc/lualatex/innerscript/innerscript_heading.tex index f7bbaf86066..d4ba5fec46f 100644 --- a/Master/texmf-dist/doc/lualatex/innerscript/innerscript_heading.tex +++ b/Master/texmf-dist/doc/lualatex/innerscript/innerscript_heading.tex @@ -6,11 +6,11 @@ %% %% innerscript_code.dtx (with options: `heading') %% -%% This file is from version 1.2 of the free and open-source -%% LaTeX package "innerscript," released November 2023, to be +%% This file is from version 1.3 of the free and open-source +%% LaTeX package "innerscript," released August 2024, to be %% used with the LuaTeX engine. %% -%% Copyright 2021, 2023 by Conrad Kosowsky +%% Copyright 2021, 2023, 2024 Conrad Kosowsky %% %% This file may be distributed and modified under the terms %% of the LaTeX Public Project License, version 1.3c or any @@ -62,8 +62,8 @@ \csname count@\endcsname\catcode`\@ \makeatletter -\def\packageversion{1.2} -\def\packagedate{November 2023} +\def\packageversion{1.3} +\def\packagedate{August 2024} \MacroIndent=1.3em \def\scalemu#1#2{\muexpr#2#1 @@ -120,7 +120,7 @@ \leftskip=0pt plus 1 fil \rightskip=0pt plus 1fil \parfillskip=0pt -{\strut\Large Package \textsf{innerscript} v.\ 1.2 \documentname}\par +{\strut\Large Package \textsf{innerscript} v.\ \packageversion\ \documentname}\par \strut Conrad Kosowsky\par \strut \packagedate\par \strut\texttt{kosowsky.latex@gmail.com}\par} diff --git a/Master/texmf-dist/doc/lualatex/innerscript/innerscript_user_guide.pdf b/Master/texmf-dist/doc/lualatex/innerscript/innerscript_user_guide.pdf Binary files differindex 86ea58d4485..42cb8bceb83 100644 --- a/Master/texmf-dist/doc/lualatex/innerscript/innerscript_user_guide.pdf +++ b/Master/texmf-dist/doc/lualatex/innerscript/innerscript_user_guide.pdf diff --git a/Master/texmf-dist/doc/lualatex/innerscript/innerscript_user_guide.tex b/Master/texmf-dist/doc/lualatex/innerscript/innerscript_user_guide.tex index 679813d4738..1517742c29e 100644 --- a/Master/texmf-dist/doc/lualatex/innerscript/innerscript_user_guide.tex +++ b/Master/texmf-dist/doc/lualatex/innerscript/innerscript_user_guide.tex @@ -6,11 +6,11 @@ %% %% innerscript_code.dtx (with options: `user') %% -%% This file is from version 1.2 of the free and open-source -%% LaTeX package "innerscript," released November 2023, to be +%% This file is from version 1.3 of the free and open-source +%% LaTeX package "innerscript," released August 2024, to be %% used with the LuaTeX engine. %% -%% Copyright 2021, 2023 by Conrad Kosowsky +%% Copyright 2021, 2023, 2024 Conrad Kosowsky %% %% This file may be distributed and modified under the terms %% of the LaTeX Public Project License, version 1.3c or any @@ -143,7 +143,7 @@ Package Option & Meaning\\ \end{figure} \begin{figure}[t!] -\centerline{\bfseries\strut Table~3: Space Inserted by \textsf{innerscript}} +\centerline{\bfseries\strut Table~3: Space Inserted by \textsf{innerscript} bewteen Math-Mode Characters} \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lll}\toprule Consecutive Atom Types & Option |script| & Option |scriptscript|\\\midrule |\mathord||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\ @@ -183,7 +183,7 @@ Consecutive Atom Types & Option |script| & Option |scriptscript|\\\midrule \end{tabular*} \end{figure} -\iffalse % ignore +\iffalse %%% ignore %%% \begin{figure}[t!] \centerline{\bfseries\strut Table~4: Legacy Space Inserted by \textsf{innerscript}} \begin{tabularx}{\hsize}{p{2in}Xl}\toprule @@ -236,9 +236,9 @@ Skip Used in Current Version & For Option |script| & For Option |scriptscript|\\ \end{tabular*} \end{figure} -The |inner|, |close|, and |cover| options are straightforward, but the options |script| and |scriptscript| warrant more explanation. With its usual math formatting, \TeX\ adds small amounts of space between different math-mode characters depending on what types of symbols they represent, and \TeX's fine-tuned math spacing is part of what makes it a great program for typesetting equations.\footnote{\TeX\ classifies math symbols into eight categories: \vrb\mathord\ (ordinary), \vrb\mathop\ (big operator), \vrb\mathbin\ (binary operation), \vrb\mathrel\ (relation), \vrb\mathopen\ (opening delimiter), \vrb\mathclose\ (closing delimiter), \vrb\mathpunct\ (punctuation), and \vrb\mathinner\ (``inner'' subformula). As part of its definition, every math-mode character is assigned a math class.\vadjust{\bigskip} See Donald Knuth, \textit{The \TeX book} (Addison Wesley, 1986), 170; David Salomon, \textit{The Advanced \TeX book} (Springer, 1995), 256--258.} However, some spacing additions from inline and display math don't appear inside superscripts and subscripts. The |script| and |scriptscript| options address this situation by changing the space in superscripts and subscripts to scaled-down versions of the standard spacing rules.\footnote{Technically, \textsf{innerscript} scales down the standard spacing twice. The exact length of a \vrb\muskip\ register varries proportionally with the surrounding font size, so, for example, a \vrb\thinmuskip\ inside a superscript or subscript will be about two-thirds the size of a \vrb\thinmuskip\ in regular inline math. If \textsf{innerscript} always inserted the same amounts of muglue between math characters as with inline math, the spacing in superscripts and subscripts would be proportional to inline and display spacing. However, doing so produces math where the symbols appear too far apart, so \textsf{innerscript} scales the muglue by a factor of 0.6 in superscripts and subscripts and by a factor of 0.4 in second-order superscripts and subscripts.} Table~3 lists the spacing that \textsf{innerscript} adds under both options. +The |inner|, |close|, and |cover| options are straightforward, but the options |script| and |scriptscript| warrant more explanation. With its usual math formatting, \TeX\ adds small amounts of space between different math-mode characters depending on what types of symbols they represent, and \TeX's fine-tuned math spacing is part of what makes it a great program for typesetting equations.\footnote{\TeX\ classifies math symbols into eight categories: \vrb\mathord\ (ordinary), \vrb\mathop\ (big operator), \vrb\mathbin\ (binary operation), \vrb\mathrel\ (relation), \vrb\mathopen\ (opening delimiter), \vrb\mathclose\ (closing delimiter), \vrb\mathpunct\ (punctuation), and \vrb\mathinner\ (``inner'' subformula). As part of its definition, every math-mode character is assigned a math class. See Donald Knuth, \textit{The \TeX book} (Addison Wesley, 1986), 170; David Salomon, \textit{The Advanced \TeX book} (Springer, 1995), 256--258.} However, some spacing additions from inline and display math don't appear inside superscripts and subscripts. The |script| and |scriptscript| options address this situation by changing the space in superscripts and subscripts to scaled-down versions of the standard spacing rules.\footnote{Technically, \textsf{innerscript} scales down the standard spacing twice. The exact length of a \vrb\muskip\ register varries proportionally with the surrounding font size, so, for example, a \vrb\thinmuskip\ inside a superscript or subscript will be about two-thirds the size of a \vrb\thinmuskip\ in regular inline math. If \textsf{innerscript} always inserted the same amounts of muglue between math characters as with inline math, the spacing in superscripts and subscripts would be proportional to inline and display spacing. However, doing so produces math where the symbols appear too far apart, so \textsf{innerscript} scales the muglue by a factor of 0.6 in superscripts and subscripts and by a factor of 0.4 in second-order superscripts and subscripts.} Table~3 lists the spacing that \textsf{innerscript} adds under both options. -Finally, in version 1.2, I redesigned the extra space amounts in the |script| and |scriptscript| options, and for backwards compatibility, the |legacy-| options implement the old spacing. In legacy spacing, all space additions are multiples of |\thinmuskip|, and Table~4 lists the factors of |\thinmuskip| from version 1.1. The factors correspond to whether a given row of Table~3 uses |\thinmuskip|, |\medmuskip|, or |\thickmuskip|. For example, the current version of \textsf{innerscript} adds a multiple of |\thinmuskip| between an ordinary math symbol and a large operator, so under legacy spacing, \textsf{innerscript} inserts 0.6|\thinmuskip| in superscripts and subscripts and 0.4|\thinmuskip| in second-order superscripts and subscripts. I changed the package this way so that superscripts and subscripts will parallel inline and display spacing. Now if you set the value of |\thinmuskip|, |\medmuskip|, or |\thickmuskip| before loading \textsf{innerscript}, the adjustment will have the same effect in all parts of your equation. +Finally, in version 1.2, I redesigned the extra space amounts in the |script| and |scriptscript| options, and for backwards compatibility, the |legacy-| options implement the old spacing. In legacy spacing, all space additions are multiples of |\thinmuskip|, and Table~4 lists the factors of |\thinmuskip| from version 1.1. The factors correspond to whether a given row of Table~3 uses |\thinmuskip|, |\medmuskip|, or |\thickmuskip|. For example, the current version of \textsf{innerscript} adds a multiple of |\thinmuskip| between an ordinary math symbol and a large operator, so under legacy spacing, \textsf{innerscript} inserts 0.6|\thinmuskip| in superscripts and subscripts and 0.4|\thinmuskip| in second-order superscripts and subscripts. I changed the package this way so that superscripts and subscripts will parallel inline and display spacing. If you set the value of |\thinmuskip|, |\medmuskip|, or |\thickmuskip| before loading \textsf{innerscript}, the adjustment will have the same effect in all parts of your equation. Changing these three internal quantities after you load \textsf{innerscript} will have no effect on the default spacing between math-mode characters. \end{document} \endinput diff --git a/Master/texmf-dist/source/lualatex/innerscript/innerscript_code.dtx b/Master/texmf-dist/source/lualatex/innerscript/innerscript_code.dtx index 6c900172b69..196a2285141 100644 --- a/Master/texmf-dist/source/lualatex/innerscript/innerscript_code.dtx +++ b/Master/texmf-dist/source/lualatex/innerscript/innerscript_code.dtx @@ -1,9 +1,9 @@ % \iffalse ---!!! FIRST META-COMMENT !!!--- % % -% This file is innerscript_code.dtx from version 1.2 +% This file is innerscript_code.dtx from version 1.3 % of the free and open-source LaTeX package "innerscript," -% released November 2023, to be used with the LuaTeX engine. +% released August 2024, to be used with the LuaTeX engine. % % Running Plain TeX on innerscript_code.dtx will % produce the following files: @@ -37,11 +37,11 @@ % \iffalse ---!!! SECOND META-COMMENT !!!--- % % -% This file is from version 1.2 of the free and open-source -% LaTeX package "innerscript," released November 2023, to be +% This file is from version 1.3 of the free and open-source +% LaTeX package "innerscript," released August 2024, to be % used with the LuaTeX engine. % -% Copyright 2021, 2023 by Conrad Kosowsky +% Copyright 2021, 2023, 2024 Conrad Kosowsky % % This file may be distributed and modified under the terms % of the LaTeX Public Project License, version 1.3c or any @@ -122,11 +122,11 @@ \askforoverwritefalse \preamble -This file is from version 1.2 of the free and open-source -LaTeX package "innerscript," released November 2023, to be +This file is from version 1.3 of the free and open-source +LaTeX package "innerscript," released August 2024, to be used with the LuaTeX engine. -Copyright 2021, 2023 by Conrad Kosowsky +Copyright 2021, 2023, 2024 Conrad Kosowsky This file may be distributed and modified under the terms of the LaTeX Public Project License, version 1.3c or any @@ -249,7 +249,7 @@ Happy TeXing! % We begin the implementation by declaring the package. The counts |\IS@script| and |\IS@scriptscript| and the conditionals |\ifIS@inner|, |\ifIS@close|, and |\ifIS@cover| encode package option information. For the counts, a value of 0 means no changes, a value of 1 means default spacing, and a value of 2 means legacy spacing. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{innerscript}[2023/11/06 v. 1.2 Package innerscript] +\ProvidesPackage{innerscript}[2024/08/19 v. 1.3 Package innerscript] \newcount\IS@script \newcount\IS@scriptscript \newif\ifIS@inner @@ -284,7 +284,7 @@ Happy TeXing! % \begin{macrocode} \ifx\Umathordordspacing\@undefined \bgroup -\catcode`\+=12\relax +\catcode`\ =12\relax \def\IS@LuaTeXError{\GenericError{}% {\MessageBreak\MessageBreak Package innerscript error:% @@ -364,8 +364,8 @@ press return.}}% % \end{figure} % \begin{macrocode} \ifcase\IS@script % Case 0: No changes - \IS@info{No changes to space for \string\scriptstyle\space atoms.} - \IS@info{No changes to space for \string\crampedscriptstyle\space atoms.} + \IS@info{No space changes for \string\scriptstyle\space atoms.} + \IS@info{No space changes for \string\crampedscriptstyle\space atoms.} \or % Case 1: Default changes \IS@info{Adjusting space for \string\scriptstyle\space atoms.} \IS@info{Adjusting space for \string\crampedscriptstyle\space atoms.} @@ -575,8 +575,8 @@ press return.}}% % \end{figure} % \begin{macrocode} \ifcase\IS@scriptscript % Case 0: No changes - \IS@info{No changes to space for \string\scriptscriptstyle\space atoms.} - \IS@info{No changes to space for + \IS@info{No space changes for \string\scriptscriptstyle\space atoms.} + \IS@info{No space changes for \string\crampedscriptscriptstyle\space atoms.} \or % Case 1: Default changes \IS@info{Adjusting space for \string\scriptscriptstyle\space atoms.} @@ -788,7 +788,7 @@ press return.}}% % or the same with the \meta{atom} appearing after the |inner| or |ord|. The \meta{style} is one of the eight math style commands: |\displaystyle|, |\textstyle|, |\scriptstyle|, |\scriptscriptstyle|, and the cramped versions. Section~4 comes after Sections~2 and 3 because we make sure to capture all spacing changes in superscripts and subscripts. % \begin{macrocode} \ifIS@inner - \IS@info{Adjusting space for \string\mathinner\space subformulas.} + \IS@info{Adjusting space around \string\mathinner\space subformulas.} % \end{macrocode} % First, we handle the cases where the first subformula is not |\mathinner| and the second subformula is |\mathinner|. We start with |\displaystyle|. % \begin{macrocode} @@ -1111,7 +1111,7 @@ press return.}}% \IS@info{Adding space after closing delimiters.} \Umathcloseordspacing\displaystyle=\scalemu{\thinmuskip}{0.5} \Umathcloseordspacing\textstyle=\scalemu{\thinmuskip}{0.5} - \Umathcloseordspacing\crampedisplaystyle=\scalemu{\thinmuskip}{0.5} + \Umathcloseordspacing\crampeddisplaystyle=\scalemu{\thinmuskip}{0.5} \Umathcloseordspacing\crampedtextstyle=\scalemu{\thinmuskip}{0.5} \ifnum\IS@script>0 \Umathcloseordspacing\scriptstyle=\scalemu{\thinmuskip}{0.3} @@ -1130,7 +1130,7 @@ press return.}}% % % \section{Delimiter Heights} % -% Finally, filling out the delimiter heights is easy. We simply set |\delimiterfactor| to 1000. +% Finally, filling out the delimiter heights is easy. We set |\delimiterfactor| to 1000. % \begin{macrocode} \ifIS@cover \IS@info{Setting delimiters to full height.} @@ -1144,7 +1144,8 @@ press return.}}% % \vfil\eject % \section*{Version History} % \begin{multicols*}{2} -% \bgroup\raggedright\parskip\z@\parindent\z@\leftskip1em\obeylines +% +% \raggedright\parskip\z@\parindent\z@\leftskip1em\obeylines % \setbox0\hbox{\hskip 1pt.\hskip 1pt} % \def\version#1#2{\bigskip\hbox to \hsize{\textbf{#1} \cleaders\copy0\hfill\ #2}\par} % \def\item{---\kern0.2ex\relax} @@ -1163,7 +1164,9 @@ press return.}}% % \item added option |cover| % \item separated implementation and user guide % -% \egroup +% \version{1.3}{August 2024} +% \item bug fix involving |\cramedisplaystyle| typo +% % \end{multicols*} % % @@ -1266,7 +1269,7 @@ Package Option & Meaning\\ \begin{figure}[t!] -\centerline{\bfseries\strut Table~3: Space Inserted by \textsf{innerscript}} +\centerline{\bfseries\strut Table~3: Space Inserted by \textsf{innerscript} bewteen Math-Mode Characters} \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lll}\toprule Consecutive Atom Types & Option |script| & Option |scriptscript|\\\midrule |\mathord||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\ @@ -1306,7 +1309,7 @@ Consecutive Atom Types & Option |script| & Option |scriptscript|\\\midrule \end{tabular*} \end{figure} -\iffalse % ignore +\iffalse %%% ignore %%% \begin{figure}[t!] \centerline{\bfseries\strut Table~4: Legacy Space Inserted by \textsf{innerscript}} \begin{tabularx}{\hsize}{p{2in}Xl}\toprule @@ -1365,10 +1368,9 @@ Skip Used in Current Version & For Option |script| & For Option |scriptscript|\\ -The |inner|, |close|, and |cover| options are straightforward, but the options |script| and |scriptscript| warrant more explanation. With its usual math formatting, \TeX\ adds small amounts of space between different math-mode characters depending on what types of symbols they represent, and \TeX's fine-tuned math spacing is part of what makes it a great program for typesetting equations.\footnote{\TeX\ classifies math symbols into eight categories: \vrb\mathord\ (ordinary), \vrb\mathop\ (big operator), \vrb\mathbin\ (binary operation), \vrb\mathrel\ (relation), \vrb\mathopen\ (opening delimiter), \vrb\mathclose\ (closing delimiter), \vrb\mathpunct\ (punctuation), and \vrb\mathinner\ (``inner'' subformula). As part of its definition, every math-mode character is assigned a math class.\vadjust{\bigskip} See Donald Knuth, \textit{The \TeX book} (Addison Wesley, 1986), 170; David Salomon, \textit{The Advanced \TeX book} (Springer, 1995), 256--258.} However, some spacing additions from inline and display math don't appear inside superscripts and subscripts. The |script| and |scriptscript| options address this situation by changing the space in superscripts and subscripts to scaled-down versions of the standard spacing rules.\footnote{Technically, \textsf{innerscript} scales down the standard spacing twice. The exact length of a \vrb\muskip\ register varries proportionally with the surrounding font size, so, for example, a \vrb\thinmuskip\ inside a superscript or subscript will be about two-thirds the size of a \vrb\thinmuskip\ in regular inline math. If \textsf{innerscript} always inserted the same amounts of muglue between math characters as with inline math, the spacing in superscripts and subscripts would be proportional to inline and display spacing. However, doing so produces math where the symbols appear too far apart, so \textsf{innerscript} scales the muglue by a factor of 0.6 in superscripts and subscripts and by a factor of 0.4 in second-order superscripts and subscripts.} Table~3 lists the spacing that \textsf{innerscript} adds under both options. - -Finally, in version 1.2, I redesigned the extra space amounts in the |script| and |scriptscript| options, and for backwards compatibility, the |legacy-| options implement the old spacing. In legacy spacing, all space additions are multiples of |\thinmuskip|, and Table~4 lists the factors of |\thinmuskip| from version 1.1. The factors correspond to whether a given row of Table~3 uses |\thinmuskip|, |\medmuskip|, or |\thickmuskip|. For example, the current version of \textsf{innerscript} adds a multiple of |\thinmuskip| between an ordinary math symbol and a large operator, so under legacy spacing, \textsf{innerscript} inserts 0.6|\thinmuskip| in superscripts and subscripts and 0.4|\thinmuskip| in second-order superscripts and subscripts. I changed the package this way so that superscripts and subscripts will parallel inline and display spacing. Now if you set the value of |\thinmuskip|, |\medmuskip|, or |\thickmuskip| before loading \textsf{innerscript}, the adjustment will have the same effect in all parts of your equation. +The |inner|, |close|, and |cover| options are straightforward, but the options |script| and |scriptscript| warrant more explanation. With its usual math formatting, \TeX\ adds small amounts of space between different math-mode characters depending on what types of symbols they represent, and \TeX's fine-tuned math spacing is part of what makes it a great program for typesetting equations.\footnote{\TeX\ classifies math symbols into eight categories: \vrb\mathord\ (ordinary), \vrb\mathop\ (big operator), \vrb\mathbin\ (binary operation), \vrb\mathrel\ (relation), \vrb\mathopen\ (opening delimiter), \vrb\mathclose\ (closing delimiter), \vrb\mathpunct\ (punctuation), and \vrb\mathinner\ (``inner'' subformula). As part of its definition, every math-mode character is assigned a math class. See Donald Knuth, \textit{The \TeX book} (Addison Wesley, 1986), 170; David Salomon, \textit{The Advanced \TeX book} (Springer, 1995), 256--258.} However, some spacing additions from inline and display math don't appear inside superscripts and subscripts. The |script| and |scriptscript| options address this situation by changing the space in superscripts and subscripts to scaled-down versions of the standard spacing rules.\footnote{Technically, \textsf{innerscript} scales down the standard spacing twice. The exact length of a \vrb\muskip\ register varries proportionally with the surrounding font size, so, for example, a \vrb\thinmuskip\ inside a superscript or subscript will be about two-thirds the size of a \vrb\thinmuskip\ in regular inline math. If \textsf{innerscript} always inserted the same amounts of muglue between math characters as with inline math, the spacing in superscripts and subscripts would be proportional to inline and display spacing. However, doing so produces math where the symbols appear too far apart, so \textsf{innerscript} scales the muglue by a factor of 0.6 in superscripts and subscripts and by a factor of 0.4 in second-order superscripts and subscripts.} Table~3 lists the spacing that \textsf{innerscript} adds under both options. +Finally, in version 1.2, I redesigned the extra space amounts in the |script| and |scriptscript| options, and for backwards compatibility, the |legacy-| options implement the old spacing. In legacy spacing, all space additions are multiples of |\thinmuskip|, and Table~4 lists the factors of |\thinmuskip| from version 1.1. The factors correspond to whether a given row of Table~3 uses |\thinmuskip|, |\medmuskip|, or |\thickmuskip|. For example, the current version of \textsf{innerscript} adds a multiple of |\thinmuskip| between an ordinary math symbol and a large operator, so under legacy spacing, \textsf{innerscript} inserts 0.6|\thinmuskip| in superscripts and subscripts and 0.4|\thinmuskip| in second-order superscripts and subscripts. I changed the package this way so that superscripts and subscripts will parallel inline and display spacing. If you set the value of |\thinmuskip|, |\medmuskip|, or |\thickmuskip| before loading \textsf{innerscript}, the adjustment will have the same effect in all parts of your equation. Changing these three internal quantities after you load \textsf{innerscript} will have no effect on the default spacing between math-mode characters. @@ -1382,8 +1384,8 @@ Finally, in version 1.2, I redesigned the extra space amounts in the |script| an \makeatletter % identifying macros -\def\packageversion{1.2} -\def\packagedate{November 2023} +\def\packageversion{1.3} +\def\packagedate{August 2024} % general macros \MacroIndent=1.3em @@ -1449,7 +1451,7 @@ Finally, in version 1.2, I redesigned the extra space amounts in the |script| an \leftskip=0pt plus 1 fil \rightskip=0pt plus 1fil \parfillskip=0pt -{\strut\Large Package \textsf{innerscript} v.\ 1.2 \documentname}\par +{\strut\Large Package \textsf{innerscript} v.\ \packageversion\ \documentname}\par \strut Conrad Kosowsky\par \strut \packagedate\par \strut\texttt{kosowsky.latex@gmail.com}\par} diff --git a/Master/texmf-dist/tex/lualatex/innerscript/innerscript.sty b/Master/texmf-dist/tex/lualatex/innerscript/innerscript.sty index 73fb921c9df..558d310e778 100644 --- a/Master/texmf-dist/tex/lualatex/innerscript/innerscript.sty +++ b/Master/texmf-dist/tex/lualatex/innerscript/innerscript.sty @@ -6,11 +6,11 @@ %% %% innerscript_code.dtx (with options: `package') %% -%% This file is from version 1.2 of the free and open-source -%% LaTeX package "innerscript," released November 2023, to be +%% This file is from version 1.3 of the free and open-source +%% LaTeX package "innerscript," released August 2024, to be %% used with the LuaTeX engine. %% -%% Copyright 2021, 2023 by Conrad Kosowsky +%% Copyright 2021, 2023, 2024 Conrad Kosowsky %% %% This file may be distributed and modified under the terms %% of the LaTeX Public Project License, version 1.3c or any @@ -59,7 +59,7 @@ %% Happy TeXing! %% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{innerscript}[2023/11/06 v. 1.2 Package innerscript] +\ProvidesPackage{innerscript}[2024/08/19 v. 1.3 Package innerscript] \newcount\IS@script \newcount\IS@scriptscript \newif\ifIS@inner @@ -85,7 +85,7 @@ \ProcessOptions* \ifx\Umathordordspacing\@undefined \bgroup -\catcode`\+=12\relax +\catcode`\ =12\relax \def\IS@LuaTeXError{\GenericError{}% {\MessageBreak\MessageBreak Package innerscript error:% @@ -113,8 +113,8 @@ press return.}}% \@plus\muexpr#2\gluetomu\gluestretch\mutoglue#1\relax \@minus\muexpr#2\gluetomu\glueshrink\mutoglue#1\relax\relax} \ifcase\IS@script % Case 0: No changes - \IS@info{No changes to space for \string\scriptstyle\space atoms.} - \IS@info{No changes to space for \string\crampedscriptstyle\space atoms.} + \IS@info{No space changes for \string\scriptstyle\space atoms.} + \IS@info{No space changes for \string\crampedscriptstyle\space atoms.} \or % Case 1: Default changes \IS@info{Adjusting space for \string\scriptstyle\space atoms.} \IS@info{Adjusting space for \string\crampedscriptstyle\space atoms.} @@ -263,8 +263,8 @@ press return.}}% \Umathinnerinnerspacing\crampedscriptstyle=0.6\thinmuskip \fi \ifcase\IS@scriptscript % Case 0: No changes - \IS@info{No changes to space for \string\scriptscriptstyle\space atoms.} - \IS@info{No changes to space for + \IS@info{No space changes for \string\scriptscriptstyle\space atoms.} + \IS@info{No space changes for \string\crampedscriptscriptstyle\space atoms.} \or % Case 1: Default changes \IS@info{Adjusting space for \string\scriptscriptstyle\space atoms.} @@ -450,7 +450,7 @@ press return.}}% \Umathinnerinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip \fi \ifIS@inner - \IS@info{Adjusting space for \string\mathinner\space subformulas.} + \IS@info{Adjusting space around \string\mathinner\space subformulas.} % \displaystyle \Umathordinnerspacing\displaystyle= \the\Umathordordspacing\displaystyle\relax @@ -715,7 +715,7 @@ press return.}}% \IS@info{Adding space after closing delimiters.} \Umathcloseordspacing\displaystyle=\scalemu{\thinmuskip}{0.5} \Umathcloseordspacing\textstyle=\scalemu{\thinmuskip}{0.5} - \Umathcloseordspacing\crampedisplaystyle=\scalemu{\thinmuskip}{0.5} + \Umathcloseordspacing\crampeddisplaystyle=\scalemu{\thinmuskip}{0.5} \Umathcloseordspacing\crampedtextstyle=\scalemu{\thinmuskip}{0.5} \ifnum\IS@script>0 \Umathcloseordspacing\scriptstyle=\scalemu{\thinmuskip}{0.3} |