texlive[74878] Master/texmf-dist: innerscript (8apr25)
commits+karl at tug.org
commits+karl at tug.org
Tue Apr 8 22:11:39 CEST 2025
Revision: 74878
https://tug.org/svn/texlive?view=revision&revision=74878
Author: karl
Date: 2025-04-08 22:11:39 +0200 (Tue, 08 Apr 2025)
Log Message:
-----------
innerscript (8apr25)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/lualatex/innerscript/README.txt
trunk/Master/texmf-dist/tex/lualatex/innerscript/innerscript.sty
Added Paths:
-----------
trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-code.pdf
trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-heading.tex
trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-user-guide.pdf
trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-user-guide.tex
trunk/Master/texmf-dist/source/lualatex/innerscript/innerscript-code.dtx
Removed Paths:
-------------
trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript_code.pdf
trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript_heading.tex
trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript_user_guide.pdf
trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript_user_guide.tex
trunk/Master/texmf-dist/source/lualatex/innerscript/innerscript_code.dtx
Modified: trunk/Master/texmf-dist/doc/lualatex/innerscript/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/innerscript/README.txt 2025-04-08 20:11:20 UTC (rev 74877)
+++ trunk/Master/texmf-dist/doc/lualatex/innerscript/README.txt 2025-04-08 20:11:39 UTC (rev 74878)
@@ -1,11 +1,11 @@
- LaTeX Package innerscript v. 1.3
+ LaTeX Package innerscript v. 1.4
Installation Guide/README
Conrad Kosowsky
-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
+This file is README.txt from version 1.4 of the free and
+open-source LaTeX package "innerscript," released April
+2025, 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
@@ -13,21 +13,21 @@
*********************************************************
-To install innerscript automatically, update your TeXLive or
-MacTeX distribution or use a package manager such as tlmgr.
+To install innerscript automatically, update your TeX
+distribution or use a package manager such as tlmgr.
To install innerscript manually requires two steps as follows.
Step 1: You need to generate the package file innerscript.sty
-from innerscript_code.dtx. You can do this in two ways:
+from innerscript-code.dtx. You can do this in two ways:
- (1) Running Plain TeX on innerscript_code.dtx will create
+ (1) Running Plain TeX on innerscript-code.dtx will create
innerscript.sty as well as several other tex files that
can be used for typesetting documentation.
- (2) Running LaTeX on innerscript_code.dtx will produce the
+ (2) Running LaTeX on innerscript-code.dtx will produce the
files listed in point (1) including innerscript.sty as
- well as innerscript_code.pdf, which documents the
+ well as innerscript-code.pdf, which documents the
package code.
Step 2: Once you have created innerscript.sty, you should
@@ -40,22 +40,22 @@
Besides this README, the installation contains the following
items:
- (1) innerscript_code.dtx: the main file. See above for
+ (1) innerscript-code.dtx: the main file. See above for
instructions to generate innerscript.sty from this
file and complete the installation.
- (2) innerscript_code.pdf: documentation of the package
+ (2) innerscript-code.pdf: documentation of the package
code.
- (3) innerscript_user_guide.pdf: a user guide.
+ (3) innerscript-user-guide.pdf: a user guide.
-Typesetting innerscript_code.dtx will create
-innerscript_user_guide.tex, which is the tex file that
+Typesetting innerscript-code.dtx will create
+innerscript-user-guide.tex, which is the tex file that
produces the user guide in point (3) above.
*********************************************************
-Copyright 2021, 2023, 2024 Conrad Kosowsky
+Copyright 2021, 2023-2025 Conrad Kosowsky
This file may be distributed and modified under the terms
of the LaTeX Public Project License, version 1.3c or any
@@ -70,18 +70,18 @@
of the following items:
(1) the base file:
- innerscript_code.dtx
+ innerscript-code.dtx
(2) the package file:
innerscript.sty
(3) the pdf documentation files:
- innerscript_code.pdf
- innerscript_user_guide.pdf
+ innerscript-code.pdf
+ innerscript-user-guide.pdf
(4) the derived files:
- innerscript_user_guide.tex
- innerscript_heading.tex
+ innerscript-user-guide.tex
+ innerscript-heading.tex
(5) all other files created through the configuration
process
@@ -125,4 +125,4 @@
*********************************************************
-For more information, see innerscript_code.dtx. Happy TeXing!
+For more information, see innerscript-code.dtx. Happy TeXing!
Added: trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-code.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-code.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-code.pdf 2025-04-08 20:11:20 UTC (rev 74877)
+++ trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-code.pdf 2025-04-08 20:11:39 UTC (rev 74878)
Property changes on: trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-code.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-heading.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-heading.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-heading.tex 2025-04-08 20:11:39 UTC (rev 74878)
@@ -0,0 +1,156 @@
+%%
+%% This is file `innerscript-heading.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% innerscript-code.dtx (with options: `heading')
+%%
+%% This file is from version 1.4 of the free and open-source
+%% LaTeX package "innerscript," released April 2025, to be
+%% used with the LuaTeX engine.
+%%
+%% Copyright 2021, 2023-2025 Conrad Kosowsky
+%%
+%% This file may be distributed and modified under the terms
+%% of the LaTeX Public Project License, version 1.3c or any
+%% later version. The most recent version of this license is
+%% available online at
+%%
+%% https://www.latex-project.org/lppl/
+%%
+%% This work has the LPPL status "maintained," and the current
+%% maintainer is the package author, Conrad Kosowsky. He can
+%% be reached at kosowsky.latex at gmail.com.
+%%
+%% PLEASE KNOW THAT THIS FREE SOFTWARE IS PROVIDED WITHOUT
+%% ANY WARRANTY. SPECIFICALLY, THE "NO WARRANTY" SECTION OF
+%% THE LATEX PROJECT PUBLIC LICENSE STATES THE FOLLOWING:
+%%
+%% THERE IS NO WARRANTY FOR THE WORK. EXCEPT WHEN OTHERWISE
+%% STATED IN WRITING, THE COPYRIGHT HOLDER PROVIDES THE WORK
+%% `AS IS’, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+%% OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+%% WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+%% PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
+%% OF THE WORK IS WITH YOU. SHOULD THE WORK PROVE DEFECTIVE,
+%% YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR
+%% CORRECTION.
+%%
+%% IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED
+%% TO IN WRITING WILL THE COPYRIGHT HOLDER, OR ANY AUTHOR
+%% NAMED IN THE COMPONENTS OF THE WORK, OR ANY OTHER PARTY
+%% WHO MAY DISTRIBUTE AND/OR MODIFY THE WORK AS PERMITTED
+%% ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
+%% SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT
+%% OF ANY USE OF THE WORK OR OUT OF INABILITY TO USE THE WORK
+%% (INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA, DATA BEING
+%% RENDERED INACCURATE, OR LOSSES SUSTAINED BY ANYONE AS A
+%% RESULT OF ANY FAILURE OF THE WORK TO OPERATE WITH ANY
+%% OTHER PROGRAMS), EVEN IF THE COPYRIGHT HOLDER OR SAID
+%% AUTHOR OR SAID OTHER PARTY HAS BEEN ADVISED OF THE
+%% POSSIBILITY OF SUCH DAMAGES.
+%%
+%% For more information, see the LaTeX Project Public License.
+%% Derivative works based on this software may come with their
+%% own license or terms of use, and the package author is not
+%% responsible for any third-party software.
+%%
+%% Happy TeXing!
+%%
+
+\csname count@\endcsname\catcode`\@
+\makeatletter
+
+\def\packageversion{1.4}
+\def\packagedate{April 2025}
+
+\MacroIndent=1.3em
+\def\scalemu#1#2{\muexpr#2#1
+ \@plus\muexpr#2\gluetomu\gluestretch\mutoglue#1\relax
+ \@minus\muexpr#2\gluetomu\glueshrink\mutoglue#1\relax\relax}
+\baselineskip=\the\baselineskip plus 0.3pt minus 0.3pt\relax
+
+\let\@@section\section
+\def\section{\@ifstar\star at sect\no at star@sect}
+\def\star at sect#1{\sectionhook{#1}\@@section*{#1}}
+\def\no at star@sect#1{\sectionhook{#1}\@@section{#1}}
+
+\def\sectionhook#1{%
+ \vskip 1in\relax
+ \kern\z@
+ \vskip -1in\relax
+ \kern\z@
+ \vskip\z@
+ \def\sectionname{#1}}
+
+\def\@oddhead{%
+ \ifnum\count0>1\relax
+ \ifodd\c at page
+ \rlap{\textit{\sectionname}}\hfil
+ \hbox to 0pt{\hss\documentname\hss}\hfil
+ \llap{\the\count0}%
+ \else
+ \rlap{\the\count0}\hfil
+ \hbox to 0pt{\hss\documentname\hss}\hfil
+ \llap{\textit{\sectionname}}%
+ \fi
+ \fi}
+\def\@oddfoot{\hfil\ifnum\count0=1\relax1\fi\hfil}
+
+\pretolerance=-1
+\hyphenpenalty=20
+\exhyphenpenalty=15
+\brokenpenalty=0
+\clubpenalty=0
+\widowpenalty=0
+\finalhyphendemerits=500
+\doublehyphendemerits=2000
+
+\def\argtext#1{\ensuremath{\langle$\textit{#1}$\rangle}}
+\def\vrb#1{\expandafter\texttt\expandafter{\string#1}}
+\def\clap at math#1{\hb at xt@\z@{\hss$\displaystyle#1$\hss}}
+
+{\large
+\parindent=0pt
+\leftskip=0pt plus 1 fil
+\rightskip=0pt plus 1fil
+\parfillskip=0pt
+{\strut\Large Package \textsf{innerscript} v.\ \packageversion\ \documentname\par}
+\strut Conrad Kosowsky\par
+\strut \packagedate\par
+\strut\texttt{kosowsky.latex at gmail.com}\par}
+
+{\let\thefootnote\relax\footnotetext{Acknowledgements: Thanks to Sheldon Axler and Clea F. Rees for pointing a bug in a previous version of \textsf{innerscript}.}}
+
+\bigskip
+
+\hrule height \p@
+\@@line{\vrule width \p@\kern-\p@
+ \vbox{\medskip
+ \leftskip=8em\relax\rightskip=8em\relax
+ \noindent\strut For easy, off-the-shelf use, type the following
+ in your document preamble and compile using Lua\LaTeX:
+ \vskip\medskipamount
+ \noindent\hfil\strut|\usepackage{innerscript}|\hfil
+ \vskip\medskipamount}\relax
+ \kern-\p@\vrule width \p@}
+\hrule height \p@
+
+\bigskip
+
+{\small
+\leftskip=0.5in
+\rightskip=0.5in
+\centerline{\bfseries Overview\strut}
+\noindent The \textsf{innerscript} package optionally modifies four aspects of \TeX's automatic math formatting to improve typesetting: (1) it adds extra space around relation and operation symbols in superscripts and subscripts; (2) it removes extra space around |\left|-|\right| delimiter pairs; (3) it adds extra space after right delimiters in certain situations; and (4) it forces |\left| and |\right| delimiters to completely cover their contents. Using Lua\LaTeX\ is required.\par}
+
+\bigskip\bigskip\nointerlineskip
+\centerline{\vrule height 0.5pt width 2.5in}\bigskip\bigskip
+\nointerlineskip
+
+\catcode`\@\count@
+
+\endinput
+%%
+%% End of file `innerscript-heading.tex'.
Property changes on: trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-heading.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-user-guide.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-user-guide.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-user-guide.pdf 2025-04-08 20:11:20 UTC (rev 74877)
+++ trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-user-guide.pdf 2025-04-08 20:11:39 UTC (rev 74878)
Property changes on: trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-user-guide.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-user-guide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-user-guide.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-user-guide.tex 2025-04-08 20:11:39 UTC (rev 74878)
@@ -0,0 +1,209 @@
+%%
+%% This is file `innerscript-user-guide.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% innerscript-code.dtx (with options: `user')
+%%
+%% This file is from version 1.4 of the free and open-source
+%% LaTeX package "innerscript," released April 2025, to be
+%% used with the LuaTeX engine.
+%%
+%% Copyright 2021, 2023-2025 Conrad Kosowsky
+%%
+%% This file may be distributed and modified under the terms
+%% of the LaTeX Public Project License, version 1.3c or any
+%% later version. The most recent version of this license is
+%% available online at
+%%
+%% https://www.latex-project.org/lppl/
+%%
+%% This work has the LPPL status "maintained," and the current
+%% maintainer is the package author, Conrad Kosowsky. He can
+%% be reached at kosowsky.latex at gmail.com.
+%%
+%% PLEASE KNOW THAT THIS FREE SOFTWARE IS PROVIDED WITHOUT
+%% ANY WARRANTY. SPECIFICALLY, THE "NO WARRANTY" SECTION OF
+%% THE LATEX PROJECT PUBLIC LICENSE STATES THE FOLLOWING:
+%%
+%% THERE IS NO WARRANTY FOR THE WORK. EXCEPT WHEN OTHERWISE
+%% STATED IN WRITING, THE COPYRIGHT HOLDER PROVIDES THE WORK
+%% `AS IS’, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+%% OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+%% WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+%% PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
+%% OF THE WORK IS WITH YOU. SHOULD THE WORK PROVE DEFECTIVE,
+%% YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR
+%% CORRECTION.
+%%
+%% IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED
+%% TO IN WRITING WILL THE COPYRIGHT HOLDER, OR ANY AUTHOR
+%% NAMED IN THE COMPONENTS OF THE WORK, OR ANY OTHER PARTY
+%% WHO MAY DISTRIBUTE AND/OR MODIFY THE WORK AS PERMITTED
+%% ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
+%% SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT
+%% OF ANY USE OF THE WORK OR OUT OF INABILITY TO USE THE WORK
+%% (INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA, DATA BEING
+%% RENDERED INACCURATE, OR LOSSES SUSTAINED BY ANYONE AS A
+%% RESULT OF ANY FAILURE OF THE WORK TO OPERATE WITH ANY
+%% OTHER PROGRAMS), EVEN IF THE COPYRIGHT HOLDER OR SAID
+%% AUTHOR OR SAID OTHER PARTY HAS BEEN ADVISED OF THE
+%% POSSIBILITY OF SUCH DAMAGES.
+%%
+%% For more information, see the LaTeX Project Public License.
+%% Derivative works based on this software may come with their
+%% own license or terms of use, and the package author is not
+%% responsible for any third-party software.
+%%
+%% Happy TeXing!
+%%
+\makeatletter
+\documentclass[12pt]{article}
+\usepackage[margin=72.27pt]{geometry}
+\usepackage[factor=700,stretch=14,shrink=14,step=1]{microtype}
+\usepackage{booktabs}
+\usepackage{tabularx}
+\usepackage{amsmath}
+\usepackage{doc}[=v2]
+\MakeShortVerb{|}
+\interfootnotelinepenalty=0
+
+\newbox\fracbox
+\setbox\fracbox\hbox{$\displaystyle\left(\frac x2\right)$}
+
+\c at topnumber=1
+\def\floatpagefraction{0}
+
+\begin{document}
+
+\def\documentname{User Guide}
+\input innerscript-heading.tex
+
+\def\@oddhead{\ifnum\c at page>\@ne
+ \ifodd\c at page
+ \hfil\the\c at page
+ \else
+ \the\c at page\hfil
+ \fi\fi}
+
+\noindent For several years before the first release of \textsf{innerscript}, I wondered whether it was possible to adjust two features of \TeX's automatic mathematics spacing, namely adding more space in superscripts and subscripts and removing the extra space around |\left|-|\right| delimiter pairs. Lua\TeX's extra math-mode primitives make these changes possible, and \textsf{innerscript} grew out of my desire to implement them in my documents. For example, compare the next two lines:
+\begin{flalign}
+&&\sum_{i=1}^n{}&x_i^{1+a}
+ &f(x)&=g\left(\frac1x\right)
+ &x(t)&y(t)
+ &\hskip0.5\wd\fracbox &\clap at math{\left(\frac{x}2\right)}
+ \hskip0.5\wd\fracbox
+ &&\\
+&&\sum_{i\mskip\scalemu{\thickmuskip}{0.6}=
+ \mskip\scalemu{\thickmuskip}{0.6}1}^n
+ {}&x_i^{1\mskip\scalemu{\medmuskip}{0.6}+
+ \mskip\scalemu{\medmuskip}{0.6} a}
+ &f(x)&=g{\left(\frac1x\right)}
+ &x(t)\mskip\scalemu{\thinmuskip}{0.25}&\mskip\scalemu{\thinmuskip}{0.25}y(t)
+ &\hskip0.5\wd\fracbox & \clap at math{\left(\frac{\vphantom{1}x}2\right)}
+ \hskip0.5\wd\fracbox
+ &&
+\end{flalign}
+Equation~(1) uses traditional \TeX\ formatting, and equation~(2) incorporates the small tweaks characteristic of \textsf{innerscript}. If you like equation~(2) more than equation~(1), then \textsf{innerscript} is the package for you! This file explains how to load \textsf{innerscript} and enable whichever adjustments you want to use. For version history and documentation of the code, see |innerscript-code.pdf|, which is included with the package installation and is available on \textsc{ctan}.
+
+\begin{figure}[p]
+\vbox to \vsize{
+
+\centerline{\large\bfseries Options and Behavior of \textsf{innerscript}}
+
+\bigskip
+\nointerlineskip\centerline{\vrule height 0.5pt width 2in}
+\medskip
+
+\centerline{\strut\bfseries Table~1: Package Behavior Shown in Equation (2)}
+\begin{tabular*}\textwidth{@{\extracolsep{\fill}}lllll}\toprule
+Part of equation (2) & Summation & Functions & Product & Fraction\\\midrule
+Option shown & |script| & |inner| & |close| & |cover|\\\bottomrule
+\end{tabular*}
+
+\vfil
+
+\centerline{\strut\bfseries Table~2: Package Options for \textsf{innerscript}}
+\begin{tabular*}\hsize{@{\extracolsep{\fill}}l>{\raggedright\arraybackslash}l}
+\toprule
+Package Option & Meaning\\
+\midrule
+|script| & Change |\scriptstyle| (and cramped style) spacing\\
+|scriptscript| & Change |\scriptscriptstyle| (and cramped style) spacing\\
+|inner| & Use |\mathord| spacing for |\mathinner| subformulas\\
+|close| & Extra space between \vrb\mathclose\vrb\mathord\ pairs\\
+|cover| & Resizable delimiters (i.e.\ |\left| and |\right|) fully cover contents\\\midrule
+|no-script| & No changes to |\scriptstyle| spacing\\
+|no-scriptscript| & No changes to |\scriptscriptstyle| spacing\\
+|no-inner| & No changes to treatment of |\mathinner| subformulas\\
+|no-close| & No changes to |\mathclose| atoms\\
+|no-cover| & No changes to resizable delimiters\\
+\bottomrule
+\end{tabular*}
+
+\vfil
+
+\centerline{\bfseries\strut Table 3: Usual Space Inserted by \TeX\ between Atoms}
+\begin{tabularx}{\textwidth}{Xp{1.1in}Xp{1.1in}}\toprule
+Consecutive Atom Types & Space Added & Consecutive Atom Types & Space Added\\\midrule
+\end{tabularx}
+\hb at xt@\hsize{\hss\bgroup
+\aboverulesep=0.7ex\relax
+\belowrulesep=0.7ex\relax
+\def\arraystretch{1.06}
+\begin{tabularx}{0.495\textwidth}{Xp{1.1in}}
+|\mathord||\mathop| & |\thinmuskip| \\
+|\mathord||\mathbin| & |\medmuskip| \\
+|\mathord||\mathrel| & |\thickmuskip| \\
+|\mathord||\mathinner| & |\thinmuskip| \\\midrule
+|\mathop||\mathord| & |\thinmuskip| \\
+|\mathop||\mathop| & |\thinmuskip| \\
+|\mathop||\mathrel| & |\thickmuskip| \\
+|\mathop||\mathinner| & |\thickmuskip| \\\midrule
+|\mathbin||\mathord| & |\medmuskip| \\
+|\mathbin||\mathop| & |\medmuskip| \\
+|\mathbin||\mathopen| & |\medmuskip| \\
+|\mathbin||\mathinner| & |\medmuskip| \\\midrule
+|\mathrel||\mathord| & |\thickmuskip| \\
+|\mathrel||\mathop| & |\thickmuskip| \\
+|\mathrel||\mathopen| & |\thickmuskip| \\
+|\mathrel||\mathinner| & |\thickmuskip| \\
+\end{tabularx}\egroup
+\hskip 0.01\textwidth
+\begin{tabularx}{0.495\textwidth}{Xp{1.1in}}
+|\mathclose||\mathop| & |\thinmuskip| \\
+|\mathclose||\mathbin| & |\medmuskip| \\
+|\mathclose||\mathrel| & |\thickmuskip| \\
+|\mathclose||\mathinner| & |\thinmuskip| \\\midrule
+|\mathpunct||\mathord| & |\thinmuskip| \\
+|\mathpunct||\mathop| & |\thinmuskip| \\
+|\mathpunct||\mathrel| & |\thinmuskip| \\
+|\mathpunct||\mathopen| & |\thinmuskip| \\
+|\mathpunct||\mathclose| & |\thinmuskip| \\
+|\mathpunct||\mathpunct| & |\thinmuskip| \\
+|\mathpunct||\mathinner| & |\thinmuskip| \\\midrule
+|\mathinner||\mathord| & |\thinmuskip| \\
+|\mathinner||\mathop| & |\thinmuskip| \\
+|\mathinner||\mathbin| & |\medmuskip| \\
+|\mathinner||\mathrel| & |\thickmuskip| \\
+|\mathinner||\mathopen| & |\thinmuskip| \\
+|\mathinner||\mathpunct| & |\thinmuskip| \\
+|\mathinner||\mathinner| & |\thinmuskip| \\
+\end{tabularx}}
+\vskip\aboverulesep
+\hrule height \heavyrulewidth}
+\end{figure}
+
+Table~1 explains which parts of equation~(2) show different aspects of \textsf{innerscript}'s behavior. At far left, the subscript under the summation symbol and the superscript of $x_i$ have small amounts of extra space around the |=| and |+| signs respectively, and at center-left, the $g$ is directly next to the parenthesis. At center-right, the closing parenthesis is offset from the following $y$, and on the right, the parentheses cover the entire fraction instead of covering only most of it. Using the package will automate some or all of these changes for you depending on which options you specify.
+
+Users can load \textsf{innerscript} with the standard |\usepackage| syntax, and to do so, you must typeset with Lua\TeX. If it detects a different engine, \textsf{innerscript} will raise an error and stop loading, so you will not see any changes to the math in your document. The package provides no user-level commands---rather, you can control its functionality through the ten options in Table~2. Options |script|, and |no-script| determine how \textsf{innerscript} treats superscripts and subscripts, and options |scriptscript|, and |no-scriptscript| are the same except that they deal with second-order superscripts and subscripts.\footnote{Version 1.2 of \textsf{innerscript} provided |legacy-| options for superscripts and subscripts with slightly different spacing. As of version 1.4, those options are officially deprecated. For backwards compatibility, \textsf{innerscript} still accepts |legacy-script| and |legacy-scriptscript| options, but they now produce the same space adjustments as |script| and |scriptscript|.} The |inner| option tells \TeX\ to avoid placing some extra spaces around |\mathinner| subformulas. Specifically, with this option, \TeX\ treats the left side of a |\mathinner| subformula like a left parenthesis and treats the right side like a right parenthesis. The |close| option adds a small amount of space after a closing grouping symbol, such as a right parenthesis, when it comes before a regular variable or number, and |cover| tells \TeX\ to make sure that resizable delimiters fully cover their contents. The |no-| variants disable formatting adjustments, and by default, \textsf{innerscript} enables all space adjustments described here.
+
+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 setting the interatom space in superscripts and subscripts to scaled-down versions of the standard spacing rules. Table~3 lists the space that \TeX\ inserts between atoms of different types in display or inline math. With option |script|, \textsf{innerscript} sets the interatom spacing in superscripts and subscripts to be 60\% of the amounts in Table~3, and with option |scriptscript|, \textsf{innerscript} sets the interatom space to be 40\% of the amounts in Table~3.\footnote{Technically, \textsf{innerscript} scales down the standard spacing twice because the exact length of a \vrb\muskip\ register varies proportionally with the surrounding font size. 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} inserted the same \vrb\muskip\ amounts from Table~3 in superscripts and subscripts, the sp!
acing would be exactly proportional to inline and display spacing. However, doing so produces math where the symbols appear too far apart visually, so before using them, \textsf{innerscript} scales down the \vrb\muskip\ amounts in Table~3.} Atom pairs that do not appear in Table~3 do not by default receive extra space from \TeX\ or \textsf{innerscript}.
+
+Finally, you are of course welcome to change the size of |\thinmuskip|, |\medmuskip|, or |\thickmuskip|, but I encourage you to do so before you load \textsf{innerscript}. If you do after loading this package, some of your changes will not register properly.
+
+\end{document}
+\endinput
+%%
+%% End of file `innerscript-user-guide.tex'.
Property changes on: trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript-user-guide.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript_code.pdf
===================================================================
(Binary files differ)
Deleted: trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript_heading.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript_heading.tex 2025-04-08 20:11:20 UTC (rev 74877)
+++ trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript_heading.tex 2025-04-08 20:11:39 UTC (rev 74878)
@@ -1,158 +0,0 @@
-%%
-%% This is file `innerscript_heading.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% innerscript_code.dtx (with options: `heading')
-%%
-%% 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, 2024 Conrad Kosowsky
-%%
-%% This file may be distributed and modified under the terms
-%% of the LaTeX Public Project License, version 1.3c or any
-%% later version. The most recent version of this license is
-%% available online at
-%%
-%% https://www.latex-project.org/lppl/
-%%
-%% This work has the LPPL status "maintained," and the current
-%% maintainer is the package author, Conrad Kosowsky. He can
-%% be reached at kosowsky.latex at gmail.com.
-%%
-%% PLEASE KNOW THAT THIS FREE SOFTWARE IS PROVIDED WITHOUT
-%% ANY WARRANTY. SPECIFICALLY, THE "NO WARRANTY" SECTION OF
-%% THE LATEX PROJECT PUBLIC LICENSE STATES THE FOLLOWING:
-%%
-%% THERE IS NO WARRANTY FOR THE WORK. EXCEPT WHEN OTHERWISE
-%% STATED IN WRITING, THE COPYRIGHT HOLDER PROVIDES THE WORK
-%% `AS IS’, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-%% OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-%% WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-%% PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
-%% OF THE WORK IS WITH YOU. SHOULD THE WORK PROVE DEFECTIVE,
-%% YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR
-%% CORRECTION.
-%%
-%% IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED
-%% TO IN WRITING WILL THE COPYRIGHT HOLDER, OR ANY AUTHOR
-%% NAMED IN THE COMPONENTS OF THE WORK, OR ANY OTHER PARTY
-%% WHO MAY DISTRIBUTE AND/OR MODIFY THE WORK AS PERMITTED
-%% ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
-%% SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT
-%% OF ANY USE OF THE WORK OR OUT OF INABILITY TO USE THE WORK
-%% (INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA, DATA BEING
-%% RENDERED INACCURATE, OR LOSSES SUSTAINED BY ANYONE AS A
-%% RESULT OF ANY FAILURE OF THE WORK TO OPERATE WITH ANY
-%% OTHER PROGRAMS), EVEN IF THE COPYRIGHT HOLDER OR SAID
-%% AUTHOR OR SAID OTHER PARTY HAS BEEN ADVISED OF THE
-%% POSSIBILITY OF SUCH DAMAGES.
-%%
-%% For more information, see the LaTeX Project Public License.
-%% Derivative works based on this software may come with their
-%% own license or terms of use, and the package author is not
-%% responsible for any third-party software.
-%%
-%% Happy TeXing!
-%%
-
-\csname count@\endcsname\catcode`\@
-\makeatletter
-
-\def\packageversion{1.3}
-\def\packagedate{August 2024}
-
-\MacroIndent=1.3em
-\def\scalemu#1#2{\muexpr#2#1
- \@plus\muexpr#2\gluetomu\gluestretch\mutoglue#1\relax
- \@minus\muexpr#2\gluetomu\glueshrink\mutoglue#1\relax\relax}
-\baselineskip=\the\baselineskip plus 0.3pt minus 0.3pt\relax
-
-\let\@@section\section
-\def\section{\@ifstar\star at sect\no at star@sect}
-\def\star at sect#1{\sectionhook{#1}\@@section*{#1}}
-\def\no at star@sect#1{\sectionhook{#1}\@@section{#1}}
-
-\def\sectionhook#1{%
- \ifdim\dimexpr\pagegoal-\pagetotal-3pt\relax<6\bigskipamount
- \vfill\eject
- \fi
- \def\sectionname{#1}}
-
-\def\@oddhead{%
- \ifnum\count0>1\relax
- \ifodd\c at page
- \rlap{\textit{\sectionname}}\hfil
- \hbox to 0pt{\hss\documentname\hss}\hfil
- \llap{\the\count0}%
- \else
- \rlap{\the\count0}\hfil
- \hbox to 0pt{\hss\documentname\hss}\hfil
- \llap{\textit{\sectionname}}%
- \fi
- \fi}
-\def\@oddfoot{\hfil\ifnum\count0=1\relax1\fi\hfil}
-
-\pretolerance=-1
-\hyphenpenalty=20
-\exhyphenpenalty=15
-\brokenpenalty=0
-\clubpenalty=0
-\widowpenalty=0
-\finalhyphendemerits=500
-\doublehyphendemerits=2000
-
-\let\code\@undefined
-\let\endcode\@undefined
-\newenvironment{code}
- {\strut\vadjust\bgroup\medskip\parindent\z@\leftskip=4em\relax
- \noindent\strut\ignorespaces}
- {\strut\par\medskip\egroup\hfill\break\strut\ignorespacesafterend}
-\def\argtext#1{\ensuremath{\langle$\textit{#1}$\rangle}}
-\def\vrb#1{\expandafter\texttt\expandafter{\string#1}}
-\def\clap at math#1{\hb at xt@\z@{\hss$\displaystyle#1$\hss}}
-
-{\large
-\parindent=0pt
-\leftskip=0pt plus 1 fil
-\rightskip=0pt plus 1fil
-\parfillskip=0pt
-{\strut\Large Package \textsf{innerscript} v.\ \packageversion\ \documentname}\par
-\strut Conrad Kosowsky\par
-\strut \packagedate\par
-\strut\texttt{kosowsky.latex at gmail.com}\par}
-
-\bigskip
-
-\hrule height \p@
-\@@line{\vrule width \p@\kern-\p@
- \vbox{\medskip
- \leftskip=8em\relax\rightskip=8em\relax
- \noindent\strut For easy, off-the-shelf use, type the following
- in your document preamble and compile using Lua\LaTeX:
- \vskip\medskipamount
- \noindent\hfil\strut|\usepackage{innerscript}|\hfil
- \vskip\medskipamount}\relax
- \kern-\p@\vrule width \p@}
-\hrule height \p@
-
-\bigskip
-
-{\small
-\leftskip=0.5in
-\rightskip=0.5in
-\centerline{\bfseries Overview\strut}
-\noindent The \textsf{innerscript} package optionally modifies four aspects of \TeX's automatic math formatting to improve typesetting: (1) it adds extra space around relation and operation symbols in superscripts and subscripts; (2) it removes extra space around |\left|-|\right| delimiter pairs; (3) it adds extra space after right delimiters in certain situations; and (4) it forces |\left| and |\right| delimiters to completely cover their contents. Using Lua\LaTeX\ is required.\par}
-
-\bigskip\bigskip\nointerlineskip
-\centerline{\vrule height 0.5pt width 2.5in}\bigskip\bigskip
-\nointerlineskip
-
-\catcode`\@\count@
-
-\endinput
-%%
-%% End of file `innerscript_heading.tex'.
Deleted: trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript_user_guide.pdf
===================================================================
(Binary files differ)
Deleted: trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript_user_guide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript_user_guide.tex 2025-04-08 20:11:20 UTC (rev 74877)
+++ trunk/Master/texmf-dist/doc/lualatex/innerscript/innerscript_user_guide.tex 2025-04-08 20:11:39 UTC (rev 74878)
@@ -1,246 +0,0 @@
-%%
-%% This is file `innerscript_user_guide.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% innerscript_code.dtx (with options: `user')
-%%
-%% 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, 2024 Conrad Kosowsky
-%%
-%% This file may be distributed and modified under the terms
-%% of the LaTeX Public Project License, version 1.3c or any
-%% later version. The most recent version of this license is
-%% available online at
-%%
-%% https://www.latex-project.org/lppl/
-%%
-%% This work has the LPPL status "maintained," and the current
-%% maintainer is the package author, Conrad Kosowsky. He can
-%% be reached at kosowsky.latex at gmail.com.
-%%
-%% PLEASE KNOW THAT THIS FREE SOFTWARE IS PROVIDED WITHOUT
-%% ANY WARRANTY. SPECIFICALLY, THE "NO WARRANTY" SECTION OF
-%% THE LATEX PROJECT PUBLIC LICENSE STATES THE FOLLOWING:
-%%
-%% THERE IS NO WARRANTY FOR THE WORK. EXCEPT WHEN OTHERWISE
-%% STATED IN WRITING, THE COPYRIGHT HOLDER PROVIDES THE WORK
-%% `AS IS’, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-%% OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-%% WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-%% PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
-%% OF THE WORK IS WITH YOU. SHOULD THE WORK PROVE DEFECTIVE,
-%% YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR
-%% CORRECTION.
-%%
-%% IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED
-%% TO IN WRITING WILL THE COPYRIGHT HOLDER, OR ANY AUTHOR
-%% NAMED IN THE COMPONENTS OF THE WORK, OR ANY OTHER PARTY
-%% WHO MAY DISTRIBUTE AND/OR MODIFY THE WORK AS PERMITTED
-%% ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
-%% SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT
-%% OF ANY USE OF THE WORK OR OUT OF INABILITY TO USE THE WORK
-%% (INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA, DATA BEING
-%% RENDERED INACCURATE, OR LOSSES SUSTAINED BY ANYONE AS A
-%% RESULT OF ANY FAILURE OF THE WORK TO OPERATE WITH ANY
-%% OTHER PROGRAMS), EVEN IF THE COPYRIGHT HOLDER OR SAID
-%% AUTHOR OR SAID OTHER PARTY HAS BEEN ADVISED OF THE
-%% POSSIBILITY OF SUCH DAMAGES.
-%%
-%% For more information, see the LaTeX Project Public License.
-%% Derivative works based on this software may come with their
-%% own license or terms of use, and the package author is not
-%% responsible for any third-party software.
-%%
-%% Happy TeXing!
-%%
-\makeatletter
-\documentclass[12pt]{article}
-\usepackage[margin=72.27pt]{geometry}
-\usepackage[factor=700,stretch=14,shrink=14,step=1]{microtype}
-\usepackage{booktabs}
-\usepackage{tabularx}
-\usepackage{amsmath}
-\usepackage{doc}[=v2]
-\MakeShortVerb{|}
-\interfootnotelinepenalty=0
-
-\newbox\fracbox
-\setbox\fracbox\hbox{$\displaystyle\left(\frac x2\right)$}
-
-\begin{document}
-
-\def\documentname{User Guide}
-\input innerscript_heading.tex
-
-\def\@oddhead{\ifnum\c at page>\@ne
- \ifodd\c at page
- \hfil\the\c at page
- \else
- \the\c at page\hfil
- \fi\fi}
-
-\begin{figure}[b]
-\centerline{\strut\bfseries Table~1: Package Behavior Shown in Each Part of Equation (2)}
-\begin{tabular*}\textwidth{@{\extracolsep{\fill}}lllll}\toprule
-Part of equation (2) & Summation & Functions & Product & Fraction\\\midrule
-Option shown & |script| & |inner| & |close| & |cover|\\\bottomrule
-\end{tabular*}
-\end{figure}
-
-\noindent For several years before the first release of \textsf{innerscript}, I wondered whether it was possible to adjust two features of \TeX's automatic mathematics spacing, namely adding more space in superscripts and subscripts and removing the extra space around |\left|-|\right| delimiter pairs. Lua\TeX's extra math-mode primitives make these changes possible, and \textsf{innerscript} grew out of my desire to implement them in my documents. For example, compare the next two lines:
-\begin{flalign}
-&&\sum_{i=1}^n{}&x_i^{1+a}
- &f(x)&=g\left(\frac1x\right)
- &x(t)&y(t)
- &\hskip0.5\wd\fracbox &\clap at math{\left(\frac{x}2\right)}
- \hskip0.5\wd\fracbox
- &&\\
-&&\sum_{i\mskip\scalemu{\thickmuskip}{0.6}=
- \mskip\scalemu{\thickmuskip}{0.6}1}^n
- {}&x_i^{1\mskip\scalemu{\medmuskip}{0.6}+
- \mskip\scalemu{\medmuskip}{0.6} a}
- &f(x)&=g{\left(\frac1x\right)}
- &x(t)\mskip\scalemu{\thinmuskip}{0.25}&\mskip\scalemu{\thinmuskip}{0.25}y(t)
- &\hskip0.5\wd\fracbox & \clap at math{\left(\frac{\vphantom{1}x}2\right)}
- \hskip0.5\wd\fracbox
- &&
-\end{flalign}
-Equation~(1) uses traditional \TeX\ formatting, and equation~(2) incorporates the small tweaks characteristic of \textsf{innerscript}. If you like equation~(2) more than equation~(1), then \textsf{innerscript} is the package for you! This file explains how to load \textsf{innerscript} and enable whichever adjustments you want to use. For version history and documentation of the code, see |innerscript_code.pdf|, which is included with the package installation and is available on \textsc{ctan}.
-
-Table~1 explains which parts of equation~(2) show different aspects of \textsf{innerscript}'s behavior. At far left, the subscript under the summation symbol and the superscript of $x_i$ have small amounts of extra space around the |=| and |+| signs respectively, and at center-left, the $g$ is directly next to the parenthesis. At center-right, the closing parenthesis is offset from the following $y$, and on the right, the parentheses cover the entire fraction instead of covering only most of it. Using the package will automate some or all of these changes for you depending on which options you specify.
-
-Users can load \textsf{innerscript} with the standard
-\begin{code}
-|\usepackage[|\meta{options}|]{innerscript}|
-\end{code}
-syntax, and when doing so, you must typeset with Lua\TeX. If it detects a different engine, \textsf{innerscript} will raise an error and stop loading, which will prevent it from changing the math in your document. The package provides no user-level commands---rather, you can control its functionality through the twelve options in Table~2. Options |script|, |legacy-|\penalty0|script|, and |no-script| determine how \textsf{innerscript} treats superscripts and subscripts. Options |scriptscript|, |legacy-scriptscript|, and |no-scriptscript| are the same except that they deal with second-order superscripts and subscripts. The |inner| option tells \TeX\ to avoid placing extra space around |\mathinner| subformulas, which in practice mostly means that \TeX\ will position |\left|-|\right| delimiter pairs the same way as ordinary variables such as $f$ or $g$ in equation~(2). The |close| option adds a small amount of space after a closing grouping symbol, such as a right parenthesis, when it comes before a regular variable or number, and |cover| tells \TeX\ to make sure that resizable delimiters fully cover their contents. The |no-|~variants disable formatting adjustments, and by default, \textsf{innerscript} selects the first five options from Table~2.
-
-\begin{figure}[t!]
-\centerline{\strut\bfseries Table~2: Package Options for \textsf{innerscript}}
-\begin{tabularx}\hsize{l>{\raggedright\arraybackslash}X}
-\toprule
-Package Option & Meaning\\
-\midrule
-|script| & Change |\scriptstyle| (and cramped style) spacing\\
-|scriptscript| & Change |\scriptscriptstyle| (and cramped style) spacing\\
-|inner| & Use |\mathord| spacing for |\mathinner| subformulas\\
-|close| & Extra space between \vrb\mathclose\vrb\mathord\ pairs\\
-|cover| & Resizable delimiters (i.e.\ |\left| and |\right|) fully cover contents\\\midrule
-|legacy-script| & Option |script| with legacy spacing (not recommended)\\
-|legacy-scriptscript| & Option |scriptscript| with legacy spacing (not recommended)\\\midrule
-|no-script| & No changes to |\scriptstyle| spacing\\
-|no-scriptscript| & No changes to |\scriptscriptstyle| spacing\\
-|no-inner| & No changes to treatment of |\mathinner| subformulas\\
-|no-close| & No changes to |\mathclose| atoms\\
-|no-cover| & No changes to resizable delimiters\\
-\bottomrule
-\end{tabularx}
-\end{figure}
-
-\begin{figure}[t!]
-\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| \\
-|\mathord||\mathbin| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
-|\mathord||\mathrel| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
-|\mathord||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
-|\mathop||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathop||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathop||\mathrel| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
-|\mathop||\mathinner| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\\midrule
-|\mathbin||\mathord| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
-|\mathbin||\mathop| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
-|\mathbin||\mathopen| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
-|\mathbin||\mathinner| & 0.6|\medmuskip| & 0.4|\medmuskip| \\\midrule
-|\mathrel||\mathord| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
-|\mathrel||\mathop| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
-|\mathrel||\mathopen| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
-|\mathrel||\mathinner| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\\midrule
-|\mathclose||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathclose||\mathbin| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
-|\mathclose||\mathrel| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
-|\mathclose||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
-|\mathpunct||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathrel| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathopen| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathclose| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathpunct| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
-|\mathinner||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathinner||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathinner||\mathbin| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
-|\mathinner||\mathrel| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
-|\mathinner||\mathopen| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathinner||\mathpunct| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathinner||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\bottomrule
-\end{tabular*}
-\end{figure}
-
-\iffalse %%% ignore %%%
-\begin{figure}[t!]
-\centerline{\bfseries\strut Table~4: Legacy Space Inserted by \textsf{innerscript}}
-\begin{tabularx}{\hsize}{p{2in}Xl}\toprule
-Consecutive Atom Types & Option |legacy-script| & Option |legacy-scriptscript|\\\midrule
-|\mathord||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathord||\mathbin| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-|\mathord||\mathrel| & |\thinmuskip| & 0.7|\thinmuskip| \\
-|\mathord||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
-|\mathop||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathop||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathop||\mathrel| & |\thinmuskip| & 0.7|\thinmuskip| \\
-|\mathop||\mathinner| & |\thinmuskip| & 0.7|\thinmuskip| \\\midrule
-|\mathbin||\mathord| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-|\mathbin||\mathop| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-|\mathbin||\mathopen| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-|\mathbin||\mathinner| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\\midrule
-|\mathrel||\mathord| & |\thinmuskip| & 0.7|\thinmuskip| \\
-|\mathrel||\mathop| & |\thinmuskip| & 0.7|\thinmuskip| \\
-|\mathrel||\mathopen| & |\thinmuskip| & 0.7|\thinmuskip| \\
-|\mathrel||\mathinner| & |\thinmuskip| & 0.7|\thinmuskip| \\\midrule
-|\mathclose||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathclose||\mathbin| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-|\mathclose||\mathrel| & |\thinmuskip| & 0.7|\thinmuskip| \\
-|\mathclose||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
-|\mathpunct||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathrel| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathopen| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathclose| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathpunct| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
-|\mathinner||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathinner||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathinner||\mathbin| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-|\mathinner||\mathrel| & |\thinmuskip| & 0.7|\thinmuskip| \\
-|\mathinner||\mathopen| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathinner||\mathpunct| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathinner||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\bottomrule
-\end{tabularx}
-\end{figure}
-\fi % end ignore
-
-\begin{figure}[t]
-\centerline{\bfseries\strut Table 4: Factors of \vrb\thinmuskip\ in Legacy Spacing}
-\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lcc}\toprule
-Skip Used in Current Version & For Option |script| & For Option |scriptscript|\\\midrule
-|\thinmuskip| & 0.6 & 0.4 \\
-|\medmuskip| & 0.7 & 0.5 \\
-|\thickmuskip| & 1 & 0.7\\\bottomrule
-\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. 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{inn!
erscript} 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.
-
-\end{document}
-\endinput
-%%
-%% End of file `innerscript_user_guide.tex'.
Added: trunk/Master/texmf-dist/source/lualatex/innerscript/innerscript-code.dtx
===================================================================
--- trunk/Master/texmf-dist/source/lualatex/innerscript/innerscript-code.dtx (rev 0)
+++ trunk/Master/texmf-dist/source/lualatex/innerscript/innerscript-code.dtx 2025-04-08 20:11:39 UTC (rev 74878)
@@ -0,0 +1,890 @@
+% \iffalse ---!!! FIRST META-COMMENT !!!---
+%
+%
+% This file is innerscript-code.dtx from version 1.4
+% of the free and open-source LaTeX package "innerscript,"
+% released April 2025, to be used with the LuaTeX engine.
+%
+% Running Plain TeX on innerscript-code.dtx will
+% produce the following files:
+%
+% (1) the package file innerscript.sty;
+%
+% (2) the derived files innerscript-heading.tex
+% and innerscript-user-guide.tex, which are
+% used for typesetting documentation;
+%
+% and
+%
+% (3) a number of other derived files.
+%
+% Running LaTeX on innerscript-code.dtx will produce the
+% files listed above as well as the following:
+%
+% (4) the pdf documentation file innerscript-code.pdf;
+%
+% and
+%
+% (5) a number of other derived files.
+%
+% To install innerscript on your computer, run this file
+% through Plain TeX or LaTeX and move innerscript.sty
+% to a directory searchable by TeX. See the associated
+% README.txt file for installation information.
+%
+%
+% \fi
+% \iffalse ---!!! SECOND META-COMMENT !!!---
+%
+%
+% This file is from version 1.4 of the free and open-source
+% LaTeX package "innerscript," released April 2025, to be
+% used with the LuaTeX engine.
+%
+% Copyright 2021, 2023-2025 Conrad Kosowsky
+%
+% This file may be distributed and modified under the terms
+% of the LaTeX Public Project License, version 1.3c or any
+% later version. The most recent version of this license is
+% available online at
+%
+% https://www.latex-project.org/lppl/
+%
+% This Work has the LPPL status "maintained," and the current
+% maintainer is the package author, Conrad Kosowsky. He can
+% be reached at kosowsky.latex at gmail.com. The Work consists
+% of the following items:
+%
+% (1) the base file innerscript.dtx;
+%
+% (2) the package file innerscript.sty;
+%
+% (3) the pdf documentation files innerscript-code.pdf
+% and innerscript-user-guide.pdf;
+%
+% (4) the derived file innerscript-heading.tex;
+%
+% (4) all other files created through the configuration
+% process;
+%
+% and
+%
+% (5) the associated README.txt file.
+%
+% PLEASE KNOW THAT THIS FREE SOFTWARE IS PROVIDED WITHOUT
+% ANY WARRANTY. SPECIFICALLY, THE "NO WARRANTY" SECTION OF
+% THE LATEX PROJECT PUBLIC LICENSE STATES THE FOLLOWING:
+%
+% THERE IS NO WARRANTY FOR THE WORK. EXCEPT WHEN OTHERWISE
+% STATED IN WRITING, THE COPYRIGHT HOLDER PROVIDES THE WORK
+% `AS IS’, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+% OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+% WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+% PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
+% OF THE WORK IS WITH YOU. SHOULD THE WORK PROVE DEFECTIVE,
+% YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR
+% CORRECTION.
+%
+% IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED
+% TO IN WRITING WILL THE COPYRIGHT HOLDER, OR ANY AUTHOR
+% NAMED IN THE COMPONENTS OF THE WORK, OR ANY OTHER PARTY
+% WHO MAY DISTRIBUTE AND/OR MODIFY THE WORK AS PERMITTED
+% ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
+% SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT
+% OF ANY USE OF THE WORK OR OUT OF INABILITY TO USE THE WORK
+% (INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA, DATA BEING
+% RENDERED INACCURATE, OR LOSSES SUSTAINED BY ANYONE AS A
+% RESULT OF ANY FAILURE OF THE WORK TO OPERATE WITH ANY
+% OTHER PROGRAMS), EVEN IF THE COPYRIGHT HOLDER OR SAID
+% AUTHOR OR SAID OTHER PARTY HAS BEEN ADVISED OF THE
+% POSSIBILITY OF SUCH DAMAGES.
+%
+% For more information, see the LaTeX Project Public License.
+% Derivative works based on this software may come with their
+% own license or terms of use, and the package author is not
+% responsible for any third-party software.
+%
+% Happy TeXing!
+%
+%
+% \fi
+% \iffalse
+%
+% The installation and driver files are incorporated into
+% innerscript-code.dtx, so we do not need to generate them
+% separately. The <batchfile> and <driver> tags are for
+% reference.
+%
+%<*batchfile>
+\begingroup
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+
+This file is from version 1.4 of the free and open-source
+LaTeX package "innerscript," released April 2025, to be
+used with the LuaTeX engine.
+
+Copyright 2021, 2023-2025 Conrad Kosowsky
+
+This file may be distributed and modified under the terms
+of the LaTeX Public Project License, version 1.3c or any
+later version. The most recent version of this license is
+available online at
+
+ https://www.latex-project.org/lppl/
+
+This work has the LPPL status "maintained," and the current
+maintainer is the package author, Conrad Kosowsky. He can
+be reached at kosowsky.latex at gmail.com.
+
+PLEASE KNOW THAT THIS FREE SOFTWARE IS PROVIDED WITHOUT
+ANY WARRANTY. SPECIFICALLY, THE "NO WARRANTY" SECTION OF
+THE LATEX PROJECT PUBLIC LICENSE STATES THE FOLLOWING:
+
+THERE IS NO WARRANTY FOR THE WORK. EXCEPT WHEN OTHERWISE
+STATED IN WRITING, THE COPYRIGHT HOLDER PROVIDES THE WORK
+`AS IS’, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
+OF THE WORK IS WITH YOU. SHOULD THE WORK PROVE DEFECTIVE,
+YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR
+CORRECTION.
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED
+TO IN WRITING WILL THE COPYRIGHT HOLDER, OR ANY AUTHOR
+NAMED IN THE COMPONENTS OF THE WORK, OR ANY OTHER PARTY
+WHO MAY DISTRIBUTE AND/OR MODIFY THE WORK AS PERMITTED
+ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
+SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT
+OF ANY USE OF THE WORK OR OUT OF INABILITY TO USE THE WORK
+(INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA, DATA BEING
+RENDERED INACCURATE, OR LOSSES SUSTAINED BY ANYONE AS A
+RESULT OF ANY FAILURE OF THE WORK TO OPERATE WITH ANY
+OTHER PROGRAMS), EVEN IF THE COPYRIGHT HOLDER OR SAID
+AUTHOR OR SAID OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+For more information, see the LaTeX Project Public License.
+Derivative works based on this software may come with their
+own license or terms of use, and the package author is not
+responsible for any third-party software.
+
+Happy TeXing!
+
+\endpreamble
+\generate{\file{innerscript.sty}{\from{innerscript-code.dtx}{package}}
+ \file{innerscript-user-guide.tex}{\from{innerscript-code.dtx}{user}}
+ \file{innerscript-heading.tex}{\from{innerscript-code.dtx}{heading}}}
+\catcode`\ =12\relax
+\immediate\write0{^^J%
+****************************************************^^J%
+* Step 1 of the innerscript installation complete! *^^J%
+****************************************************^^J^^J%
+****************************************************^^J%
+* To finish installing the package, move *^^J%
+* innerscript.sty to a directory searchable by TeX *^^J%
+* after innerscript-code.tex is done typesetting *^^J%
+****************************************************^^J}
+\endgroup
+\ifx\LaTeX\undefined
+ \immediate\write0{Plain TeX format used; quitting now.}
+ \immediate\write0{To create innerscript-code.pdf, run^^J%
+ innerscript-code.dtx through LaTeX.^^J^^J}
+ \expandafter\end
+\fi
+%</batchfile>
+%<*driver>
+\makeatletter
+\documentclass[12pt,doc2,letterpaper]{ltxdoc}
+\usepackage[margin=72.27pt]{geometry}
+\usepackage[factor=700,stretch=14,shrink=14,step=1]{microtype}
+\usepackage{booktabs}
+\usepackage{tabularx}
+\usepackage{amsmath}
+\usepackage{multicol}
+\usepackage{graphicx}
+\c at IndexColumns=2
+\c at topnumber\@ne
+\columnsep=20pt
+\MacroIndent=16pt
+\let\index at prologue\relax
+\EnableCrossrefs\CodelineIndex
+\expandafter\def\expandafter\MacroFont\expandafter{\MacroFont
+ \baselineskip=\the\baselineskip plus 0.5pt minus 0.5pt}
+\begin{document}
+ \def\documentname{Implementation}
+ \input innerscript-heading.tex
+
+ \flushbottom
+ \DocInput{innerscript-code.dtx}
+ \vfil\eject
+
+ \immediate\closeout\@indexfile
+ \ifx\directlua\@undefined
+ \immediate\write18{makeindex -s gind.ist innerscript-code.idx}
+ \else
+ \directlua{os.execute("makeindex -s gind.ist innerscript-code.idx")}
+ \fi
+
+ \section*{Index}
+
+ \input innerscript-code.ind
+
+
+
+\end{document}
+%</driver>
+%<*package>
+%
+% \fi
+%
+%
+% \CheckSum{408}
+% \init at checksum
+%
+% \makeatother
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+% \makeatletter
+%
+%
+%
+% \DoNotIndex{\@for,\@gobbletwo,\@i,\@j,\@m,\@tempa,\@tfor,\@undefined,%
+% \AtEndOfPackage,\bgroup,\egroup,\GenericError,\catcode,\csname,\endcsname,%
+% \def,\edef,\do,\else,\endinput,\expandafter,\fi,\ifx,\let,\MessageBreak,%
+% \muexpr,\NeedsTeXFormat,\ProvidesPackage,\newif,\on at line,\ProcessOptions,%
+% \PackageWarningNoLine,\relax,\space,\string,\the,\wlog,\DeclareOption,%
+% \IS at info}
+%
+%
+%
+%
+%
+% \noindent This file documents the code for the \textsf{innerscript} package. It is not a user guide! If you are looking for instructions on how to load \textsf{innerscript} and what it can do for your document, see |innerscript-user-guide.pdf|, which is included with the \textsf{innerscript} installation and is available on \textsc{ctan}. Section~1 begins with the package declaration and option processing. Sections~2 and 3 contain the code to adjust spacing between symbols in |\scriptstyle| and |\scriptscriptstyle| respectively, and Section~4 contains the code for adjusting the spacing around |\mathinner| subformulas. Section~5 handles spacing between |\mathclose| and |\mathord| atoms, and section~6 fills out the resizable delimiter heights. Version history appears at the end of the document.
+%
+%
+%
+% \section{Setup}
+%
+% We begin the implementation by declaring the package and defining a general informational macro. The first 60 lines of |innerscript.sty| are comments.
+% \c at CodelineNo=60\relax
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{innerscript}[2025/04/07 v. 1.4 Package innerscript]
+\def\IS at info#1{\wlog{Package innerscript Info: #1}}
+% \end{macrocode}
+% The conditionals will encode package option information.
+% \begin{macrocode}
+\newif\ifIS at script
+\newif\ifIS at scriptscript
+\newif\ifIS at legacyscript
+\newif\ifIS at legacyscriptscript
+\newif\ifIS at inner
+\newif\ifIS at close
+\newif\ifIS at cover
+% \end{macrocode}
+% And set default options.
+% \begin{macrocode}
+\IS at scripttrue
+\IS at scriptscripttrue
+\IS at legacyscriptfalse
+\IS at legacyscriptscriptfalse
+\IS at innertrue
+\IS at closetrue
+\IS at covertrue
+% \end{macrocode}
+% Now define and process the package options.
+% \begin{macrocode}
+\DeclareOption{script} {\IS at scripttrue}
+\DeclareOption{scriptscript} {\IS at scriptscripttrue}
+\DeclareOption{inner} {\IS at innertrue}
+\DeclareOption{close} {\IS at closetrue}
+\DeclareOption{cover} {\IS at covertrue}
+\DeclareOption{legacy-script} {\IS at scripttrue
+ \IS at legacyscripttrue}
+\DeclareOption{legacy-scriptscript}{\IS at scriptscripttrue
+ \IS at legacyscriptscripttrue}
+\DeclareOption{no-script} {\IS at scriptfalse}
+\DeclareOption{no-scriptscript} {\IS at scriptscriptfalse}
+\DeclareOption{no-inner} {\IS at innerfalse}
+\DeclareOption{no-close} {\IS at closefalse}
+\DeclareOption{no-cover} {\IS at coverfalse}
+\ProcessOptions*
+% \end{macrocode}
+% Check whether |\Umathordordspacing| is defined. If not, issue an error and |\endinput|. We normally can't print multiple spaces at once, so within a group, we change the space catcode to 12.
+% \begin{macrocode}
+\ifx\Umathordordspacing\@undefined
+\bgroup
+\catcode`\ =12\relax
+\def\IS at LuaTeXError{\GenericError{}%
+{\MessageBreak\MessageBreak
+Package innerscript error:%
+\MessageBreak\MessageBreak
+*******************\MessageBreak
+* *\MessageBreak
+* CANNOT LOAD *\MessageBreak
+* INNERSCRIPT *\MessageBreak
+* LuaTeX Needed *\MessageBreak
+* *\MessageBreak
+*******************\MessageBreak\@gobbletwo}%
+{See the innerscript package documentation for explanation.}%
+{I need LuaTeX to make the innerscript package work. It\MessageBreak
+looks like the current engine is something else, so I\MessageBreak
+can't load the package file. To use innerscript, please\MessageBreak
+typeset with LuaLaTeX. To continue without innerscript,\MessageBreak
+press return.}}%
+\expandafter\egroup
+\IS at LuaTeXError
+ \AtEndOfPackage{\IS at info{Failed to load \on at line!}}
+ \expandafter\endinput % we \endinput with a balanced conditional
+\fi
+% \end{macrocode}
+% If the user requested a legacy option for super or subscripts, issue a warning. We store the warning in |\@tempa|, and if both |\ifIS at legacyscript| and |\ifIS at legacyscriptscript| and false, we turn |\@tempa| into |\relax|.
+% \begin{macrocode}
+\def\@tempa{%
+ \PackageWarningNoLine{innerscript}
+ {I'm ignoring your request for\MessageBreak
+ legacy spacing\on at line\MessageBreak
+ and using the default space\MessageBreak
+ adjustments instead since this\MessageBreak
+ package option is deprecated}}
+\ifIS at legacyscript
+\else
+ \ifIS at legacyscriptscript
+ \else
+ \let\@tempa\relax
+ \fi
+\fi
+\@tempa
+% \end{macrocode}
+%
+% \section{Superscripts and Subscripts}
+%
+%
+% \begin{figure}[t!]
+% \centerline{\bfseries\strut Table 1: Space Inserted between Atoms}
+% \begin{tabularx}{\textwidth}{XX}\toprule
+% Consecutive Atom Types & Default space added\\\midrule
+% |\mathord||\mathop| & |\thinmuskip| \\
+% |\mathord||\mathbin| & |\medmuskip| \\
+% |\mathord||\mathrel| & |\thickmuskip| \\
+% |\mathord||\mathinner| & |\thinmuskip| \\\midrule
+% |\mathop||\mathord| & |\thinmuskip| \\
+% |\mathop||\mathop| & |\thinmuskip| \\
+% |\mathop||\mathrel| & |\thickmuskip| \\
+% |\mathop||\mathinner| & |\thickmuskip| \\\midrule
+% |\mathbin||\mathord| & |\medmuskip| \\
+% |\mathbin||\mathop| & |\medmuskip| \\
+% |\mathbin||\mathopen| & |\medmuskip| \\
+% |\mathbin||\mathinner| & |\medmuskip| \\\midrule
+% |\mathrel||\mathord| & |\thickmuskip| \\
+% |\mathrel||\mathop| & |\thickmuskip| \\
+% |\mathrel||\mathopen| & |\thickmuskip| \\
+% |\mathrel||\mathinner| & |\thickmuskip| \\\midrule
+% |\mathclose||\mathop| & |\thinmuskip| \\
+% |\mathclose||\mathbin| & |\medmuskip| \\
+% |\mathclose||\mathrel| & |\thickmuskip| \\
+% |\mathclose||\mathinner| & |\thinmuskip| \\\midrule
+% |\mathpunct||\mathord| & |\thinmuskip| \\
+% |\mathpunct||\mathop| & |\thinmuskip| \\
+% |\mathpunct||\mathrel| & |\thinmuskip| \\
+% |\mathpunct||\mathopen| & |\thinmuskip| \\
+% |\mathpunct||\mathclose| & |\thinmuskip| \\
+% |\mathpunct||\mathpunct| & |\thinmuskip| \\
+% |\mathpunct||\mathinner| & |\thinmuskip| \\\midrule
+% |\mathinner||\mathord| & |\thinmuskip| \\
+% |\mathinner||\mathop| & |\thinmuskip| \\
+% |\mathinner||\mathbin| & |\medmuskip| \\
+% |\mathinner||\mathrel| & |\thickmuskip| \\
+% |\mathinner||\mathopen| & |\thinmuskip| \\
+% |\mathinner||\mathpunct| & |\thinmuskip| \\
+% |\mathinner||\mathinner| & |\thinmuskip| \\\bottomrule
+% \end{tabularx}
+% \end{figure}
+%
+%
+% First we set the spacing for |\scriptstyle| and |\scriptscriptstyle| atoms. Each space adjustment has the form
+% \begin{trivlist}
+% \item\hskip 2em |\Umath|\argtext{classes}|spacing|\meta{style}|\muexpr|\meta{skip}|*|\meta{factor}|\relax|.
+% \end{trivlist}^^A\tracingpages=2\tracingonline=1
+% The \meta{classes} are a pair of choices from |ord|, |op|, |bin|, |rel|, |open|, |close|, |punct|, and |inner|, and the \meta{style} is either |\scriptstyle|, |\scriptscriptstyle|, or the cramped version of each style. The \meta{skip} is the amount of muglue that typically appears between the \meta{classes} while in |\textstyle| or |\displaystyle|. The package takes that muglue and scales it by 0.6 for superscripts and subscripts and by 0.4 for second-order superscripts and subscripts. Table~1 shows the usual amounts of space between consecutive atom types. To actually code it, we define |\@tempa| to expand to various space-adjustment commands depending on package options.
+% \begin{macrocode}
+\ifIS at script % change \scriptstyle
+ \IS at info{Adjusting space for \string\scriptstyle.}
+ \IS at info{Adjusting space for \string\crampedscriptstyle.}
+ \ifIS at scriptscript % change \scriptscriptstyle
+ \IS at info{Adjusting space for \string\scriptscriptstyle.}
+ \IS at info{Adjusting space for \string\crampedscriptscriptstyle.}
+% \end{macrocode}
+% In this branch, |\@tempa| expands to space-adjustment commands for all four styles of superscripts and subscripts. The |#1| argument is a |\Umath| spacing primitive, and |#2| is a muglue register.
+% \begin{macrocode}
+ \def\@tempa#1#2{%
+ #1\scriptstyle \muexpr #2 * 6 / 10\relax
+ #1\crampedscriptstyle \muexpr #2 * 6 / 10\relax
+ #1\scriptscriptstyle \muexpr #2 * 4 / 10\relax
+ #1\crampedscriptscriptstyle\muexpr #2 * 4 / 10\relax}
+ \else % do not change \scriptscriptstyle
+ \IS at info{No space changes for \string\scriptscriptstyle.}
+ \IS at info{No space changes for \string\crampedscriptscriptstyle.}
+% \end{macrocode}
+% Now change just first-order superscripts and subscripts.
+% \begin{macrocode}
+ \def\@tempa#1#2{%
+ #1\scriptstyle \muexpr #2 * 6 / 10\relax
+ #1\crampedscriptstyle \muexpr #2 * 6 / 10\relax}
+ \fi
+\else % do not change \scriptstyle
+ \IS at info{No space changes for \string\scriptstyle.}
+ \IS at info{No space changes for \string\crampedscriptstyle.}
+ \ifIS at scriptscript % change \scriptscriptstyle
+ \IS at info{Adjusting space for \string\scriptscriptstyle.}
+ \IS at info{Adjusting space for \string\crampedscriptscriptstyle.}
+% \end{macrocode}
+% In this case, change just second-order superscripts and subscripts.
+% \begin{macrocode}
+ \def\@tempa#1#2{%
+ #1\scriptscriptstyle \muexpr #2 * 4 / 10\relax
+ #1\crampedscriptscriptstyle\muexpr #2 * 4 / 10\relax}
+ \else % do not change \scriptscriptstyle
+ \IS at info{No space changes for \string\scriptscriptstyle.}
+ \IS at info{No space changes for \string\crampedscriptscriptstyle.}
+% \end{macrocode}
+% And here change nothing.
+% \begin{macrocode}
+ \let\@tempa\@gobbletwo
+ \fi
+\fi
+% \end{macrocode}
+% Now actually make the space changes as applicable.
+% \begin{macrocode}
+ \@tempa{\Umathordopspacing} {\thinmuskip}
+ \@tempa{\Umathordbinspacing} {\medmuskip}
+ \@tempa{\Umathordrelspacing} {\thickmuskip}
+ \@tempa{\Umathordinnerspacing} {\thinmuskip}
+ \@tempa{\Umathopordspacing} {\thinmuskip}
+ \@tempa{\Umathopopspacing} {\thinmuskip}
+ \@tempa{\Umathoprelspacing} {\thickmuskip}
+ \@tempa{\Umathopinnerspacing} {\thickmuskip}
+ \@tempa{\Umathbinordspacing} {\medmuskip}
+ \@tempa{\Umathbinopspacing} {\medmuskip}
+ \@tempa{\Umathbinopenspacing} {\medmuskip}
+ \@tempa{\Umathbininnerspacing} {\medmuskip}
+ \@tempa{\Umathrelordspacing} {\thickmuskip}
+ \@tempa{\Umathrelopspacing} {\thickmuskip}
+ \@tempa{\Umathrelopenspacing} {\thickmuskip}
+ \@tempa{\Umathrelinnerspacing} {\thickmuskip}
+ \@tempa{\Umathcloseopspacing} {\thinmuskip}
+ \@tempa{\Umathclosebinspacing} {\medmuskip}
+ \@tempa{\Umathcloserelspacing} {\thickmuskip}
+ \@tempa{\Umathcloseinnerspacing}{\thinmuskip}
+ \@tempa{\Umathpunctordspacing} {\thinmuskip}
+ \@tempa{\Umathpunctopspacing} {\thinmuskip}
+ \@tempa{\Umathpunctrelspacing} {\thinmuskip}
+ \@tempa{\Umathpunctopenspacing} {\thinmuskip}
+ \@tempa{\Umathpunctclosespacing}{\thinmuskip}
+ \@tempa{\Umathpunctpunctspacing}{\thinmuskip}
+ \@tempa{\Umathpunctinnerspacing}{\thinmuskip}
+ \@tempa{\Umathinnerordspacing} {\thinmuskip}
+ \@tempa{\Umathinneropspacing} {\thinmuskip}
+ \@tempa{\Umathinnerbinspacing} {\medmuskip}
+ \@tempa{\Umathinnerrelspacing} {\thickmuskip}
+ \@tempa{\Umathinneropenspacing} {\thinmuskip}
+ \@tempa{\Umathinnerpunctspacing}{\thinmuskip}
+ \@tempa{\Umathinnerinnerspacing}{\thinmuskip}
+% \end{macrocode}
+%
+% \section{Mathclose Spacing}
+%
+% In |\textstyle| and |\displaystyle|, we add half a |\thinmuskip| between |\mathclose| and |\mathord| atoms. As with the |script| and |scriptscript| options, we scale the spacing by 0.6 and 0.4 for |\scriptstyle| and |\scriptscriptstyle| respectively. Even though |close| comes after |inner| in the options list in the user guide, it is important to put it before |inner| in the implementation. We should set all interatom spacing before changing the spacing around |\mathinner| subformulas because the |inner| spacing changes reference values of other |\Umath| spacing primitives.
+% \begin{macrocode}
+\ifIS at close
+ \IS at info{Adding space after closing grouping symbols.}
+ \Umathcloseordspacing\displaystyle \muexpr\thinmuskip / 2\relax
+ \Umathcloseordspacing\textstyle \muexpr\thinmuskip / 2\relax
+ \Umathcloseordspacing\crampeddisplaystyle \muexpr\thinmuskip / 2\relax
+ \Umathcloseordspacing\crampedtextstyle \muexpr\thinmuskip / 2\relax
+ \ifIS at script
+ \Umathcloseordspacing\scriptstyle \muexpr\thinmuskip * 3 / 10\relax
+ \Umathcloseordspacing\crampedscriptstyle\muexpr\thinmuskip * 3 / 10\relax
+ \fi
+ \ifIS at scriptscript
+ \Umathcloseordspacing\scriptscriptstyle \muexpr\thinmuskip / 5\relax
+ \Umathcloseordspacing\crampedscriptscriptstyle
+ \muexpr\thinmuskip / 5\relax
+ \fi
+\else
+ \IS at info{No changes to space after delimiters.}
+\fi
+% \end{macrocode}
+%
+%
+%
+%
+% \section{Mathinner Subformulas}
+%
+% Now set the spacing for |\mathinner| subformulas. Prior to version 1.4, \textsf{innerscript} spaced |\mathinner| subformulas under the |inner| option like |\mathord| atoms, but as of version 1.4, \textsf{innerscript} treats these subformulas like |\mathopen| on the left and |\mathclose| on the right. Every space adjustment in this section has the form
+% \begin{trivlist}
+% \item \hskip 2em |\Umath|\meta{classes}|spacing|\meta{style}|=\the\Umath|\meta{other classes}|spacing|\meta{style}|\relax|.
+% \end{trivlist}
+% In most cases, the \meta{classes} are a pair of |inner| and one of |ord|, |op|, |bin|, |rel|, |open|, |close|, or |punct|, and the \meta{other classes} are the same except with |inner| replaced with |open| or |close| depending on whether it appears on the left or the right. We can also have \meta{classes} be |innerinner|, in which case \meta{other classes} is |closeopen|. The \meta{style} is one of the eight math style commands: |\displaystyle|, |\textstyle|, |\scriptstyle|, |\scriptscriptstyle|, and the cramped versions. This section comes after |script| and |close| in the implementation because the spacing here depends on the spacing of other math classes.
+% \begin{macrocode}
+\ifIS at inner
+ \IS at info{Adjusting space around \string\mathinner\space subformulas.}
+% \end{macrocode}
+% First, we loop through the math classes and let |\@i| be a math class.
+% \begin{macrocode}
+ \@tfor\@i:=\displaystyle\crampeddisplaystyle
+ \textstyle\crampedtextstyle
+ \scriptstyle\crampedscriptstyle
+ \scriptscriptstyle\crampedscriptscriptstyle
+ \do{%
+% \end{macrocode}
+% For each style, first set |\Umathinnerinnerspacing|, and then loop through the math classes. We simultaneously set the spacing for atom pairs where |inner| appears either first or second. Apparently the |\Umath| spacing primitives do not expand the following control sequences in looking for a math style control sequence, so we need many |\expandafter|s here.
+% \begin{macrocode}
+ \expandafter\Umathinnerinnerspacing\@i=\expandafter
+ \the\expandafter\Umathcloseopenspacing\@i\relax
+ \@for\@j:=ord,op,bin,rel,open,close,punct\do{%
+ \csname Umath\@j innerspacing\expandafter\endcsname\@i=\the
+ \csname Umath\@j openspacing\expandafter\endcsname\@i\relax
+ \csname Umathinner\@j spacing\expandafter\endcsname\@i=\the
+ \csname Umathclose\@j spacing\expandafter\endcsname\@i\relax}}
+\else
+ \IS at info{No changes to space for \string\mathinner\space subformulas.}
+\fi
+% \end{macrocode}
+%
+%
+% \section{Delimiter Heights}
+%
+% Finally, filling out the delimiter heights is easy. We set |\delimiterfactor| to 1000.
+% \begin{macrocode}
+\ifIS at cover
+ \IS at info{Setting delimiters to full height.}
+ \delimiterfactor\@m
+\else
+ \IS at info{No changes to delimiter heights.}
+\fi
+\wlog{}
+% \end{macrocode}
+% And that's a wrap!
+%
+% \vfil\eject
+% \section*{Version History}
+% \begin{multicols*}{2}
+%
+% \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}
+%
+% \version{1.0}{February 2021}
+% \item initial release
+%
+% \version{1.1}{February 2021}
+% \item bug fix for |\mathinner| spacing
+% \item added |\IS at skip| muglue register
+%
+% \version{1.2}{November 2023}
+% \item redesigned spacing for options |script| and |scriptscript|
+% \item no more |\IS at skip|---options |script| and |scriptscript| now use |\the|
+% \item added option |close|
+% \item added option |cover|
+% \item separated implementation and user guide
+% \item added |\scalemu|
+%
+% \version{1.3}{August 2024}
+% \item bug fix involving |\cramedisplaystyle| typo
+%
+% \version{1.4}{April 2025}
+% \item refactored package code
+% \item |legacy-| package options for superscripts and subscripts now same as default options
+% \item use |\muexpr| instead of |\scalemu|
+% \item |inner| option changed to look more like |\mathopen| and |\mathclose| atoms
+%
+% \end{multicols*}
+%
+%
+%
+% \iffalse
+%</package>
+%<*user>
+\makeatletter
+\documentclass[12pt]{article}
+\usepackage[margin=72.27pt]{geometry}
+\usepackage[factor=700,stretch=14,shrink=14,step=1]{microtype}
+\usepackage{booktabs}
+\usepackage{tabularx}
+\usepackage{amsmath}
+\usepackage{doc}[=v2]
+\MakeShortVerb{|}
+\interfootnotelinepenalty=0
+
+\newbox\fracbox
+\setbox\fracbox\hbox{$\displaystyle\left(\frac x2\right)$}
+
+\c at topnumber=1
+\def\floatpagefraction{0}
+
+\begin{document}
+
+\def\documentname{User Guide}
+\input innerscript-heading.tex
+
+\def\@oddhead{\ifnum\c at page>\@ne
+ \ifodd\c at page
+ \hfil\the\c at page
+ \else
+ \the\c at page\hfil
+ \fi\fi}
+
+\noindent For several years before the first release of \textsf{innerscript}, I wondered whether it was possible to adjust two features of \TeX's automatic mathematics spacing, namely adding more space in superscripts and subscripts and removing the extra space around |\left|-|\right| delimiter pairs. Lua\TeX's extra math-mode primitives make these changes possible, and \textsf{innerscript} grew out of my desire to implement them in my documents. For example, compare the next two lines:
+\begin{flalign}
+&&\sum_{i=1}^n{}&x_i^{1+a}
+ &f(x)&=g\left(\frac1x\right)
+ &x(t)&y(t)
+ &\hskip0.5\wd\fracbox &\clap at math{\left(\frac{x}2\right)}
+ \hskip0.5\wd\fracbox
+ &&\\
+&&\sum_{i\mskip\scalemu{\thickmuskip}{0.6}=
+ \mskip\scalemu{\thickmuskip}{0.6}1}^n
+ {}&x_i^{1\mskip\scalemu{\medmuskip}{0.6}+
+ \mskip\scalemu{\medmuskip}{0.6} a}
+ &f(x)&=g{\left(\frac1x\right)}
+ &x(t)\mskip\scalemu{\thinmuskip}{0.25}&\mskip\scalemu{\thinmuskip}{0.25}y(t)
+ &\hskip0.5\wd\fracbox & \clap at math{\left(\frac{\vphantom{1}x}2\right)}
+ \hskip0.5\wd\fracbox
+ &&
+\end{flalign}
+Equation~(1) uses traditional \TeX\ formatting, and equation~(2) incorporates the small tweaks characteristic of \textsf{innerscript}. If you like equation~(2) more than equation~(1), then \textsf{innerscript} is the package for you! This file explains how to load \textsf{innerscript} and enable whichever adjustments you want to use. For version history and documentation of the code, see |innerscript-code.pdf|, which is included with the package installation and is available on \textsc{ctan}.
+
+\begin{figure}[p]
+\vbox to \vsize{
+
+\centerline{\large\bfseries Options and Behavior of \textsf{innerscript}}
+
+\bigskip
+\nointerlineskip\centerline{\vrule height 0.5pt width 2in}
+\medskip
+
+\centerline{\strut\bfseries Table~1: Package Behavior Shown in Equation (2)}
+\begin{tabular*}\textwidth{@{\extracolsep{\fill}}lllll}\toprule
+Part of equation (2) & Summation & Functions & Product & Fraction\\\midrule
+Option shown & |script| & |inner| & |close| & |cover|\\\bottomrule
+\end{tabular*}
+
+\vfil
+
+\centerline{\strut\bfseries Table~2: Package Options for \textsf{innerscript}}
+\begin{tabular*}\hsize{@{\extracolsep{\fill}}l>{\raggedright\arraybackslash}l}
+\toprule
+Package Option & Meaning\\
+\midrule
+|script| & Change |\scriptstyle| (and cramped style) spacing\\
+|scriptscript| & Change |\scriptscriptstyle| (and cramped style) spacing\\
+|inner| & Use |\mathord| spacing for |\mathinner| subformulas\\
+|close| & Extra space between \vrb\mathclose\vrb\mathord\ pairs\\
+|cover| & Resizable delimiters (i.e.\ |\left| and |\right|) fully cover contents\\\midrule
+|no-script| & No changes to |\scriptstyle| spacing\\
+|no-scriptscript| & No changes to |\scriptscriptstyle| spacing\\
+|no-inner| & No changes to treatment of |\mathinner| subformulas\\
+|no-close| & No changes to |\mathclose| atoms\\
+|no-cover| & No changes to resizable delimiters\\
+\bottomrule
+\end{tabular*}
+
+\vfil
+
+\centerline{\bfseries\strut Table 3: Usual Space Inserted by \TeX\ between Atoms}
+\begin{tabularx}{\textwidth}{Xp{1.1in}Xp{1.1in}}\toprule
+Consecutive Atom Types & Space Added & Consecutive Atom Types & Space Added\\\midrule
+\end{tabularx}
+\hb at xt@\hsize{\hss\bgroup
+\aboverulesep=0.7ex\relax
+\belowrulesep=0.7ex\relax
+\def\arraystretch{1.06}
+\begin{tabularx}{0.495\textwidth}{Xp{1.1in}}
+|\mathord||\mathop| & |\thinmuskip| \\
+|\mathord||\mathbin| & |\medmuskip| \\
+|\mathord||\mathrel| & |\thickmuskip| \\
+|\mathord||\mathinner| & |\thinmuskip| \\\midrule
+|\mathop||\mathord| & |\thinmuskip| \\
+|\mathop||\mathop| & |\thinmuskip| \\
+|\mathop||\mathrel| & |\thickmuskip| \\
+|\mathop||\mathinner| & |\thickmuskip| \\\midrule
+|\mathbin||\mathord| & |\medmuskip| \\
+|\mathbin||\mathop| & |\medmuskip| \\
+|\mathbin||\mathopen| & |\medmuskip| \\
+|\mathbin||\mathinner| & |\medmuskip| \\\midrule
+|\mathrel||\mathord| & |\thickmuskip| \\
+|\mathrel||\mathop| & |\thickmuskip| \\
+|\mathrel||\mathopen| & |\thickmuskip| \\
+|\mathrel||\mathinner| & |\thickmuskip| \\
+\end{tabularx}\egroup
+\hskip 0.01\textwidth
+\begin{tabularx}{0.495\textwidth}{Xp{1.1in}}
+|\mathclose||\mathop| & |\thinmuskip| \\
+|\mathclose||\mathbin| & |\medmuskip| \\
+|\mathclose||\mathrel| & |\thickmuskip| \\
+|\mathclose||\mathinner| & |\thinmuskip| \\\midrule
+|\mathpunct||\mathord| & |\thinmuskip| \\
+|\mathpunct||\mathop| & |\thinmuskip| \\
+|\mathpunct||\mathrel| & |\thinmuskip| \\
+|\mathpunct||\mathopen| & |\thinmuskip| \\
+|\mathpunct||\mathclose| & |\thinmuskip| \\
+|\mathpunct||\mathpunct| & |\thinmuskip| \\
+|\mathpunct||\mathinner| & |\thinmuskip| \\\midrule
+|\mathinner||\mathord| & |\thinmuskip| \\
+|\mathinner||\mathop| & |\thinmuskip| \\
+|\mathinner||\mathbin| & |\medmuskip| \\
+|\mathinner||\mathrel| & |\thickmuskip| \\
+|\mathinner||\mathopen| & |\thinmuskip| \\
+|\mathinner||\mathpunct| & |\thinmuskip| \\
+|\mathinner||\mathinner| & |\thinmuskip| \\
+\end{tabularx}}
+\vskip\aboverulesep
+\hrule height \heavyrulewidth}
+\end{figure}
+
+Table~1 explains which parts of equation~(2) show different aspects of \textsf{innerscript}'s behavior. At far left, the subscript under the summation symbol and the superscript of $x_i$ have small amounts of extra space around the |=| and |+| signs respectively, and at center-left, the $g$ is directly next to the parenthesis. At center-right, the closing parenthesis is offset from the following $y$, and on the right, the parentheses cover the entire fraction instead of covering only most of it. Using the package will automate some or all of these changes for you depending on which options you specify.
+
+Users can load \textsf{innerscript} with the standard |\usepackage| syntax, and to do so, you must typeset with Lua\TeX. If it detects a different engine, \textsf{innerscript} will raise an error and stop loading, so you will not see any changes to the math in your document. The package provides no user-level commands---rather, you can control its functionality through the ten options in Table~2. Options |script|, and |no-script| determine how \textsf{innerscript} treats superscripts and subscripts, and options |scriptscript|, and |no-scriptscript| are the same except that they deal with second-order superscripts and subscripts.\footnote{Version 1.2 of \textsf{innerscript} provided |legacy-| options for superscripts and subscripts with slightly different spacing. As of version 1.4, those options are officially deprecated. For backwards compatibility, \textsf{innerscript} still accepts |legacy-script| and |legacy-scriptscript| options, but they now produce the same space adjustments as |script| and |scriptscript|.} The |inner| option tells \TeX\ to avoid placing some extra spaces around |\mathinner| subformulas. Specifically, with this option, \TeX\ treats the left side of a |\mathinner| subformula like a left parenthesis and treats the right side like a right parenthesis. The |close| option adds a small amount of space after a closing grouping symbol, such as a right parenthesis, when it comes before a regular variable or number, and |cover| tells \TeX\ to make sure that resizable delimiters fully cover their contents. The |no-| variants disable formatting adjustments, and by default, \textsf{innerscript} enables all space adjustments described here.
+
+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 setting the interatom space in superscripts and subscripts to scaled-down versions of the standard spacing rules. Table~3 lists the space that \TeX\ inserts between atoms of different types in display or inline math. With option |script|, \textsf{innerscript} sets the interatom spacing in superscripts and subscripts to be 60\% of the amounts in Table~3, and with option |scriptscript|, \textsf{innerscript} sets the interatom space to be 40\% of the amounts in Table~3.\footnote{Technically, \textsf{innerscript} scales down the standard spacing twice because the exact length of a \vrb\muskip\ register varies proportionally with the surrounding font size. 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} inserted the same \vrb\muskip\ amounts from Table~3 in superscripts and subscripts, the sp!
acing would be exactly proportional to inline and display spacing. However, doing so produces math where the symbols appear too far apart visually, so before using them, \textsf{innerscript} scales down the \vrb\muskip\ amounts in Table~3.} Atom pairs that do not appear in Table~3 do not by default receive extra space from \TeX\ or \textsf{innerscript}.
+
+Finally, you are of course welcome to change the size of |\thinmuskip|, |\medmuskip|, or |\thickmuskip|, but I encourage you to do so before you load \textsf{innerscript}. If you do after loading this package, some of your changes will not register properly.
+
+\end{document}
+%
+%</user>
+%<*heading>
+%
+
+\csname count@\endcsname\catcode`\@
+\makeatletter
+
+% identifying macros
+\def\packageversion{1.4}
+\def\packagedate{April 2025}
+
+% general macros
+\MacroIndent=1.3em
+\def\scalemu#1#2{\muexpr#2#1
+ \@plus\muexpr#2\gluetomu\gluestretch\mutoglue#1\relax
+ \@minus\muexpr#2\gluetomu\glueshrink\mutoglue#1\relax\relax}
+\baselineskip=\the\baselineskip plus 0.3pt minus 0.3pt\relax
+
+% section, header, and footer commands
+\let\@@section\section
+\def\section{\@ifstar\star at sect\no at star@sect}
+\def\star at sect#1{\sectionhook{#1}\@@section*{#1}}
+\def\no at star@sect#1{\sectionhook{#1}\@@section{#1}}
+
+
+\def\sectionhook#1{%
+ \vskip 1in\relax
+ \kern\z@
+ \vskip -1in\relax
+ \kern\z@
+ \vskip\z@
+ \def\sectionname{#1}}
+
+\def\@oddhead{%
+ \ifnum\count0>1\relax
+ \ifodd\c at page
+ \rlap{\textit{\sectionname}}\hfil
+ \hbox to 0pt{\hss\documentname\hss}\hfil
+ \llap{\the\count0}%
+ \else
+ \rlap{\the\count0}\hfil
+ \hbox to 0pt{\hss\documentname\hss}\hfil
+ \llap{\textit{\sectionname}}%
+ \fi
+ \fi}
+\def\@oddfoot{\hfil\ifnum\count0=1\relax1\fi\hfil}
+
+
+% penalties
+\pretolerance=-1
+\hyphenpenalty=20
+\exhyphenpenalty=15
+\brokenpenalty=0
+\clubpenalty=0
+\widowpenalty=0
+\finalhyphendemerits=500
+\doublehyphendemerits=2000
+
+
+% code environment
+\def\argtext#1{\ensuremath{\langle$\textit{#1}$\rangle}}
+\def\vrb#1{\expandafter\texttt\expandafter{\string#1}}
+\def\clap at math#1{\hb at xt@\z@{\hss$\displaystyle#1$\hss}}
+
+
+% title line
+{\large
+\parindent=0pt
+\leftskip=0pt plus 1 fil
+\rightskip=0pt plus 1fil
+\parfillskip=0pt
+{\strut\Large Package \textsf{innerscript} v.\ \packageversion\ \documentname\par}
+\strut Conrad Kosowsky\par
+\strut \packagedate\par
+\strut\texttt{kosowsky.latex at gmail.com}\par}
+
+{\let\thefootnote\relax\footnotetext{Acknowledgements: Thanks to Sheldon Axler and Clea F. Rees for pointing a bug in a previous version of \textsf{innerscript}.}}
+
+\bigskip
+
+% off-the-shelf insert
+\hrule height \p@
+\@@line{\vrule width \p@\kern-\p@
+ \vbox{\medskip
+ \leftskip=8em\relax\rightskip=8em\relax
+ \noindent\strut For easy, off-the-shelf use, type the following
+ in your document preamble and compile using Lua\LaTeX:
+ \vskip\medskipamount
+ \noindent\hfil\strut|\usepackage{innerscript}|\hfil
+ \vskip\medskipamount}\relax
+ \kern-\p@\vrule width \p@}
+\hrule height \p@
+
+\bigskip
+
+% abstract
+{\small
+\leftskip=0.5in
+\rightskip=0.5in
+\centerline{\bfseries Overview\strut}
+\noindent The \textsf{innerscript} package optionally modifies four aspects of \TeX's automatic math formatting to improve typesetting: (1) it adds extra space around relation and operation symbols in superscripts and subscripts; (2) it removes extra space around |\left|-|\right| delimiter pairs; (3) it adds extra space after right delimiters in certain situations; and (4) it forces |\left| and |\right| delimiters to completely cover their contents. Using Lua\LaTeX\ is required.\par}
+
+\bigskip\bigskip\nointerlineskip
+\centerline{\vrule height 0.5pt width 2.5in}\bigskip\bigskip
+\nointerlineskip
+
+\catcode`\@\count@
+
+%
+%</heading>
+% \fi
+%
+%
+% \check at checksum
+%
+%
+\endinput
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/source/lualatex/innerscript/innerscript-code.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/source/lualatex/innerscript/innerscript_code.dtx
===================================================================
--- trunk/Master/texmf-dist/source/lualatex/innerscript/innerscript_code.dtx 2025-04-08 20:11:20 UTC (rev 74877)
+++ trunk/Master/texmf-dist/source/lualatex/innerscript/innerscript_code.dtx 2025-04-08 20:11:39 UTC (rev 74878)
@@ -1,1497 +0,0 @@
-% \iffalse ---!!! FIRST META-COMMENT !!!---
-%
-%
-% This file is innerscript_code.dtx from version 1.3
-% of the free and open-source LaTeX package "innerscript,"
-% released August 2024, to be used with the LuaTeX engine.
-%
-% Running Plain TeX on innerscript_code.dtx will
-% produce the following files:
-%
-% (1) the package file innerscript.sty;
-%
-% (2) the derived files innerscript_heading.tex
-% and innerscript_user_guide.tex, which are
-% used for typesetting documentation;
-%
-% and
-%
-% (3) a number of other derived files.
-%
-% Running LaTeX on innerscript_code.dtx will produce the
-% files listed above as well as the following:
-%
-% (4) the pdf documentation file innerscript_code.pdf;
-%
-% and
-%
-% (5) a number of other derived files.
-%
-% To install innerscript on your computer, run this file
-% through Plain TeX or LaTeX and move innerscript.sty
-% to a directory searchable by TeX. See the associated
-% README.txt file for installation information.
-%
-%
-% \fi
-% \iffalse ---!!! SECOND META-COMMENT !!!---
-%
-%
-% 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, 2024 Conrad Kosowsky
-%
-% This file may be distributed and modified under the terms
-% of the LaTeX Public Project License, version 1.3c or any
-% later version. The most recent version of this license is
-% available online at
-%
-% https://www.latex-project.org/lppl/
-%
-% This Work has the LPPL status "maintained," and the current
-% maintainer is the package author, Conrad Kosowsky. He can
-% be reached at kosowsky.latex at gmail.com. The Work consists
-% of the following items:
-%
-% (1) the base file innerscript.dtx;
-%
-% (2) the package file innerscript.sty;
-%
-% (3) the pdf documentation files innerscript_code.pdf
-% and innerscript_user_guide.pdf;
-%
-% (4) the derived file innerscript_heading.tex;
-%
-% (4) all other files created through the configuration
-% process;
-%
-% and
-%
-% (5) the associated README.txt file.
-%
-% PLEASE KNOW THAT THIS FREE SOFTWARE IS PROVIDED WITHOUT
-% ANY WARRANTY. SPECIFICALLY, THE "NO WARRANTY" SECTION OF
-% THE LATEX PROJECT PUBLIC LICENSE STATES THE FOLLOWING:
-%
-% THERE IS NO WARRANTY FOR THE WORK. EXCEPT WHEN OTHERWISE
-% STATED IN WRITING, THE COPYRIGHT HOLDER PROVIDES THE WORK
-% `AS IS’, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-% OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-% WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-% PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
-% OF THE WORK IS WITH YOU. SHOULD THE WORK PROVE DEFECTIVE,
-% YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR
-% CORRECTION.
-%
-% IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED
-% TO IN WRITING WILL THE COPYRIGHT HOLDER, OR ANY AUTHOR
-% NAMED IN THE COMPONENTS OF THE WORK, OR ANY OTHER PARTY
-% WHO MAY DISTRIBUTE AND/OR MODIFY THE WORK AS PERMITTED
-% ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
-% SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT
-% OF ANY USE OF THE WORK OR OUT OF INABILITY TO USE THE WORK
-% (INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA, DATA BEING
-% RENDERED INACCURATE, OR LOSSES SUSTAINED BY ANYONE AS A
-% RESULT OF ANY FAILURE OF THE WORK TO OPERATE WITH ANY
-% OTHER PROGRAMS), EVEN IF THE COPYRIGHT HOLDER OR SAID
-% AUTHOR OR SAID OTHER PARTY HAS BEEN ADVISED OF THE
-% POSSIBILITY OF SUCH DAMAGES.
-%
-% For more information, see the LaTeX Project Public License.
-% Derivative works based on this software may come with their
-% own license or terms of use, and the package author is not
-% responsible for any third-party software.
-%
-% Happy TeXing!
-%
-%
-% \fi
-% \iffalse
-%
-% The installation and driver files are incorporated into
-% innerscript_code.dtx, so we do not need to generate them
-% separately. The <batchfile> and <driver> tags are for
-% reference.
-%
-%<*batchfile>
-\begingroup
-\input docstrip.tex
-\keepsilent
-\askforoverwritefalse
-\preamble
-
-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, 2024 Conrad Kosowsky
-
-This file may be distributed and modified under the terms
-of the LaTeX Public Project License, version 1.3c or any
-later version. The most recent version of this license is
-available online at
-
- https://www.latex-project.org/lppl/
-
-This work has the LPPL status "maintained," and the current
-maintainer is the package author, Conrad Kosowsky. He can
-be reached at kosowsky.latex at gmail.com.
-
-PLEASE KNOW THAT THIS FREE SOFTWARE IS PROVIDED WITHOUT
-ANY WARRANTY. SPECIFICALLY, THE "NO WARRANTY" SECTION OF
-THE LATEX PROJECT PUBLIC LICENSE STATES THE FOLLOWING:
-
-THERE IS NO WARRANTY FOR THE WORK. EXCEPT WHEN OTHERWISE
-STATED IN WRITING, THE COPYRIGHT HOLDER PROVIDES THE WORK
-`AS IS’, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
-OF THE WORK IS WITH YOU. SHOULD THE WORK PROVE DEFECTIVE,
-YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR
-CORRECTION.
-
-IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED
-TO IN WRITING WILL THE COPYRIGHT HOLDER, OR ANY AUTHOR
-NAMED IN THE COMPONENTS OF THE WORK, OR ANY OTHER PARTY
-WHO MAY DISTRIBUTE AND/OR MODIFY THE WORK AS PERMITTED
-ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
-SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT
-OF ANY USE OF THE WORK OR OUT OF INABILITY TO USE THE WORK
-(INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA, DATA BEING
-RENDERED INACCURATE, OR LOSSES SUSTAINED BY ANYONE AS A
-RESULT OF ANY FAILURE OF THE WORK TO OPERATE WITH ANY
-OTHER PROGRAMS), EVEN IF THE COPYRIGHT HOLDER OR SAID
-AUTHOR OR SAID OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-For more information, see the LaTeX Project Public License.
-Derivative works based on this software may come with their
-own license or terms of use, and the package author is not
-responsible for any third-party software.
-
-Happy TeXing!
-
-\endpreamble
-\generate{\file{innerscript.sty}{\from{innerscript_code.dtx}{package}}
- \file{innerscript_user_guide.tex}{\from{innerscript_code.dtx}{user}}
- \file{innerscript_heading.tex}{\from{innerscript_code.dtx}{heading}}}
-\catcode`\ =12\relax
-\immediate\write0{^^J%
-****************************************************^^J%
-* Step 1 of the innerscript installation complete! *^^J%
-****************************************************^^J^^J%
-****************************************************^^J%
-* To finish installing the package, move *^^J%
-* innerscript.sty to a directory searchable by TeX *^^J%
-* after innerscript_code.tex is done typesetting *^^J%
-****************************************************^^J}
-\endgroup
-\ifx\LaTeX\undefined
- \immediate\write0{Plain TeX format used; quitting now.}
- \immediate\write0{To create innerscript_code.pdf, run^^J%
- innerscript_code.dtx through LaTeX.^^J^^J}
- \expandafter\end
-\fi
-%</batchfile>
-%<*driver>
-\makeatletter
-\documentclass[12pt,doc2,letterpaper]{ltxdoc}
-\usepackage[margin=72.27pt]{geometry}
-\usepackage[factor=700,stretch=14,shrink=14,step=1]{microtype}
-\usepackage{booktabs}
-\usepackage{tabularx}
-\usepackage{amsmath}
-\usepackage{multicol}
-\usepackage{graphicx}
-\begin{document}
- \def\documentname{Implementation}
- \input innerscript_heading.tex
- \DocInput{innerscript_code.dtx}
-\end{document}
-%</driver>
-%<*package>
-%
-% \fi
-%
-%
-% \CheckSum{1921}
-% \init at checksum
-%
-% \makeatother
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-% \makeatletter
-%
-%
-%
-% \noindent This file documents the code for the \textsf{innerscript} package. It is not a user guide! If you are looking for instructions on how to load \textsf{innerscript} and what it can do for your document, see |innerscript_user_guide.pdf|, which is included with the \textsf{innerscript} installation and is available on \textsc{ctan}. Section~1 begins with the package declaration and option processing. Sections~2 and 3 contain the code to adjust spacing between symbols in |\scriptstyle| and |\scriptscriptstyle| respectively, and Section~4 contains the code for adjusting the spacing around |\mathinner| subformulas. Section~5 handles spacing between |\mathclose| and |\mathord| atoms, and section~6 fills out the resizable delimiter heights. Version history appears at the end of the document.
-%
-%
-%
-% \section{Setup}
-%
-% We begin the implementation by declaring the package. The counts |\IS at script| and |\IS at scriptscript| and the conditionals |\ifIS at inner|, |\ifIS at close|, and |\ifIS at 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}[2024/08/19 v. 1.3 Package innerscript]
-\newcount\IS at script
-\newcount\IS at scriptscript
-\newif\ifIS at inner
-\newif\ifIS at close
-\newif\ifIS at cover
-% \end{macrocode}
-% And set default options.
-% \begin{macrocode}
-\IS at script\@ne
-\IS at scriptscript\@ne
-\IS at innertrue
-\IS at closetrue
-\IS at covertrue
-% \end{macrocode}
-% Now define and process the package options.
-% \begin{macrocode}
-\DeclareOption{script}{\IS at script\@ne}
-\DeclareOption{scriptscript}{\IS at scriptscript\@ne}
-\DeclareOption{inner}{\IS at innertrue}
-\DeclareOption{close}{\IS at closetrue}
-\DeclareOption{cover}{\IS at covertrue}
-\DeclareOption{legacy-script}{\IS at script\tw@}
-\DeclareOption{legacy-scriptscript}{\IS at scriptscript\tw@}
-\DeclareOption{no-script}{\IS at script\z@}
-\DeclareOption{no-scriptscript}{\IS at scriptscript\z@}
-\DeclareOption{no-inner}{\IS at innerfalse}
-\DeclareOption{no-close}{\IS at closefalse}
-\DeclareOption{no-cover}{\IS at coverfalse}
-\ProcessOptions*
-% \end{macrocode}
-% Check whether |\Umathordordspacing| is defined. If not, issue an error and |\endinput|. We normally can't print multiple spaces at once, so within a group, we change the space catcode to 12.
-% \begin{macrocode}
-\ifx\Umathordordspacing\@undefined
-\bgroup
-\catcode`\ =12\relax
-\def\IS at LuaTeXError{\GenericError{}%
-{\MessageBreak\MessageBreak
-Package innerscript error:%
-\MessageBreak\MessageBreak
-*******************\MessageBreak
-* *\MessageBreak
-* CANNOT LOAD *\MessageBreak
-* INNERSCRIPT *\MessageBreak
-* LuaTeX Needed *\MessageBreak
-* *\MessageBreak
-*******************\MessageBreak\@gobbletwo}%
-{See the innerscript package documentation for explanation.}%
-{I need LuaTeX to make the innerscript package work. It\MessageBreak
-looks like the current engine is something else, so I\MessageBreak
-can't load the package file. To use innerscript, please\MessageBreak
-typeset with LuaLaTeX. To continue without innerscript,\MessageBreak
-press return.}}%
-\expandafter\egroup
-\IS at LuaTeXError
- \AtEndOfPackage{\typeout{Package innerscript failed to load \on at line!}}
- \expandafter\endinput % we \endinput with a balanced conditional
-\fi
-% \end{macrocode}
-% To save space in the code, we define |\IS at info| to print an informational message in the |log| file. The macro |\scalemu| scales a muglue register. We use |\scalemu| instead of multiplying the register by a constant because |\scalemu| also affects the stretch and shrink instead of discarding them.
-% \begin{macrocode}
-\def\IS at info#1{\wlog{Package innerscript Info: #1}}
-\def\scalemu#1#2{\muexpr#2#1
- \@plus\muexpr#2\gluetomu\gluestretch\mutoglue#1\relax
- \@minus\muexpr#2\gluetomu\glueshrink\mutoglue#1\relax\relax}
-% \end{macrocode}
-%
-% \section{Scriptstyle Spacing}
-% First we set the spacing for |\scriptstyle| and |\crampedscriptstyle| atoms. Each space adjustment has the form
-% \begin{code}
-% |\Umath|\argtext{classes}|spacing|\meta{style}|=\scalemu{|\meta{skip}|}{0.6}|,
-% \end{code}
-% where the \meta{classes} are a pair of choices from |ord|, |op|, |bin|, |rel|, |open|, |close|, |punct|, and |inner|. The \meta{style} is either |\scriptstyle| or |\crampedscriptstyle|, and the \meta{skip} is the amount of muglue that typically appears between the \meta{classes} while in |\textstyle| or |\displaystyle|. As of version 1.2, we use |\scalemu| to scale the muglue registers. Table~1 shows the space inserted with option |script|.
-% \begin{figure}[t!]
-% \centerline{\bfseries\strut Table 1: Space Inserted with Option |script|}
-% \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lll}\toprule
-% Consecutive Atom Types & Default Space Added & Legacy Space Added\\\midrule
-% |\mathord||\mathop| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
-% |\mathord||\mathbin| & 0.6|\medmuskip| & 0.7|\thinmuskip| \\
-% |\mathord||\mathrel| & 0.6|\thickmuskip| & |\thinmuskip| \\
-% |\mathord||\mathinner| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\\midrule
-% |\mathop||\mathord| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
-% |\mathop||\mathop| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
-% |\mathop||\mathrel| & 0.6|\thickmuskip| & |\thinmuskip| \\
-% |\mathop||\mathinner| & 0.6|\thickmuskip| & |\thinmuskip| \\\midrule
-% |\mathbin||\mathord| & 0.6|\medmuskip| & 0.7|\thinmuskip| \\
-% |\mathbin||\mathop| & 0.6|\medmuskip| & 0.7|\thinmuskip| \\
-% |\mathbin||\mathopen| & 0.6|\medmuskip| & 0.7|\thinmuskip| \\
-% |\mathbin||\mathinner| & 0.6|\medmuskip| & 0.7|\thinmuskip| \\\midrule
-% |\mathrel||\mathord| & 0.6|\thickmuskip| & |\thinmuskip| \\
-% |\mathrel||\mathop| & 0.6|\thickmuskip| & |\thinmuskip| \\
-% |\mathrel||\mathopen| & 0.6|\thickmuskip| & |\thinmuskip| \\
-% |\mathrel||\mathinner| & 0.6|\thickmuskip| & |\thinmuskip| \\\midrule
-% |\mathclose||\mathop| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
-% |\mathclose||\mathbin| & 0.6|\medmuskip| & 0.7|\thinmuskip| \\
-% |\mathclose||\mathrel| & 0.6|\thickmuskip| & |\thinmuskip| \\
-% |\mathclose||\mathinner| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\\midrule
-% |\mathpunct||\mathord| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
-% |\mathpunct||\mathop| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
-% |\mathpunct||\mathrel| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
-% |\mathpunct||\mathopen| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
-% |\mathpunct||\mathclose| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
-% |\mathpunct||\mathpunct| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
-% |\mathpunct||\mathinner| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\\midrule
-% |\mathinner||\mathord| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
-% |\mathinner||\mathop| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
-% |\mathinner||\mathbin| & 0.6|\medmuskip| & 0.7|\thinmuskip| \\
-% |\mathinner||\mathrel| & 0.6|\thickmuskip| & |\thinmuskip| \\
-% |\mathinner||\mathopen| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
-% |\mathinner||\mathpunct| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
-% |\mathinner||\mathinner| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\\bottomrule
-% \end{tabular*}
-% \end{figure}
-% \begin{macrocode}
-\ifcase\IS at script % Case 0: No changes
- \IS at info{No space changes for \string\scriptstyle\space atoms.}
- \IS at info{No space changes for \string\crampedscriptstyle\space atoms.}
-\or % Case 1: Default changes
- \IS at info{Adjusting space for \string\scriptstyle\space atoms.}
- \IS at info{Adjusting space for \string\crampedscriptstyle\space atoms.}
-% \end{macrocode}
-% Default spacing changes for |\scriptstyle|.
-% \begin{macrocode}
- % \scriptstyle
- \Umathordopspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathordbinspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathordrelspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathordinnerspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathopordspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathopopspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathoprelspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathopinnerspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathbinordspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathbinopspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathbinopenspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathbininnerspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathrelordspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathrelopspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathrelopenspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathrelinnerspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathcloseopspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathclosebinspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathcloserelspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathcloseinnerspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctordspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctopspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctrelspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctopenspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctclosespacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctpunctspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctinnerspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinnerordspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinneropspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinnerbinspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathinnerrelspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathinneropenspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinnerpunctspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinnerinnerspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
-% \end{macrocode}
-% Default spacing changes for |\crampedscriptstyle|.
-% \begin{macrocode}
- % \crampedscriptstyle
- \Umathordopspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathordbinspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathordrelspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathordinnerspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathopordspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathopopspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathoprelspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathopinnerspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathbinordspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathbinopspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathbinopenspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathbininnerspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathrelordspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathrelopspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathrelopenspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathrelinnerspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathcloseopspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathclosebinspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathcloserelspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathcloseinnerspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctordspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctopspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctrelspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctopenspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctclosespacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctpunctspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctinnerspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinnerordspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinneropspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinnerbinspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathinnerrelspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathinneropenspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinnerpunctspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinnerinnerspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
-% \end{macrocode}
-% For backwards compatibility, we provide an option to use the spacing from \textsf{innerscript} version 1.1. Note that the old spacing does not use |\scalemu|.
-% \begin{macrocode}
-\or % Case 2: Changes from previous version of innerscript
- \IS at info{Using v. 1.1 space for \string\scriptstyle\space atoms.}
- \IS at info{Using v. 1.1 space for \string\crampedscriptstyle\space atoms.}
-% \end{macrocode}
-% Legacy spacing for |\scriptstyle|.
-% \begin{macrocode}
- % \scriptstyle
- \Umathordopspacing\scriptstyle=0.6\thinmuskip
- \Umathordbinspacing\scriptstyle=0.7\thinmuskip
- \Umathordrelspacing\scriptstyle=\thinmuskip
- \Umathordinnerspacing\scriptstyle=0.6\thinmuskip
- \Umathopordspacing\scriptstyle=0.6\thinmuskip
- \Umathopopspacing\scriptstyle=0.6\thinmuskip
- \Umathoprelspacing\scriptstyle=\thinmuskip
- \Umathopinnerspacing\scriptstyle=\thinmuskip
- \Umathbinordspacing\scriptstyle=0.7\thinmuskip
- \Umathbinopspacing\scriptstyle=0.7\thinmuskip
- \Umathbinopenspacing\scriptstyle=0.7\thinmuskip
- \Umathbininnerspacing\scriptstyle=0.7\thinmuskip
- \Umathrelordspacing\scriptstyle=\thinmuskip
- \Umathrelopspacing\scriptstyle=\thinmuskip
- \Umathrelopenspacing\scriptstyle=\thinmuskip
- \Umathrelinnerspacing\scriptstyle=\thinmuskip
- \Umathcloseopspacing\scriptstyle=0.6\thinmuskip
- \Umathclosebinspacing\scriptstyle=0.7\thinmuskip
- \Umathcloserelspacing\scriptstyle=\thinmuskip
- \Umathcloseinnerspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctordspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctopspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctrelspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctopenspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctclosespacing\scriptstyle=0.6\thinmuskip
- \Umathpunctpunctspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctinnerspacing\scriptstyle=0.6\thinmuskip
- \Umathinnerordspacing\scriptstyle=0.6\thinmuskip
- \Umathinneropspacing\scriptstyle=0.6\thinmuskip
- \Umathinnerbinspacing\scriptstyle=0.7\thinmuskip
- \Umathinnerrelspacing\scriptstyle=\thinmuskip
- \Umathinneropenspacing\scriptstyle=0.6\thinmuskip
- \Umathinnerpunctspacing\scriptstyle=0.6\thinmuskip
- \Umathinnerinnerspacing\scriptstyle=0.6\thinmuskip
-% \end{macrocode}
-% Legacy spacing for |\crampedscriptstyle|.
-% \begin{macrocode}
- % \crampedscriptstyle
- \Umathordopspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathordbinspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathordrelspacing\crampedscriptstyle=\thinmuskip
- \Umathordinnerspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathopordspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathopopspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathoprelspacing\crampedscriptstyle=\thinmuskip
- \Umathopinnerspacing\crampedscriptstyle=\thinmuskip
- \Umathbinordspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathbinopspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathbinopenspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathbininnerspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathrelordspacing\crampedscriptstyle=\thinmuskip
- \Umathrelopspacing\crampedscriptstyle=\thinmuskip
- \Umathrelopenspacing\crampedscriptstyle=\thinmuskip
- \Umathrelinnerspacing\crampedscriptstyle=\thinmuskip
- \Umathcloseopspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathclosebinspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathcloserelspacing\crampedscriptstyle=\thinmuskip
- \Umathcloseinnerspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctordspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctopspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctrelspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctopenspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctclosespacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctpunctspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctinnerspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathinnerordspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathinneropspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathinnerbinspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathinnerrelspacing\crampedscriptstyle=\thinmuskip
- \Umathinneropenspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathinnerpunctspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathinnerinnerspacing\crampedscriptstyle=0.6\thinmuskip
-\fi
-% \end{macrocode}
-%
-% \section{Scriptscriptstyle Spacing}
-%
-% Set the spacing for |\scriptscriptstyle| and |\crampedscriptscriptstyle|. The process is the same as it was for |\scriptstyle| except with a factor of 0.4 instead of 0.6. See Table~2 for amounts of space added with option |scriptscript|.
-% \begin{figure}[t!]
-% \centerline{\bfseries\strut Table 2: Space Inserted with Option |scriptscript|}
-% \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lll}\toprule
-% Consecutive Atom Types & Default Space Added & Legacy Space Added\\\midrule
-% |\mathord||\mathop| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathord||\mathbin| & 0.4|\medmuskip| & 0.5|\thinmuskip| \\
-% |\mathord||\mathrel| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\
-% |\mathord||\mathinner| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
-% |\mathop||\mathord| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathop||\mathop| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathop||\mathrel| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\
-% |\mathop||\mathinner| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\\midrule
-% |\mathbin||\mathord| & 0.4|\medmuskip| & 0.5|\thinmuskip| \\
-% |\mathbin||\mathop| & 0.4|\medmuskip| & 0.5|\thinmuskip| \\
-% |\mathbin||\mathopen| & 0.4|\medmuskip| & 0.5|\thinmuskip| \\
-% |\mathbin||\mathinner| & 0.4|\medmuskip| & 0.5|\thinmuskip| \\\midrule
-% |\mathrel||\mathord| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\
-% |\mathrel||\mathop| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\
-% |\mathrel||\mathopen| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\
-% |\mathrel||\mathinner| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\\midrule
-% |\mathclose||\mathop| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathclose||\mathbin| & 0.4|\medmuskip| & 0.5|\thinmuskip| \\
-% |\mathclose||\mathrel| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\
-% |\mathclose||\mathinner| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
-% |\mathpunct||\mathord| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathpunct||\mathop| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathpunct||\mathrel| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathpunct||\mathopen| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathpunct||\mathclose| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathpunct||\mathpunct| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathpunct||\mathinner| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
-% |\mathinner||\mathord| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathinner||\mathop| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathinner||\mathbin| & 0.4|\medmuskip| & 0.5|\thinmuskip| \\
-% |\mathinner||\mathrel| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\
-% |\mathinner||\mathopen| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathinner||\mathpunct| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathinner||\mathinner| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\\bottomrule
-% \end{tabular*}
-% \end{figure}
-% \begin{macrocode}
-\ifcase\IS at scriptscript % Case 0: No changes
- \IS at info{No space changes for \string\scriptscriptstyle\space atoms.}
- \IS at info{No space changes for
- \string\crampedscriptscriptstyle\space atoms.}
-\or % Case 1: Default changes
- \IS at info{Adjusting space for \string\scriptscriptstyle\space atoms.}
- \IS at info{Adjusting space for
- \string\crampedscriptscriptstyle\space atoms.}
-% \end{macrocode}
-% Default spacing changes for |\scriptscriptstyle|.
-% \begin{macrocode}
- % \scriptscriptstyle
- \Umathordopspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathordbinspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
- \Umathordrelspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathordinnerspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathopordspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathopopspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathoprelspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathopinnerspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathbinordspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
- \Umathbinopspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
- \Umathbinopenspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
- \Umathbininnerspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
- \Umathrelordspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathrelopspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathrelopenspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathrelinnerspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathcloseopspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathclosebinspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
- \Umathcloserelspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathcloseinnerspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathpunctordspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathpunctopspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathpunctrelspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathpunctopenspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathpunctclosespacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathpunctpunctspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathpunctinnerspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathinnerordspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathinneropspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathinnerbinspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
- \Umathinnerrelspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathinneropenspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathinnerpunctspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathinnerinnerspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
-% \end{macrocode}
-% Default spacing changes for |\crampedscriptscriptstyle|.
-% \begin{macrocode}
- % \crampedscriptscriptstyle
- \Umathordopspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathordbinspacing\crampedscriptscriptstyle=\scalemu
- {\medmuskip}{0.4}
- \Umathordrelspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathordinnerspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathopordspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathopopspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathoprelspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathopinnerspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathbinordspacing\crampedscriptscriptstyle=\scalemu
- {\medmuskip}{0.4}
- \Umathbinopspacing\crampedscriptscriptstyle=\scalemu
- {\medmuskip}{0.4}
- \Umathbinopenspacing\crampedscriptscriptstyle=\scalemu
- {\medmuskip}{0.4}
- \Umathbininnerspacing\crampedscriptscriptstyle=\scalemu
- {\medmuskip}{0.4}
- \Umathrelordspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathrelopspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathrelopenspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathrelinnerspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathcloseopspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathclosebinspacing\crampedscriptscriptstyle=\scalemu
- {\medmuskip}{0.4}
- \Umathcloserelspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathcloseinnerspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathpunctordspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathpunctopspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathpunctrelspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathpunctopenspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathpunctclosespacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathpunctpunctspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathpunctinnerspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathinnerordspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathinneropspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathinnerbinspacing\crampedscriptscriptstyle=\scalemu
- {\medmuskip}{0.4}
- \Umathinnerrelspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathinneropenspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathinnerpunctspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathinnerinnerspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
-% \end{macrocode}
-% Again, provide an option to use spacing from previous version.
-% \begin{macrocode}
-\or % Case 2: Changes from previous version of innerscript
- \IS at info{Using v. 1.1 space for \string\scriptscriptstyle\space atoms.}
- \IS at info{Using v. 1.1 space for
- \string\crampedscriptscriptstyle\space atoms.}
-% \end{macrocode}
-% Legacy spacing for |\scriptscriptstyle|.
-% \begin{macrocode}
- % \scriptscriptstyle
- \Umathordopspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathordbinspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathordrelspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathordinnerspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathopordspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathopopspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathoprelspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathopinnerspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathbinordspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathbinopspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathbinopenspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathbininnerspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathrelordspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathrelopspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathrelopenspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathrelinnerspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathcloseopspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathclosebinspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathcloserelspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathcloseinnerspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctordspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctopspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctrelspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctopenspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctclosespacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctpunctspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctinnerspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathinnerordspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathinneropspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathinnerbinspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathinnerrelspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathinneropenspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathinnerpunctspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathinnerinnerspacing\scriptscriptstyle=0.4\thinmuskip
-% \end{macrocode}
-% Legacy spacing for |\crampedscriptscriptstyle|.
-% \begin{macrocode}
- % \crampedscriptscriptstyle
- \Umathordopspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathordbinspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathordrelspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathordinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathopordspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathopopspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathoprelspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathopinnerspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathbinordspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathbinopspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathbinopenspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathbininnerspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathrelordspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathrelopspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathrelopenspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathrelinnerspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathcloseopspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathclosebinspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathcloserelspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathcloseinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctordspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctopspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctrelspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctopenspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctclosespacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctpunctspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathinnerordspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathinneropspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathinnerbinspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathinnerrelspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathinneropenspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathinnerpunctspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathinnerinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip
-\fi
-% \end{macrocode}
-%
-% \section{Mathinner Subformulas}
-%
-% Now set the spacing for |\mathinner| subformulas. For every atom type from |ord|, |op|, |bin|, |rel|, |open|, |close|, |punct|, and |inner|, we set the spacing that appears between that atom and a |\mathinner| subformula to the amount that normally appears between that type and a |\mathord| atom. Specifically, every space adjustment has the form
-% \begin{code}
-% |\Umath|\meta{atom}|innerspacing|\meta{style}|=|\\
-% | \the\Umath|\meta{atom}|ordspacing|\meta{style}|\relax|
-% \end{code}
-% 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 at inner
- \IS at 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}
- % \displaystyle
- \Umathordinnerspacing\displaystyle=
- \the\Umathordordspacing\displaystyle\relax
- \Umathopinnerspacing\displaystyle=
- \the\Umathopordspacing\displaystyle\relax
- \Umathbininnerspacing\displaystyle=
- \the\Umathbinordspacing\displaystyle\relax
- \Umathrelinnerspacing\displaystyle=
- \the\Umathrelordspacing\displaystyle\relax
- \Umathopeninnerspacing\displaystyle=
- \the\Umathopenordspacing\displaystyle\relax
- \Umathcloseinnerspacing\displaystyle=
- \the\Umathcloseordspacing\displaystyle\relax
- \Umathpunctinnerspacing\displaystyle=
- \the\Umathpunctordspacing\displaystyle\relax
-% \end{macrocode}
-% Changes for |\textstyle|.
-% \begin{macrocode}
- % \textstyle
- \Umathordinnerspacing\textstyle=
- \the\Umathordordspacing\textstyle\relax
- \Umathopinnerspacing\textstyle=
- \the\Umathopordspacing\textstyle\relax
- \Umathbininnerspacing\textstyle=
- \the\Umathbinordspacing\textstyle\relax
- \Umathrelinnerspacing\textstyle=
- \the\Umathrelordspacing\textstyle\relax
- \Umathopeninnerspacing\textstyle=
- \the\Umathopenordspacing\textstyle\relax
- \Umathcloseinnerspacing\textstyle=
- \the\Umathcloseordspacing\textstyle\relax
- \Umathpunctinnerspacing\textstyle=
- \the\Umathpunctordspacing\textstyle\relax
-% \end{macrocode}
-% Changes for |\scriptstyle|.
-% \begin{macrocode}
- % \scriptstyle
- \Umathordinnerspacing\scriptstyle=
- \the\Umathordordspacing\scriptstyle\relax
- \Umathopinnerspacing\scriptstyle=
- \the\Umathopordspacing\scriptstyle\relax
- \Umathbininnerspacing\scriptstyle=
- \the\Umathbinordspacing\scriptstyle\relax
- \Umathrelinnerspacing\scriptstyle=
- \the\Umathrelordspacing\scriptstyle\relax
- \Umathopeninnerspacing\scriptstyle=
- \the\Umathopenordspacing\scriptstyle\relax
- \Umathcloseinnerspacing\scriptstyle=
- \the\Umathcloseordspacing\scriptstyle\relax
- \Umathpunctinnerspacing\scriptstyle=
- \the\Umathpunctordspacing\scriptstyle\relax
-% \end{macrocode}
-% Changes for |\scriptscriptstyle|.
-% \begin{macrocode}
- % \scriptscriptstyle
- \Umathordinnerspacing\scriptscriptstyle=
- \the\Umathordordspacing\scriptscriptstyle\relax
- \Umathopinnerspacing\scriptscriptstyle=
- \the\Umathopordspacing\scriptscriptstyle\relax
- \Umathbininnerspacing\scriptscriptstyle=
- \the\Umathbinordspacing\scriptscriptstyle\relax
- \Umathrelinnerspacing\scriptscriptstyle=
- \the\Umathrelordspacing\scriptscriptstyle\relax
- \Umathopeninnerspacing\scriptscriptstyle=
- \the\Umathopenordspacing\scriptscriptstyle\relax
- \Umathcloseinnerspacing\scriptscriptstyle=
- \the\Umathcloseordspacing\scriptscriptstyle\relax
- \Umathpunctinnerspacing\scriptscriptstyle=
- \the\Umathpunctordspacing\scriptscriptstyle\relax
-% \end{macrocode}
-% Changes for |\crampeddisplaystyle|.
-% \begin{macrocode}
- % \crampeddisplaystyle
- \Umathordinnerspacing\crampeddisplaystyle=
- \the\Umathordordspacing\crampeddisplaystyle\relax
- \Umathopinnerspacing\crampeddisplaystyle=
- \the\Umathopordspacing\crampeddisplaystyle\relax
- \Umathbininnerspacing\crampeddisplaystyle=
- \the\Umathbinordspacing\crampeddisplaystyle\relax
- \Umathrelinnerspacing\crampeddisplaystyle=
- \the\Umathrelordspacing\crampeddisplaystyle\relax
- \Umathopeninnerspacing\crampeddisplaystyle=
- \the\Umathopenordspacing\crampeddisplaystyle\relax
- \Umathcloseinnerspacing\crampeddisplaystyle=
- \the\Umathcloseordspacing\crampeddisplaystyle\relax
- \Umathpunctinnerspacing\crampeddisplaystyle=
- \the\Umathpunctordspacing\crampeddisplaystyle\relax
-% \end{macrocode}
-% Changes for |\crampedtextstyle|.
-% \begin{macrocode}
- % \crampedtextstyle
- \Umathordinnerspacing\crampedtextstyle=
- \the\Umathordordspacing\crampedtextstyle\relax
- \Umathopinnerspacing\crampedtextstyle=
- \the\Umathopordspacing\crampedtextstyle\relax
- \Umathbininnerspacing\crampedtextstyle=
- \the\Umathbinordspacing\crampedtextstyle\relax
- \Umathrelinnerspacing\crampedtextstyle=
- \the\Umathrelordspacing\crampedtextstyle\relax
- \Umathopeninnerspacing\crampedtextstyle=
- \the\Umathopenordspacing\crampedtextstyle\relax
- \Umathcloseinnerspacing\crampedtextstyle=
- \the\Umathcloseordspacing\crampedtextstyle\relax
- \Umathpunctinnerspacing\crampedtextstyle=
- \the\Umathpunctordspacing\crampedtextstyle\relax
-% \end{macrocode}
-% Changes for |\crampedscriptstyle|.
-% \begin{macrocode}
- % \crampedscriptstyle
- \Umathordinnerspacing\crampedscriptstyle=
- \the\Umathordordspacing\crampedscriptstyle\relax
- \Umathopinnerspacing\crampedscriptstyle=
- \the\Umathopordspacing\crampedscriptstyle\relax
- \Umathbininnerspacing\crampedscriptstyle=
- \the\Umathbinordspacing\crampedscriptstyle\relax
- \Umathrelinnerspacing\crampedscriptstyle=
- \the\Umathrelordspacing\crampedscriptstyle\relax
- \Umathopeninnerspacing\crampedscriptstyle=
- \the\Umathopenordspacing\crampedscriptstyle\relax
- \Umathcloseinnerspacing\crampedscriptstyle=
- \the\Umathcloseordspacing\crampedscriptstyle\relax
- \Umathpunctinnerspacing\crampedscriptstyle=
- \the\Umathpunctordspacing\crampedscriptstyle\relax
-% \end{macrocode}
-% Changes for |\crampedscriptscriptstyle|.
-% \begin{macrocode}
- % \crampedscriptscriptstyle
- \Umathordinnerspacing\crampedscriptscriptstyle=
- \the\Umathordordspacing\crampedscriptscriptstyle\relax
- \Umathopinnerspacing\crampedscriptscriptstyle=
- \the\Umathopordspacing\crampedscriptscriptstyle\relax
- \Umathbininnerspacing\crampedscriptscriptstyle=
- \the\Umathbinordspacing\crampedscriptscriptstyle\relax
- \Umathrelinnerspacing\crampedscriptscriptstyle=
- \the\Umathrelordspacing\crampedscriptscriptstyle\relax
- \Umathopeninnerspacing\crampedscriptscriptstyle=
- \the\Umathopenordspacing\crampedscriptscriptstyle\relax
- \Umathcloseinnerspacing\crampedscriptscriptstyle=
- \the\Umathcloseordspacing\crampedscriptscriptstyle\relax
- \Umathpunctinnerspacing\crampedscriptscriptstyle=
- \the\Umathpunctordspacing\crampedscriptscriptstyle\relax
-% \end{macrocode}
-% Now handle the case when the first subformula is |\mathinner| followed by something else. Again we start with |\displaystyle|.
-% \begin{macrocode}
- % \displaystyle
- \Umathinnerordspacing\displaystyle=
- \the\Umathordordspacing\displaystyle\relax
- \Umathinneropspacing\displaystyle=
- \the\Umathordopspacing\displaystyle\relax
- \Umathinnerbinspacing\displaystyle=
- \the\Umathordbinspacing\displaystyle\relax
- \Umathinnerrelspacing\displaystyle=
- \the\Umathordrelspacing\displaystyle\relax
- \Umathinneropenspacing\displaystyle=
- \the\Umathordopenspacing\displaystyle\relax
- \Umathinnerclosespacing\displaystyle=
- \the\Umathordclosespacing\displaystyle\relax
- \Umathinnerpunctspacing\displaystyle=
- \the\Umathordpunctspacing\displaystyle\relax
-% \end{macrocode}
-% Changes for |\textstyle|.
-% \begin{macrocode}
- % \textstyle
- \Umathinnerordspacing\textstyle=
- \the\Umathordordspacing\textstyle\relax
- \Umathinneropspacing\textstyle=
- \the\Umathordopspacing\textstyle\relax
- \Umathinnerbinspacing\textstyle=
- \the\Umathordbinspacing\textstyle\relax
- \Umathinnerrelspacing\textstyle=
- \the\Umathordrelspacing\textstyle\relax
- \Umathinneropenspacing\textstyle=
- \the\Umathordopenspacing\textstyle\relax
- \Umathinnerclosespacing\textstyle=
- \the\Umathordclosespacing\textstyle\relax
- \Umathinnerpunctspacing\textstyle=
- \the\Umathordpunctspacing\textstyle\relax
-% \end{macrocode}
-% Changes for |\scriptstyle|.
-% \begin{macrocode}
- % \scriptstyle
- \Umathinnerordspacing\scriptstyle=
- \the\Umathordordspacing\scriptstyle\relax
- \Umathinneropspacing\scriptstyle=
- \the\Umathordopspacing\scriptstyle\relax
- \Umathinnerbinspacing\scriptstyle=
- \the\Umathordbinspacing\scriptstyle\relax
- \Umathinnerrelspacing\scriptstyle=
- \the\Umathordrelspacing\scriptstyle\relax
- \Umathinneropenspacing\scriptstyle=
- \the\Umathordopenspacing\scriptstyle\relax
- \Umathinnerclosespacing\scriptstyle=
- \the\Umathordclosespacing\scriptstyle\relax
- \Umathinnerpunctspacing\scriptstyle=
- \the\Umathordpunctspacing\scriptstyle\relax
-% \end{macrocode}
-% Changes for |\scriptscriptstyle|.
-% \begin{macrocode}
- % \scriptscriptstyle
- \Umathinnerordspacing\scriptscriptstyle=
- \the\Umathordordspacing\scriptscriptstyle\relax
- \Umathinneropspacing\scriptscriptstyle=
- \the\Umathordopspacing\scriptscriptstyle\relax
- \Umathinnerbinspacing\scriptscriptstyle=
- \the\Umathordbinspacing\scriptscriptstyle\relax
- \Umathinnerrelspacing\scriptscriptstyle=
- \the\Umathordrelspacing\scriptscriptstyle\relax
- \Umathinneropenspacing\scriptscriptstyle=
- \the\Umathordopenspacing\scriptscriptstyle\relax
- \Umathinnerclosespacing\scriptscriptstyle=
- \the\Umathordclosespacing\scriptscriptstyle\relax
- \Umathinnerpunctspacing\scriptscriptstyle=
- \the\Umathordpunctspacing\scriptscriptstyle\relax
-% \end{macrocode}
-% Changes for |\crampeddisplaystyle|.
-% \begin{macrocode}
- % \crampeddisplaystyle
- \Umathinnerordspacing\crampeddisplaystyle=
- \the\Umathordordspacing\crampeddisplaystyle\relax
- \Umathinneropspacing\crampeddisplaystyle=
- \the\Umathordopspacing\crampeddisplaystyle\relax
- \Umathinnerbinspacing\crampeddisplaystyle=
- \the\Umathordbinspacing\crampeddisplaystyle\relax
- \Umathinnerrelspacing\crampeddisplaystyle=
- \the\Umathordrelspacing\crampeddisplaystyle\relax
- \Umathinneropenspacing\crampeddisplaystyle=
- \the\Umathordopenspacing\crampeddisplaystyle\relax
- \Umathinnerclosespacing\crampeddisplaystyle=
- \the\Umathordclosespacing\crampeddisplaystyle\relax
- \Umathinnerpunctspacing\crampeddisplaystyle=
- \the\Umathordpunctspacing\crampeddisplaystyle\relax
-% \end{macrocode}
-% Changes for |\crampedtextstyle|.
-% \begin{macrocode}
- % \crampedtextstyle
- \Umathinnerordspacing\crampedtextstyle=
- \the\Umathordordspacing\crampedtextstyle\relax
- \Umathinneropspacing\crampedtextstyle=
- \the\Umathordopspacing\crampedtextstyle\relax
- \Umathinnerbinspacing\crampedtextstyle=
- \the\Umathordbinspacing\crampedtextstyle\relax
- \Umathinnerrelspacing\crampedtextstyle=
- \the\Umathordrelspacing\crampedtextstyle\relax
- \Umathinneropenspacing\crampedtextstyle=
- \the\Umathordopenspacing\crampedtextstyle\relax
- \Umathinnerclosespacing\crampedtextstyle=
- \the\Umathordclosespacing\crampedtextstyle\relax
- \Umathinnerpunctspacing\crampedtextstyle=
- \the\Umathordpunctspacing\crampedtextstyle\relax
-% \end{macrocode}
-% Changes for |\crampedscriptstyle|.
-% \begin{macrocode}
- % \crampedscriptstyle
- \Umathinnerordspacing\crampedscriptstyle=
- \the\Umathordordspacing\crampedscriptstyle\relax
- \Umathinneropspacing\crampedscriptstyle=
- \the\Umathordopspacing\crampedscriptstyle\relax
- \Umathinnerbinspacing\crampedscriptstyle=
- \the\Umathordbinspacing\crampedscriptstyle\relax
- \Umathinnerrelspacing\crampedscriptstyle=
- \the\Umathordrelspacing\crampedscriptstyle\relax
- \Umathinneropenspacing\crampedscriptstyle=
- \the\Umathordopenspacing\crampedscriptstyle\relax
- \Umathinnerclosespacing\crampedscriptstyle=
- \the\Umathordclosespacing\crampedscriptstyle\relax
- \Umathinnerpunctspacing\crampedscriptstyle=
- \the\Umathordpunctspacing\crampedscriptstyle\relax
-% \end{macrocode}
-% Changes for |\crampedscriptscriptstyle|.
-% \begin{macrocode}
- % \crampedscriptscriptstyle
- \Umathinnerordspacing\crampedscriptscriptstyle=
- \the\Umathordordspacing\crampedscriptscriptstyle\relax
- \Umathinneropspacing\crampedscriptscriptstyle=
- \the\Umathordopspacing\crampedscriptscriptstyle\relax
- \Umathinnerbinspacing\crampedscriptscriptstyle=
- \the\Umathordbinspacing\crampedscriptscriptstyle\relax
- \Umathinnerrelspacing\crampedscriptscriptstyle=
- \the\Umathordrelspacing\crampedscriptscriptstyle\relax
- \Umathinneropenspacing\crampedscriptscriptstyle=
- \the\Umathordopenspacing\crampedscriptscriptstyle\relax
- \Umathinnerclosespacing\crampedscriptscriptstyle=
- \the\Umathordclosespacing\crampedscriptscriptstyle\relax
- \Umathinnerpunctspacing\crampedscriptscriptstyle=
- \the\Umathordpunctspacing\crampedscriptscriptstyle\relax
-% \end{macrocode}
-% Finally the case where both subformulas are |\mathinner|.
-% \begin{macrocode}
- % both subformulas are \mathinner
- \Umathinnerinnerspacing\displaystyle=
- \the\Umathordordspacing\displaystyle\relax
- \Umathinnerinnerspacing\textstyle=
- \the\Umathordordspacing\textstyle\relax
- \Umathinnerinnerspacing\scriptstyle=
- \the\Umathordordspacing\scriptstyle\relax
- \Umathinnerinnerspacing\scriptscriptstyle=
- \the\Umathordordspacing\scriptscriptstyle\relax
- \Umathinnerinnerspacing\crampeddisplaystyle=
- \the\Umathordordspacing\crampeddisplaystyle\relax
- \Umathinnerinnerspacing\crampedtextstyle=
- \the\Umathordordspacing\crampedtextstyle\relax
- \Umathinnerinnerspacing\crampedscriptstyle=
- \the\Umathordordspacing\crampedscriptstyle\relax
- \Umathinnerinnerspacing\crampedscriptscriptstyle=
- \the\Umathordordspacing\crampedscriptscriptstyle\relax
-\else
- \IS at info{No changes to space for \string\mathinner\space subformulas.}
-\fi
-% \end{macrocode}
-%
-% \section{Mathclose Spacing}
-%
-% In |\textstyle| and |\displaystyle|, we add half a |\thinmuskip| between |\mathclose| and |\mathord| atoms. As with the |script| and |scriptscript| options, we scale the spacing by 0.6 and 0.4 for |\scriptstyle| and |\scriptscriptstyle| respectively. Section~5 comes after Section~4 because we do not want to enlarge the spacing between |\mathclose| and |\mathinner| subformulas.
-%
-% \begin{macrocode}
-\ifIS at close
- \IS at info{Adding space after closing delimiters.}
- \Umathcloseordspacing\displaystyle=\scalemu{\thinmuskip}{0.5}
- \Umathcloseordspacing\textstyle=\scalemu{\thinmuskip}{0.5}
- \Umathcloseordspacing\crampeddisplaystyle=\scalemu{\thinmuskip}{0.5}
- \Umathcloseordspacing\crampedtextstyle=\scalemu{\thinmuskip}{0.5}
- \ifnum\IS at script>0
- \Umathcloseordspacing\scriptstyle=\scalemu{\thinmuskip}{0.3}
- \Umathcloseordspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.3}
- \fi
- \ifnum\IS at scriptscript>0
- \Umathcloseordspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.2}
- \Umathcloseordspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.2}
- \fi
-\else
- \IS at info{No changes to space after delimiters.}
-\fi
-% \end{macrocode}
-%
-%
-% \section{Delimiter Heights}
-%
-% Finally, filling out the delimiter heights is easy. We set |\delimiterfactor| to 1000.
-% \begin{macrocode}
-\ifIS at cover
- \IS at info{Setting delimiters to full height.}
- \delimiterfactor\@m
-\else
- \IS at info{No changes to delimiter heights.}
-\fi
-% \end{macrocode}
-% And that's a wrap!
-%
-% \vfil\eject
-% \section*{Version History}
-% \begin{multicols*}{2}
-%
-% \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}
-%
-% \version{1.0}{February 2021}
-% \item initial release
-%
-% \version{1.1}{February 2021}
-% \item bug fix for |\mathinner| spacing
-% \item added |\IS at skip| muglue register
-%
-% \version{1.2}{November 2023}
-% \item redesigned spacing for options |script| and |scriptscript|
-% \item no more |\IS at skip|---options |script| and |scriptscript| now use |\the|
-% \item added option |close|
-% \item added option |cover|
-% \item separated implementation and user guide
-%
-% \version{1.3}{August 2024}
-% \item bug fix involving |\cramedisplaystyle| typo
-%
-% \end{multicols*}
-%
-%
-%
-% \iffalse
-%</package>
-%<*user>
-\makeatletter
-\documentclass[12pt]{article}
-\usepackage[margin=72.27pt]{geometry}
-\usepackage[factor=700,stretch=14,shrink=14,step=1]{microtype}
-\usepackage{booktabs}
-\usepackage{tabularx}
-\usepackage{amsmath}
-\usepackage{doc}[=v2]
-\MakeShortVerb{|}
-\interfootnotelinepenalty=0
-
-\newbox\fracbox
-\setbox\fracbox\hbox{$\displaystyle\left(\frac x2\right)$}
-
-\begin{document}
-
-\def\documentname{User Guide}
-\input innerscript_heading.tex
-
-\def\@oddhead{\ifnum\c at page>\@ne
- \ifodd\c at page
- \hfil\the\c at page
- \else
- \the\c at page\hfil
- \fi\fi}
-
-
-\begin{figure}[b]
-\centerline{\strut\bfseries Table~1: Package Behavior Shown in Each Part of Equation (2)}
-\begin{tabular*}\textwidth{@{\extracolsep{\fill}}lllll}\toprule
-Part of equation (2) & Summation & Functions & Product & Fraction\\\midrule
-Option shown & |script| & |inner| & |close| & |cover|\\\bottomrule
-\end{tabular*}
-\end{figure}
-
-
-\noindent For several years before the first release of \textsf{innerscript}, I wondered whether it was possible to adjust two features of \TeX's automatic mathematics spacing, namely adding more space in superscripts and subscripts and removing the extra space around |\left|-|\right| delimiter pairs. Lua\TeX's extra math-mode primitives make these changes possible, and \textsf{innerscript} grew out of my desire to implement them in my documents. For example, compare the next two lines:
-\begin{flalign}
-&&\sum_{i=1}^n{}&x_i^{1+a}
- &f(x)&=g\left(\frac1x\right)
- &x(t)&y(t)
- &\hskip0.5\wd\fracbox &\clap at math{\left(\frac{x}2\right)}
- \hskip0.5\wd\fracbox
- &&\\
-&&\sum_{i\mskip\scalemu{\thickmuskip}{0.6}=
- \mskip\scalemu{\thickmuskip}{0.6}1}^n
- {}&x_i^{1\mskip\scalemu{\medmuskip}{0.6}+
- \mskip\scalemu{\medmuskip}{0.6} a}
- &f(x)&=g{\left(\frac1x\right)}
- &x(t)\mskip\scalemu{\thinmuskip}{0.25}&\mskip\scalemu{\thinmuskip}{0.25}y(t)
- &\hskip0.5\wd\fracbox & \clap at math{\left(\frac{\vphantom{1}x}2\right)}
- \hskip0.5\wd\fracbox
- &&
-\end{flalign}
-Equation~(1) uses traditional \TeX\ formatting, and equation~(2) incorporates the small tweaks characteristic of \textsf{innerscript}. If you like equation~(2) more than equation~(1), then \textsf{innerscript} is the package for you! This file explains how to load \textsf{innerscript} and enable whichever adjustments you want to use. For version history and documentation of the code, see |innerscript_code.pdf|, which is included with the package installation and is available on \textsc{ctan}.
-
-Table~1 explains which parts of equation~(2) show different aspects of \textsf{innerscript}'s behavior. At far left, the subscript under the summation symbol and the superscript of $x_i$ have small amounts of extra space around the |=| and |+| signs respectively, and at center-left, the $g$ is directly next to the parenthesis. At center-right, the closing parenthesis is offset from the following $y$, and on the right, the parentheses cover the entire fraction instead of covering only most of it. Using the package will automate some or all of these changes for you depending on which options you specify.
-
-Users can load \textsf{innerscript} with the standard
-\begin{code}
-|\usepackage[|\meta{options}|]{innerscript}|
-\end{code}
-syntax, and when doing so, you must typeset with Lua\TeX. If it detects a different engine, \textsf{innerscript} will raise an error and stop loading, which will prevent it from changing the math in your document. The package provides no user-level commands---rather, you can control its functionality through the twelve options in Table~2. Options |script|, |legacy-|\penalty0|script|, and |no-script| determine how \textsf{innerscript} treats superscripts and subscripts. Options |scriptscript|, |legacy-scriptscript|, and |no-scriptscript| are the same except that they deal with second-order superscripts and subscripts. The |inner| option tells \TeX\ to avoid placing extra space around |\mathinner| subformulas, which in practice mostly means that \TeX\ will position |\left|-|\right| delimiter pairs the same way as ordinary variables such as $f$ or $g$ in equation~(2). The |close| option adds a small amount of space after a closing grouping symbol, such as a right parenthesis, when it comes before a regular variable or number, and |cover| tells \TeX\ to make sure that resizable delimiters fully cover their contents. The |no-|~variants disable formatting adjustments, and by default, \textsf{innerscript} selects the first five options from Table~2.
-
-
-
-
-\begin{figure}[t!]
-\centerline{\strut\bfseries Table~2: Package Options for \textsf{innerscript}}
-\begin{tabularx}\hsize{l>{\raggedright\arraybackslash}X}
-\toprule
-Package Option & Meaning\\
-\midrule
-|script| & Change |\scriptstyle| (and cramped style) spacing\\
-|scriptscript| & Change |\scriptscriptstyle| (and cramped style) spacing\\
-|inner| & Use |\mathord| spacing for |\mathinner| subformulas\\
-|close| & Extra space between \vrb\mathclose\vrb\mathord\ pairs\\
-|cover| & Resizable delimiters (i.e.\ |\left| and |\right|) fully cover contents\\\midrule
-|legacy-script| & Option |script| with legacy spacing (not recommended)\\
-|legacy-scriptscript| & Option |scriptscript| with legacy spacing (not recommended)\\\midrule
-|no-script| & No changes to |\scriptstyle| spacing\\
-|no-scriptscript| & No changes to |\scriptscriptstyle| spacing\\
-|no-inner| & No changes to treatment of |\mathinner| subformulas\\
-|no-close| & No changes to |\mathclose| atoms\\
-|no-cover| & No changes to resizable delimiters\\
-\bottomrule
-\end{tabularx}
-\end{figure}
-
-
-
-
-
-
-\begin{figure}[t!]
-\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| \\
-|\mathord||\mathbin| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
-|\mathord||\mathrel| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
-|\mathord||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
-|\mathop||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathop||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathop||\mathrel| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
-|\mathop||\mathinner| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\\midrule
-|\mathbin||\mathord| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
-|\mathbin||\mathop| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
-|\mathbin||\mathopen| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
-|\mathbin||\mathinner| & 0.6|\medmuskip| & 0.4|\medmuskip| \\\midrule
-|\mathrel||\mathord| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
-|\mathrel||\mathop| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
-|\mathrel||\mathopen| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
-|\mathrel||\mathinner| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\\midrule
-|\mathclose||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathclose||\mathbin| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
-|\mathclose||\mathrel| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
-|\mathclose||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
-|\mathpunct||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathrel| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathopen| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathclose| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathpunct| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
-|\mathinner||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathinner||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathinner||\mathbin| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
-|\mathinner||\mathrel| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
-|\mathinner||\mathopen| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathinner||\mathpunct| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathinner||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\bottomrule
-\end{tabular*}
-\end{figure}
-
-\iffalse %%% ignore %%%
-\begin{figure}[t!]
-\centerline{\bfseries\strut Table~4: Legacy Space Inserted by \textsf{innerscript}}
-\begin{tabularx}{\hsize}{p{2in}Xl}\toprule
-Consecutive Atom Types & Option |legacy-script| & Option |legacy-scriptscript|\\\midrule
-|\mathord||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathord||\mathbin| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-|\mathord||\mathrel| & |\thinmuskip| & 0.7|\thinmuskip| \\
-|\mathord||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
-|\mathop||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathop||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathop||\mathrel| & |\thinmuskip| & 0.7|\thinmuskip| \\
-|\mathop||\mathinner| & |\thinmuskip| & 0.7|\thinmuskip| \\\midrule
-|\mathbin||\mathord| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-|\mathbin||\mathop| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-|\mathbin||\mathopen| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-|\mathbin||\mathinner| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\\midrule
-|\mathrel||\mathord| & |\thinmuskip| & 0.7|\thinmuskip| \\
-|\mathrel||\mathop| & |\thinmuskip| & 0.7|\thinmuskip| \\
-|\mathrel||\mathopen| & |\thinmuskip| & 0.7|\thinmuskip| \\
-|\mathrel||\mathinner| & |\thinmuskip| & 0.7|\thinmuskip| \\\midrule
-|\mathclose||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathclose||\mathbin| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-|\mathclose||\mathrel| & |\thinmuskip| & 0.7|\thinmuskip| \\
-|\mathclose||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
-|\mathpunct||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathrel| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathopen| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathclose| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathpunct| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathpunct||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
-|\mathinner||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathinner||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathinner||\mathbin| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-|\mathinner||\mathrel| & |\thinmuskip| & 0.7|\thinmuskip| \\
-|\mathinner||\mathopen| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathinner||\mathpunct| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-|\mathinner||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\bottomrule
-\end{tabularx}
-\end{figure}
-\fi % end ignore
-
-
-
-
-\begin{figure}[t]
-\centerline{\bfseries\strut Table 4: Factors of \vrb\thinmuskip\ in Legacy Spacing}
-\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lcc}\toprule
-Skip Used in Current Version & For Option |script| & For Option |scriptscript|\\\midrule
-|\thinmuskip| & 0.6 & 0.4 \\
-|\medmuskip| & 0.7 & 0.5 \\
-|\thickmuskip| & 1 & 0.7\\\bottomrule
-\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. 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{inn!
erscript} 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.
-
-
-
-\end{document}
-%
-%</user>
-%<*heading>
-%
-
-\csname count@\endcsname\catcode`\@
-\makeatletter
-
-% identifying macros
-\def\packageversion{1.3}
-\def\packagedate{August 2024}
-
-% general macros
-\MacroIndent=1.3em
-\def\scalemu#1#2{\muexpr#2#1
- \@plus\muexpr#2\gluetomu\gluestretch\mutoglue#1\relax
- \@minus\muexpr#2\gluetomu\glueshrink\mutoglue#1\relax\relax}
-\baselineskip=\the\baselineskip plus 0.3pt minus 0.3pt\relax
-
-% section, header, and footer commands
-\let\@@section\section
-\def\section{\@ifstar\star at sect\no at star@sect}
-\def\star at sect#1{\sectionhook{#1}\@@section*{#1}}
-\def\no at star@sect#1{\sectionhook{#1}\@@section{#1}}
-
-
-\def\sectionhook#1{%
- \ifdim\dimexpr\pagegoal-\pagetotal-3pt\relax<6\bigskipamount
- \vfill\eject
- \fi
- \def\sectionname{#1}}
-
-\def\@oddhead{%
- \ifnum\count0>1\relax
- \ifodd\c at page
- \rlap{\textit{\sectionname}}\hfil
- \hbox to 0pt{\hss\documentname\hss}\hfil
- \llap{\the\count0}%
- \else
- \rlap{\the\count0}\hfil
- \hbox to 0pt{\hss\documentname\hss}\hfil
- \llap{\textit{\sectionname}}%
- \fi
- \fi}
-\def\@oddfoot{\hfil\ifnum\count0=1\relax1\fi\hfil}
-
-
-% penalties
-\pretolerance=-1
-\hyphenpenalty=20
-\exhyphenpenalty=15
-\brokenpenalty=0
-\clubpenalty=0
-\widowpenalty=0
-\finalhyphendemerits=500
-\doublehyphendemerits=2000
-
-
-% code environment
-\let\code\@undefined
-\let\endcode\@undefined
-\newenvironment{code}
- {\strut\vadjust\bgroup\medskip\parindent\z@\leftskip=4em\relax
- \noindent\strut\ignorespaces}
- {\strut\par\medskip\egroup\hfill\break\strut\ignorespacesafterend}
-\def\argtext#1{\ensuremath{\langle$\textit{#1}$\rangle}}
-\def\vrb#1{\expandafter\texttt\expandafter{\string#1}}
-\def\clap at math#1{\hb at xt@\z@{\hss$\displaystyle#1$\hss}}
-
-
-% title line
-{\large
-\parindent=0pt
-\leftskip=0pt plus 1 fil
-\rightskip=0pt plus 1fil
-\parfillskip=0pt
-{\strut\Large Package \textsf{innerscript} v.\ \packageversion\ \documentname}\par
-\strut Conrad Kosowsky\par
-\strut \packagedate\par
-\strut\texttt{kosowsky.latex at gmail.com}\par}
-
-\bigskip
-
-% off-the-shelf insert
-\hrule height \p@
-\@@line{\vrule width \p@\kern-\p@
- \vbox{\medskip
- \leftskip=8em\relax\rightskip=8em\relax
- \noindent\strut For easy, off-the-shelf use, type the following
- in your document preamble and compile using Lua\LaTeX:
- \vskip\medskipamount
- \noindent\hfil\strut|\usepackage{innerscript}|\hfil
- \vskip\medskipamount}\relax
- \kern-\p@\vrule width \p@}
-\hrule height \p@
-
-\bigskip
-
-% abstract
-{\small
-\leftskip=0.5in
-\rightskip=0.5in
-\centerline{\bfseries Overview\strut}
-\noindent The \textsf{innerscript} package optionally modifies four aspects of \TeX's automatic math formatting to improve typesetting: (1) it adds extra space around relation and operation symbols in superscripts and subscripts; (2) it removes extra space around |\left|-|\right| delimiter pairs; (3) it adds extra space after right delimiters in certain situations; and (4) it forces |\left| and |\right| delimiters to completely cover their contents. Using Lua\LaTeX\ is required.\par}
-
-\bigskip\bigskip\nointerlineskip
-\centerline{\vrule height 0.5pt width 2.5in}\bigskip\bigskip
-\nointerlineskip
-
-\catcode`\@\count@
-
-%
-%</heading>
-% \fi
-%
-%
-% \check at checksum
-%
-%
-\endinput
\ No newline at end of file
Modified: trunk/Master/texmf-dist/tex/lualatex/innerscript/innerscript.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/innerscript/innerscript.sty 2025-04-08 20:11:20 UTC (rev 74877)
+++ trunk/Master/texmf-dist/tex/lualatex/innerscript/innerscript.sty 2025-04-08 20:11:39 UTC (rev 74878)
@@ -4,13 +4,13 @@
%%
%% The original source files were:
%%
-%% innerscript_code.dtx (with options: `package')
+%% innerscript-code.dtx (with options: `package')
%%
-%% This file is from version 1.3 of the free and open-source
-%% LaTeX package "innerscript," released August 2024, to be
+%% This file is from version 1.4 of the free and open-source
+%% LaTeX package "innerscript," released April 2025, to be
%% used with the LuaTeX engine.
%%
-%% Copyright 2021, 2023, 2024 Conrad Kosowsky
+%% Copyright 2021, 2023-2025 Conrad Kosowsky
%%
%% This file may be distributed and modified under the terms
%% of the LaTeX Public Project License, version 1.3c or any
@@ -59,29 +59,36 @@
%% Happy TeXing!
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{innerscript}[2024/08/19 v. 1.3 Package innerscript]
-\newcount\IS at script
-\newcount\IS at scriptscript
+\ProvidesPackage{innerscript}[2025/04/07 v. 1.4 Package innerscript]
+\def\IS at info#1{\wlog{Package innerscript Info: #1}}
+\newif\ifIS at script
+\newif\ifIS at scriptscript
+\newif\ifIS at legacyscript
+\newif\ifIS at legacyscriptscript
\newif\ifIS at inner
\newif\ifIS at close
\newif\ifIS at cover
-\IS at script\@ne
-\IS at scriptscript\@ne
+\IS at scripttrue
+\IS at scriptscripttrue
+\IS at legacyscriptfalse
+\IS at legacyscriptscriptfalse
\IS at innertrue
\IS at closetrue
\IS at covertrue
-\DeclareOption{script}{\IS at script\@ne}
-\DeclareOption{scriptscript}{\IS at scriptscript\@ne}
-\DeclareOption{inner}{\IS at innertrue}
-\DeclareOption{close}{\IS at closetrue}
-\DeclareOption{cover}{\IS at covertrue}
-\DeclareOption{legacy-script}{\IS at script\tw@}
-\DeclareOption{legacy-scriptscript}{\IS at scriptscript\tw@}
-\DeclareOption{no-script}{\IS at script\z@}
-\DeclareOption{no-scriptscript}{\IS at scriptscript\z@}
-\DeclareOption{no-inner}{\IS at innerfalse}
-\DeclareOption{no-close}{\IS at closefalse}
-\DeclareOption{no-cover}{\IS at coverfalse}
+\DeclareOption{script} {\IS at scripttrue}
+\DeclareOption{scriptscript} {\IS at scriptscripttrue}
+\DeclareOption{inner} {\IS at innertrue}
+\DeclareOption{close} {\IS at closetrue}
+\DeclareOption{cover} {\IS at covertrue}
+\DeclareOption{legacy-script} {\IS at scripttrue
+ \IS at legacyscripttrue}
+\DeclareOption{legacy-scriptscript}{\IS at scriptscripttrue
+ \IS at legacyscriptscripttrue}
+\DeclareOption{no-script} {\IS at scriptfalse}
+\DeclareOption{no-scriptscript} {\IS at scriptscriptfalse}
+\DeclareOption{no-inner} {\IS at innerfalse}
+\DeclareOption{no-close} {\IS at closefalse}
+\DeclareOption{no-cover} {\IS at coverfalse}
\ProcessOptions*
\ifx\Umathordordspacing\@undefined
\bgroup
@@ -105,630 +112,126 @@
press return.}}%
\expandafter\egroup
\IS at LuaTeXError
- \AtEndOfPackage{\typeout{Package innerscript failed to load \on at line!}}
+ \AtEndOfPackage{\IS at info{Failed to load \on at line!}}
\expandafter\endinput % we \endinput with a balanced conditional
\fi
-\def\IS at info#1{\wlog{Package innerscript Info: #1}}
-\def\scalemu#1#2{\muexpr#2#1
- \@plus\muexpr#2\gluetomu\gluestretch\mutoglue#1\relax
- \@minus\muexpr#2\gluetomu\glueshrink\mutoglue#1\relax\relax}
-\ifcase\IS at script % Case 0: No changes
- \IS at info{No space changes for \string\scriptstyle\space atoms.}
- \IS at info{No space changes for \string\crampedscriptstyle\space atoms.}
-\or % Case 1: Default changes
- \IS at info{Adjusting space for \string\scriptstyle\space atoms.}
- \IS at info{Adjusting space for \string\crampedscriptstyle\space atoms.}
- % \scriptstyle
- \Umathordopspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathordbinspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathordrelspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathordinnerspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathopordspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathopopspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathoprelspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathopinnerspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathbinordspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathbinopspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathbinopenspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathbininnerspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathrelordspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathrelopspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathrelopenspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathrelinnerspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathcloseopspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathclosebinspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathcloserelspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathcloseinnerspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctordspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctopspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctrelspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctopenspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctclosespacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctpunctspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctinnerspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinnerordspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinneropspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinnerbinspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathinnerrelspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathinneropenspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinnerpunctspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinnerinnerspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
- % \crampedscriptstyle
- \Umathordopspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathordbinspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathordrelspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathordinnerspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathopordspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathopopspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathoprelspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathopinnerspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathbinordspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathbinopspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathbinopenspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathbininnerspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathrelordspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathrelopspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathrelopenspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathrelinnerspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathcloseopspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathclosebinspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathcloserelspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathcloseinnerspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctordspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctopspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctrelspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctopenspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctclosespacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctpunctspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathpunctinnerspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinnerordspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinneropspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinnerbinspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
- \Umathinnerrelspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
- \Umathinneropenspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinnerpunctspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
- \Umathinnerinnerspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
-\or % Case 2: Changes from previous version of innerscript
- \IS at info{Using v. 1.1 space for \string\scriptstyle\space atoms.}
- \IS at info{Using v. 1.1 space for \string\crampedscriptstyle\space atoms.}
- % \scriptstyle
- \Umathordopspacing\scriptstyle=0.6\thinmuskip
- \Umathordbinspacing\scriptstyle=0.7\thinmuskip
- \Umathordrelspacing\scriptstyle=\thinmuskip
- \Umathordinnerspacing\scriptstyle=0.6\thinmuskip
- \Umathopordspacing\scriptstyle=0.6\thinmuskip
- \Umathopopspacing\scriptstyle=0.6\thinmuskip
- \Umathoprelspacing\scriptstyle=\thinmuskip
- \Umathopinnerspacing\scriptstyle=\thinmuskip
- \Umathbinordspacing\scriptstyle=0.7\thinmuskip
- \Umathbinopspacing\scriptstyle=0.7\thinmuskip
- \Umathbinopenspacing\scriptstyle=0.7\thinmuskip
- \Umathbininnerspacing\scriptstyle=0.7\thinmuskip
- \Umathrelordspacing\scriptstyle=\thinmuskip
- \Umathrelopspacing\scriptstyle=\thinmuskip
- \Umathrelopenspacing\scriptstyle=\thinmuskip
- \Umathrelinnerspacing\scriptstyle=\thinmuskip
- \Umathcloseopspacing\scriptstyle=0.6\thinmuskip
- \Umathclosebinspacing\scriptstyle=0.7\thinmuskip
- \Umathcloserelspacing\scriptstyle=\thinmuskip
- \Umathcloseinnerspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctordspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctopspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctrelspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctopenspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctclosespacing\scriptstyle=0.6\thinmuskip
- \Umathpunctpunctspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctinnerspacing\scriptstyle=0.6\thinmuskip
- \Umathinnerordspacing\scriptstyle=0.6\thinmuskip
- \Umathinneropspacing\scriptstyle=0.6\thinmuskip
- \Umathinnerbinspacing\scriptstyle=0.7\thinmuskip
- \Umathinnerrelspacing\scriptstyle=\thinmuskip
- \Umathinneropenspacing\scriptstyle=0.6\thinmuskip
- \Umathinnerpunctspacing\scriptstyle=0.6\thinmuskip
- \Umathinnerinnerspacing\scriptstyle=0.6\thinmuskip
- % \crampedscriptstyle
- \Umathordopspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathordbinspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathordrelspacing\crampedscriptstyle=\thinmuskip
- \Umathordinnerspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathopordspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathopopspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathoprelspacing\crampedscriptstyle=\thinmuskip
- \Umathopinnerspacing\crampedscriptstyle=\thinmuskip
- \Umathbinordspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathbinopspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathbinopenspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathbininnerspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathrelordspacing\crampedscriptstyle=\thinmuskip
- \Umathrelopspacing\crampedscriptstyle=\thinmuskip
- \Umathrelopenspacing\crampedscriptstyle=\thinmuskip
- \Umathrelinnerspacing\crampedscriptstyle=\thinmuskip
- \Umathcloseopspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathclosebinspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathcloserelspacing\crampedscriptstyle=\thinmuskip
- \Umathcloseinnerspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctordspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctopspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctrelspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctopenspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctclosespacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctpunctspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctinnerspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathinnerordspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathinneropspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathinnerbinspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathinnerrelspacing\crampedscriptstyle=\thinmuskip
- \Umathinneropenspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathinnerpunctspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathinnerinnerspacing\crampedscriptstyle=0.6\thinmuskip
+\def\@tempa{%
+ \PackageWarningNoLine{innerscript}
+ {I'm ignoring your request for\MessageBreak
+ legacy spacing\on at line\MessageBreak
+ and using the default space\MessageBreak
+ adjustments instead since this\MessageBreak
+ package option is deprecated}}
+\ifIS at legacyscript
+\else
+ \ifIS at legacyscriptscript
+ \else
+ \let\@tempa\relax
+ \fi
\fi
-\ifcase\IS at scriptscript % Case 0: No changes
- \IS at info{No space changes for \string\scriptscriptstyle\space atoms.}
- \IS at info{No space changes for
- \string\crampedscriptscriptstyle\space atoms.}
-\or % Case 1: Default changes
- \IS at info{Adjusting space for \string\scriptscriptstyle\space atoms.}
- \IS at info{Adjusting space for
- \string\crampedscriptscriptstyle\space atoms.}
- % \scriptscriptstyle
- \Umathordopspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathordbinspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
- \Umathordrelspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathordinnerspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathopordspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathopopspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathoprelspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathopinnerspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathbinordspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
- \Umathbinopspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
- \Umathbinopenspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
- \Umathbininnerspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
- \Umathrelordspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathrelopspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathrelopenspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathrelinnerspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathcloseopspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathclosebinspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
- \Umathcloserelspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathcloseinnerspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathpunctordspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathpunctopspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathpunctrelspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathpunctopenspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathpunctclosespacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathpunctpunctspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathpunctinnerspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathinnerordspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathinneropspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathinnerbinspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
- \Umathinnerrelspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
- \Umathinneropenspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathinnerpunctspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- \Umathinnerinnerspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
- % \crampedscriptscriptstyle
- \Umathordopspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathordbinspacing\crampedscriptscriptstyle=\scalemu
- {\medmuskip}{0.4}
- \Umathordrelspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathordinnerspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathopordspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathopopspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathoprelspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathopinnerspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathbinordspacing\crampedscriptscriptstyle=\scalemu
- {\medmuskip}{0.4}
- \Umathbinopspacing\crampedscriptscriptstyle=\scalemu
- {\medmuskip}{0.4}
- \Umathbinopenspacing\crampedscriptscriptstyle=\scalemu
- {\medmuskip}{0.4}
- \Umathbininnerspacing\crampedscriptscriptstyle=\scalemu
- {\medmuskip}{0.4}
- \Umathrelordspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathrelopspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathrelopenspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathrelinnerspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathcloseopspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathclosebinspacing\crampedscriptscriptstyle=\scalemu
- {\medmuskip}{0.4}
- \Umathcloserelspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathcloseinnerspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathpunctordspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathpunctopspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathpunctrelspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathpunctopenspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathpunctclosespacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathpunctpunctspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathpunctinnerspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathinnerordspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathinneropspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathinnerbinspacing\crampedscriptscriptstyle=\scalemu
- {\medmuskip}{0.4}
- \Umathinnerrelspacing\crampedscriptscriptstyle=\scalemu
- {\thickmuskip}{0.4}
- \Umathinneropenspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathinnerpunctspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
- \Umathinnerinnerspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.4}
-\or % Case 2: Changes from previous version of innerscript
- \IS at info{Using v. 1.1 space for \string\scriptscriptstyle\space atoms.}
- \IS at info{Using v. 1.1 space for
- \string\crampedscriptscriptstyle\space atoms.}
- % \scriptscriptstyle
- \Umathordopspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathordbinspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathordrelspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathordinnerspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathopordspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathopopspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathoprelspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathopinnerspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathbinordspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathbinopspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathbinopenspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathbininnerspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathrelordspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathrelopspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathrelopenspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathrelinnerspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathcloseopspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathclosebinspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathcloserelspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathcloseinnerspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctordspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctopspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctrelspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctopenspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctclosespacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctpunctspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctinnerspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathinnerordspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathinneropspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathinnerbinspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathinnerrelspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathinneropenspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathinnerpunctspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathinnerinnerspacing\scriptscriptstyle=0.4\thinmuskip
- % \crampedscriptscriptstyle
- \Umathordopspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathordbinspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathordrelspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathordinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathopordspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathopopspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathoprelspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathopinnerspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathbinordspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathbinopspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathbinopenspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathbininnerspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathrelordspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathrelopspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathrelopenspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathrelinnerspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathcloseopspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathclosebinspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathcloserelspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathcloseinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctordspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctopspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctrelspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctopenspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctclosespacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctpunctspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathinnerordspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathinneropspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathinnerbinspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathinnerrelspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathinneropenspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathinnerpunctspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathinnerinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip
+\@tempa
+\ifIS at script % change \scriptstyle
+ \IS at info{Adjusting space for \string\scriptstyle.}
+ \IS at info{Adjusting space for \string\crampedscriptstyle.}
+ \ifIS at scriptscript % change \scriptscriptstyle
+ \IS at info{Adjusting space for \string\scriptscriptstyle.}
+ \IS at info{Adjusting space for \string\crampedscriptscriptstyle.}
+ \def\@tempa#1#2{%
+ #1\scriptstyle \muexpr #2 * 6 / 10\relax
+ #1\crampedscriptstyle \muexpr #2 * 6 / 10\relax
+ #1\scriptscriptstyle \muexpr #2 * 4 / 10\relax
+ #1\crampedscriptscriptstyle\muexpr #2 * 4 / 10\relax}
+ \else % do not change \scriptscriptstyle
+ \IS at info{No space changes for \string\scriptscriptstyle.}
+ \IS at info{No space changes for \string\crampedscriptscriptstyle.}
+ \def\@tempa#1#2{%
+ #1\scriptstyle \muexpr #2 * 6 / 10\relax
+ #1\crampedscriptstyle \muexpr #2 * 6 / 10\relax}
+ \fi
+\else % do not change \scriptstyle
+ \IS at info{No space changes for \string\scriptstyle.}
+ \IS at info{No space changes for \string\crampedscriptstyle.}
+ \ifIS at scriptscript % change \scriptscriptstyle
+ \IS at info{Adjusting space for \string\scriptscriptstyle.}
+ \IS at info{Adjusting space for \string\crampedscriptscriptstyle.}
+ \def\@tempa#1#2{%
+ #1\scriptscriptstyle \muexpr #2 * 4 / 10\relax
+ #1\crampedscriptscriptstyle\muexpr #2 * 4 / 10\relax}
+ \else % do not change \scriptscriptstyle
+ \IS at info{No space changes for \string\scriptscriptstyle.}
+ \IS at info{No space changes for \string\crampedscriptscriptstyle.}
+ \let\@tempa\@gobbletwo
+ \fi
\fi
-\ifIS at inner
- \IS at info{Adjusting space around \string\mathinner\space subformulas.}
- % \displaystyle
- \Umathordinnerspacing\displaystyle=
- \the\Umathordordspacing\displaystyle\relax
- \Umathopinnerspacing\displaystyle=
- \the\Umathopordspacing\displaystyle\relax
- \Umathbininnerspacing\displaystyle=
- \the\Umathbinordspacing\displaystyle\relax
- \Umathrelinnerspacing\displaystyle=
- \the\Umathrelordspacing\displaystyle\relax
- \Umathopeninnerspacing\displaystyle=
- \the\Umathopenordspacing\displaystyle\relax
- \Umathcloseinnerspacing\displaystyle=
- \the\Umathcloseordspacing\displaystyle\relax
- \Umathpunctinnerspacing\displaystyle=
- \the\Umathpunctordspacing\displaystyle\relax
- % \textstyle
- \Umathordinnerspacing\textstyle=
- \the\Umathordordspacing\textstyle\relax
- \Umathopinnerspacing\textstyle=
- \the\Umathopordspacing\textstyle\relax
- \Umathbininnerspacing\textstyle=
- \the\Umathbinordspacing\textstyle\relax
- \Umathrelinnerspacing\textstyle=
- \the\Umathrelordspacing\textstyle\relax
- \Umathopeninnerspacing\textstyle=
- \the\Umathopenordspacing\textstyle\relax
- \Umathcloseinnerspacing\textstyle=
- \the\Umathcloseordspacing\textstyle\relax
- \Umathpunctinnerspacing\textstyle=
- \the\Umathpunctordspacing\textstyle\relax
- % \scriptstyle
- \Umathordinnerspacing\scriptstyle=
- \the\Umathordordspacing\scriptstyle\relax
- \Umathopinnerspacing\scriptstyle=
- \the\Umathopordspacing\scriptstyle\relax
- \Umathbininnerspacing\scriptstyle=
- \the\Umathbinordspacing\scriptstyle\relax
- \Umathrelinnerspacing\scriptstyle=
- \the\Umathrelordspacing\scriptstyle\relax
- \Umathopeninnerspacing\scriptstyle=
- \the\Umathopenordspacing\scriptstyle\relax
- \Umathcloseinnerspacing\scriptstyle=
- \the\Umathcloseordspacing\scriptstyle\relax
- \Umathpunctinnerspacing\scriptstyle=
- \the\Umathpunctordspacing\scriptstyle\relax
- % \scriptscriptstyle
- \Umathordinnerspacing\scriptscriptstyle=
- \the\Umathordordspacing\scriptscriptstyle\relax
- \Umathopinnerspacing\scriptscriptstyle=
- \the\Umathopordspacing\scriptscriptstyle\relax
- \Umathbininnerspacing\scriptscriptstyle=
- \the\Umathbinordspacing\scriptscriptstyle\relax
- \Umathrelinnerspacing\scriptscriptstyle=
- \the\Umathrelordspacing\scriptscriptstyle\relax
- \Umathopeninnerspacing\scriptscriptstyle=
- \the\Umathopenordspacing\scriptscriptstyle\relax
- \Umathcloseinnerspacing\scriptscriptstyle=
- \the\Umathcloseordspacing\scriptscriptstyle\relax
- \Umathpunctinnerspacing\scriptscriptstyle=
- \the\Umathpunctordspacing\scriptscriptstyle\relax
- % \crampeddisplaystyle
- \Umathordinnerspacing\crampeddisplaystyle=
- \the\Umathordordspacing\crampeddisplaystyle\relax
- \Umathopinnerspacing\crampeddisplaystyle=
- \the\Umathopordspacing\crampeddisplaystyle\relax
- \Umathbininnerspacing\crampeddisplaystyle=
- \the\Umathbinordspacing\crampeddisplaystyle\relax
- \Umathrelinnerspacing\crampeddisplaystyle=
- \the\Umathrelordspacing\crampeddisplaystyle\relax
- \Umathopeninnerspacing\crampeddisplaystyle=
- \the\Umathopenordspacing\crampeddisplaystyle\relax
- \Umathcloseinnerspacing\crampeddisplaystyle=
- \the\Umathcloseordspacing\crampeddisplaystyle\relax
- \Umathpunctinnerspacing\crampeddisplaystyle=
- \the\Umathpunctordspacing\crampeddisplaystyle\relax
- % \crampedtextstyle
- \Umathordinnerspacing\crampedtextstyle=
- \the\Umathordordspacing\crampedtextstyle\relax
- \Umathopinnerspacing\crampedtextstyle=
- \the\Umathopordspacing\crampedtextstyle\relax
- \Umathbininnerspacing\crampedtextstyle=
- \the\Umathbinordspacing\crampedtextstyle\relax
- \Umathrelinnerspacing\crampedtextstyle=
- \the\Umathrelordspacing\crampedtextstyle\relax
- \Umathopeninnerspacing\crampedtextstyle=
- \the\Umathopenordspacing\crampedtextstyle\relax
- \Umathcloseinnerspacing\crampedtextstyle=
- \the\Umathcloseordspacing\crampedtextstyle\relax
- \Umathpunctinnerspacing\crampedtextstyle=
- \the\Umathpunctordspacing\crampedtextstyle\relax
- % \crampedscriptstyle
- \Umathordinnerspacing\crampedscriptstyle=
- \the\Umathordordspacing\crampedscriptstyle\relax
- \Umathopinnerspacing\crampedscriptstyle=
- \the\Umathopordspacing\crampedscriptstyle\relax
- \Umathbininnerspacing\crampedscriptstyle=
- \the\Umathbinordspacing\crampedscriptstyle\relax
- \Umathrelinnerspacing\crampedscriptstyle=
- \the\Umathrelordspacing\crampedscriptstyle\relax
- \Umathopeninnerspacing\crampedscriptstyle=
- \the\Umathopenordspacing\crampedscriptstyle\relax
- \Umathcloseinnerspacing\crampedscriptstyle=
- \the\Umathcloseordspacing\crampedscriptstyle\relax
- \Umathpunctinnerspacing\crampedscriptstyle=
- \the\Umathpunctordspacing\crampedscriptstyle\relax
- % \crampedscriptscriptstyle
- \Umathordinnerspacing\crampedscriptscriptstyle=
- \the\Umathordordspacing\crampedscriptscriptstyle\relax
- \Umathopinnerspacing\crampedscriptscriptstyle=
- \the\Umathopordspacing\crampedscriptscriptstyle\relax
- \Umathbininnerspacing\crampedscriptscriptstyle=
- \the\Umathbinordspacing\crampedscriptscriptstyle\relax
- \Umathrelinnerspacing\crampedscriptscriptstyle=
- \the\Umathrelordspacing\crampedscriptscriptstyle\relax
- \Umathopeninnerspacing\crampedscriptscriptstyle=
- \the\Umathopenordspacing\crampedscriptscriptstyle\relax
- \Umathcloseinnerspacing\crampedscriptscriptstyle=
- \the\Umathcloseordspacing\crampedscriptscriptstyle\relax
- \Umathpunctinnerspacing\crampedscriptscriptstyle=
- \the\Umathpunctordspacing\crampedscriptscriptstyle\relax
- % \displaystyle
- \Umathinnerordspacing\displaystyle=
- \the\Umathordordspacing\displaystyle\relax
- \Umathinneropspacing\displaystyle=
- \the\Umathordopspacing\displaystyle\relax
- \Umathinnerbinspacing\displaystyle=
- \the\Umathordbinspacing\displaystyle\relax
- \Umathinnerrelspacing\displaystyle=
- \the\Umathordrelspacing\displaystyle\relax
- \Umathinneropenspacing\displaystyle=
- \the\Umathordopenspacing\displaystyle\relax
- \Umathinnerclosespacing\displaystyle=
- \the\Umathordclosespacing\displaystyle\relax
- \Umathinnerpunctspacing\displaystyle=
- \the\Umathordpunctspacing\displaystyle\relax
- % \textstyle
- \Umathinnerordspacing\textstyle=
- \the\Umathordordspacing\textstyle\relax
- \Umathinneropspacing\textstyle=
- \the\Umathordopspacing\textstyle\relax
- \Umathinnerbinspacing\textstyle=
- \the\Umathordbinspacing\textstyle\relax
- \Umathinnerrelspacing\textstyle=
- \the\Umathordrelspacing\textstyle\relax
- \Umathinneropenspacing\textstyle=
- \the\Umathordopenspacing\textstyle\relax
- \Umathinnerclosespacing\textstyle=
- \the\Umathordclosespacing\textstyle\relax
- \Umathinnerpunctspacing\textstyle=
- \the\Umathordpunctspacing\textstyle\relax
- % \scriptstyle
- \Umathinnerordspacing\scriptstyle=
- \the\Umathordordspacing\scriptstyle\relax
- \Umathinneropspacing\scriptstyle=
- \the\Umathordopspacing\scriptstyle\relax
- \Umathinnerbinspacing\scriptstyle=
- \the\Umathordbinspacing\scriptstyle\relax
- \Umathinnerrelspacing\scriptstyle=
- \the\Umathordrelspacing\scriptstyle\relax
- \Umathinneropenspacing\scriptstyle=
- \the\Umathordopenspacing\scriptstyle\relax
- \Umathinnerclosespacing\scriptstyle=
- \the\Umathordclosespacing\scriptstyle\relax
- \Umathinnerpunctspacing\scriptstyle=
- \the\Umathordpunctspacing\scriptstyle\relax
- % \scriptscriptstyle
- \Umathinnerordspacing\scriptscriptstyle=
- \the\Umathordordspacing\scriptscriptstyle\relax
- \Umathinneropspacing\scriptscriptstyle=
- \the\Umathordopspacing\scriptscriptstyle\relax
- \Umathinnerbinspacing\scriptscriptstyle=
- \the\Umathordbinspacing\scriptscriptstyle\relax
- \Umathinnerrelspacing\scriptscriptstyle=
- \the\Umathordrelspacing\scriptscriptstyle\relax
- \Umathinneropenspacing\scriptscriptstyle=
- \the\Umathordopenspacing\scriptscriptstyle\relax
- \Umathinnerclosespacing\scriptscriptstyle=
- \the\Umathordclosespacing\scriptscriptstyle\relax
- \Umathinnerpunctspacing\scriptscriptstyle=
- \the\Umathordpunctspacing\scriptscriptstyle\relax
- % \crampeddisplaystyle
- \Umathinnerordspacing\crampeddisplaystyle=
- \the\Umathordordspacing\crampeddisplaystyle\relax
- \Umathinneropspacing\crampeddisplaystyle=
- \the\Umathordopspacing\crampeddisplaystyle\relax
- \Umathinnerbinspacing\crampeddisplaystyle=
- \the\Umathordbinspacing\crampeddisplaystyle\relax
- \Umathinnerrelspacing\crampeddisplaystyle=
- \the\Umathordrelspacing\crampeddisplaystyle\relax
- \Umathinneropenspacing\crampeddisplaystyle=
- \the\Umathordopenspacing\crampeddisplaystyle\relax
- \Umathinnerclosespacing\crampeddisplaystyle=
- \the\Umathordclosespacing\crampeddisplaystyle\relax
- \Umathinnerpunctspacing\crampeddisplaystyle=
- \the\Umathordpunctspacing\crampeddisplaystyle\relax
- % \crampedtextstyle
- \Umathinnerordspacing\crampedtextstyle=
- \the\Umathordordspacing\crampedtextstyle\relax
- \Umathinneropspacing\crampedtextstyle=
- \the\Umathordopspacing\crampedtextstyle\relax
- \Umathinnerbinspacing\crampedtextstyle=
- \the\Umathordbinspacing\crampedtextstyle\relax
- \Umathinnerrelspacing\crampedtextstyle=
- \the\Umathordrelspacing\crampedtextstyle\relax
- \Umathinneropenspacing\crampedtextstyle=
- \the\Umathordopenspacing\crampedtextstyle\relax
- \Umathinnerclosespacing\crampedtextstyle=
- \the\Umathordclosespacing\crampedtextstyle\relax
- \Umathinnerpunctspacing\crampedtextstyle=
- \the\Umathordpunctspacing\crampedtextstyle\relax
- % \crampedscriptstyle
- \Umathinnerordspacing\crampedscriptstyle=
- \the\Umathordordspacing\crampedscriptstyle\relax
- \Umathinneropspacing\crampedscriptstyle=
- \the\Umathordopspacing\crampedscriptstyle\relax
- \Umathinnerbinspacing\crampedscriptstyle=
- \the\Umathordbinspacing\crampedscriptstyle\relax
- \Umathinnerrelspacing\crampedscriptstyle=
- \the\Umathordrelspacing\crampedscriptstyle\relax
- \Umathinneropenspacing\crampedscriptstyle=
- \the\Umathordopenspacing\crampedscriptstyle\relax
- \Umathinnerclosespacing\crampedscriptstyle=
- \the\Umathordclosespacing\crampedscriptstyle\relax
- \Umathinnerpunctspacing\crampedscriptstyle=
- \the\Umathordpunctspacing\crampedscriptstyle\relax
- % \crampedscriptscriptstyle
- \Umathinnerordspacing\crampedscriptscriptstyle=
- \the\Umathordordspacing\crampedscriptscriptstyle\relax
- \Umathinneropspacing\crampedscriptscriptstyle=
- \the\Umathordopspacing\crampedscriptscriptstyle\relax
- \Umathinnerbinspacing\crampedscriptscriptstyle=
- \the\Umathordbinspacing\crampedscriptscriptstyle\relax
- \Umathinnerrelspacing\crampedscriptscriptstyle=
- \the\Umathordrelspacing\crampedscriptscriptstyle\relax
- \Umathinneropenspacing\crampedscriptscriptstyle=
- \the\Umathordopenspacing\crampedscriptscriptstyle\relax
- \Umathinnerclosespacing\crampedscriptscriptstyle=
- \the\Umathordclosespacing\crampedscriptscriptstyle\relax
- \Umathinnerpunctspacing\crampedscriptscriptstyle=
- \the\Umathordpunctspacing\crampedscriptscriptstyle\relax
- % both subformulas are \mathinner
- \Umathinnerinnerspacing\displaystyle=
- \the\Umathordordspacing\displaystyle\relax
- \Umathinnerinnerspacing\textstyle=
- \the\Umathordordspacing\textstyle\relax
- \Umathinnerinnerspacing\scriptstyle=
- \the\Umathordordspacing\scriptstyle\relax
- \Umathinnerinnerspacing\scriptscriptstyle=
- \the\Umathordordspacing\scriptscriptstyle\relax
- \Umathinnerinnerspacing\crampeddisplaystyle=
- \the\Umathordordspacing\crampeddisplaystyle\relax
- \Umathinnerinnerspacing\crampedtextstyle=
- \the\Umathordordspacing\crampedtextstyle\relax
- \Umathinnerinnerspacing\crampedscriptstyle=
- \the\Umathordordspacing\crampedscriptstyle\relax
- \Umathinnerinnerspacing\crampedscriptscriptstyle=
- \the\Umathordordspacing\crampedscriptscriptstyle\relax
-\else
- \IS at info{No changes to space for \string\mathinner\space subformulas.}
-\fi
+ \@tempa{\Umathordopspacing} {\thinmuskip}
+ \@tempa{\Umathordbinspacing} {\medmuskip}
+ \@tempa{\Umathordrelspacing} {\thickmuskip}
+ \@tempa{\Umathordinnerspacing} {\thinmuskip}
+ \@tempa{\Umathopordspacing} {\thinmuskip}
+ \@tempa{\Umathopopspacing} {\thinmuskip}
+ \@tempa{\Umathoprelspacing} {\thickmuskip}
+ \@tempa{\Umathopinnerspacing} {\thickmuskip}
+ \@tempa{\Umathbinordspacing} {\medmuskip}
+ \@tempa{\Umathbinopspacing} {\medmuskip}
+ \@tempa{\Umathbinopenspacing} {\medmuskip}
+ \@tempa{\Umathbininnerspacing} {\medmuskip}
+ \@tempa{\Umathrelordspacing} {\thickmuskip}
+ \@tempa{\Umathrelopspacing} {\thickmuskip}
+ \@tempa{\Umathrelopenspacing} {\thickmuskip}
+ \@tempa{\Umathrelinnerspacing} {\thickmuskip}
+ \@tempa{\Umathcloseopspacing} {\thinmuskip}
+ \@tempa{\Umathclosebinspacing} {\medmuskip}
+ \@tempa{\Umathcloserelspacing} {\thickmuskip}
+ \@tempa{\Umathcloseinnerspacing}{\thinmuskip}
+ \@tempa{\Umathpunctordspacing} {\thinmuskip}
+ \@tempa{\Umathpunctopspacing} {\thinmuskip}
+ \@tempa{\Umathpunctrelspacing} {\thinmuskip}
+ \@tempa{\Umathpunctopenspacing} {\thinmuskip}
+ \@tempa{\Umathpunctclosespacing}{\thinmuskip}
+ \@tempa{\Umathpunctpunctspacing}{\thinmuskip}
+ \@tempa{\Umathpunctinnerspacing}{\thinmuskip}
+ \@tempa{\Umathinnerordspacing} {\thinmuskip}
+ \@tempa{\Umathinneropspacing} {\thinmuskip}
+ \@tempa{\Umathinnerbinspacing} {\medmuskip}
+ \@tempa{\Umathinnerrelspacing} {\thickmuskip}
+ \@tempa{\Umathinneropenspacing} {\thinmuskip}
+ \@tempa{\Umathinnerpunctspacing}{\thinmuskip}
+ \@tempa{\Umathinnerinnerspacing}{\thinmuskip}
\ifIS at close
- \IS at info{Adding space after closing delimiters.}
- \Umathcloseordspacing\displaystyle=\scalemu{\thinmuskip}{0.5}
- \Umathcloseordspacing\textstyle=\scalemu{\thinmuskip}{0.5}
- \Umathcloseordspacing\crampeddisplaystyle=\scalemu{\thinmuskip}{0.5}
- \Umathcloseordspacing\crampedtextstyle=\scalemu{\thinmuskip}{0.5}
- \ifnum\IS at script>0
- \Umathcloseordspacing\scriptstyle=\scalemu{\thinmuskip}{0.3}
- \Umathcloseordspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.3}
+ \IS at info{Adding space after closing grouping symbols.}
+ \Umathcloseordspacing\displaystyle \muexpr\thinmuskip / 2\relax
+ \Umathcloseordspacing\textstyle \muexpr\thinmuskip / 2\relax
+ \Umathcloseordspacing\crampeddisplaystyle \muexpr\thinmuskip / 2\relax
+ \Umathcloseordspacing\crampedtextstyle \muexpr\thinmuskip / 2\relax
+ \ifIS at script
+ \Umathcloseordspacing\scriptstyle \muexpr\thinmuskip * 3 / 10\relax
+ \Umathcloseordspacing\crampedscriptstyle\muexpr\thinmuskip * 3 / 10\relax
\fi
- \ifnum\IS at scriptscript>0
- \Umathcloseordspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.2}
- \Umathcloseordspacing\crampedscriptscriptstyle=\scalemu
- {\thinmuskip}{0.2}
+ \ifIS at scriptscript
+ \Umathcloseordspacing\scriptscriptstyle \muexpr\thinmuskip / 5\relax
+ \Umathcloseordspacing\crampedscriptscriptstyle
+ \muexpr\thinmuskip / 5\relax
\fi
\else
\IS at info{No changes to space after delimiters.}
\fi
+\ifIS at inner
+ \IS at info{Adjusting space around \string\mathinner\space subformulas.}
+ \@tfor\@i:=\displaystyle\crampeddisplaystyle
+ \textstyle\crampedtextstyle
+ \scriptstyle\crampedscriptstyle
+ \scriptscriptstyle\crampedscriptscriptstyle
+ \do{%
+ \expandafter\Umathinnerinnerspacing\@i=\expandafter
+ \the\expandafter\Umathcloseopenspacing\@i\relax
+ \@for\@j:=ord,op,bin,rel,open,close,punct\do{%
+ \csname Umath\@j innerspacing\expandafter\endcsname\@i=\the
+ \csname Umath\@j openspacing\expandafter\endcsname\@i\relax
+ \csname Umathinner\@j spacing\expandafter\endcsname\@i=\the
+ \csname Umathclose\@j spacing\expandafter\endcsname\@i\relax}}
+\else
+ \IS at info{No changes to space for \string\mathinner\space subformulas.}
+\fi
\ifIS at cover
\IS at info{Setting delimiters to full height.}
\delimiterfactor\@m
@@ -735,6 +238,7 @@
\else
\IS at info{No changes to delimiter heights.}
\fi
+\wlog{}
\endinput
%%
%% End of file `innerscript.sty'.
More information about the tex-live-commits
mailing list.