Rewrite patterns#
- bare
#1\nolimits#1 - scripted
#1\nolimits_{#2}^{#3}#1_{#2}^{#3}
Examples#
Each example shows this rule applied in isolation. A complete normalization profile may make additional changes.
Base bare#
Rendering verified with the declared packages.
Base scripted#
Rendering verified with the declared packages.
Base collision#
The rendered result has pixel differences from the input.
Physics owner preserved#
Rendering verified with the declared packages.
Ams scripted#
Rendering verified with the declared packages.
Starred operatorname#
The rendered result has pixel differences from the input.
Related rules#
Same family#
ams/operatorname-to-named-functionRewrite plain operatorname arguments to equivalent base named-function or named-operator commands.ams/idotsint-expandExpand idotsint to explicit repeated integral surfaces.base/limits-dropDrop explicit limits from an audited operator while preserving attached scripts.physics/cosine-to-cosCollapse a bare cosine helper to the standard cos operator.physics/naturallogarithm-to-lnCollapse a bare natural logarithm helper to the standard ln operator.physics/probability-to-prCollapse a bare Probability helper to the standard Pr operator.physics/sine-to-sinCollapse a bare sine helper to the standard sin operator.physics/trace-capital-to-TrCollapse a bare Trace with no following argument group to the local Tr anchor.physics/trace-to-trCollapse a bare trace with no following argument group to the local tr anchor.physics/named-fn-paren-expandExpand physics power and auto-sized parenthesis arguments of standard named functions.physics/named-fn-to-operatornameRewrite physics-only named functions to operatorname and expand their auto-sized arguments.physics/physics-operator-fence-expandExpand the physics auto-sized argument of exp, det, and Pr into an explicit fence.physics/rank-to-operatorname-rankRewrite rank to an explicit operatorname form instead of a package-local alias.
Notes#
This rule matches only its audited active-record whitelist. The modifier and preceding operator must occupy the same Root or Group child slot. Relocate attached subscript and superscript ownership from a Scripted nolimits node to the preceding operator. Isolated, misplaced, runtime-defined, unknown, cross-group, and cross-slot modifiers remain unchanged. The det, exp, and Pr collision commands are eligible only when their active record is the base owner; physics-owned records fail closed. Starred operatorname and the AMS iiiint character are explicit whitelist branches. Audited preceding targets: cmd:mathop, cmd:arccos, cmd:arcsin, cmd:arctan, cmd:arg, cmd:cos, cmd:cosh, cmd:cot, cmd:coth, cmd:csc, cmd:deg, cmd:dim, cmd:gcd, cmd:hom, cmd:inf, cmd:ker, cmd:lg, cmd:lim, cmd:liminf, cmd:limsup, cmd:ln, cmd:log, cmd:max, cmd:min, cmd:sec, cmd:sin, cmd:sinh, cmd:sup, cmd:tan, cmd:tanh, cmd:det, cmd:exp, cmd:Pr, cmd:operatorname, cmd:injlim, cmd:projlim, cmd:varliminf, cmd:varlimsup, cmd:varinjlim, cmd:varprojlim, char:coprod, char:bigvee, char:bigwedge, char:biguplus, char:bigcap, char:bigcup, char:int, char:intop, char:iint, char:iiint, char:prod, char:sum, char:bigotimes, char:bigoplus, char:bigodot, char:oint, char:ointop, char:oiint, char:oiiint, char:bigsqcup, char:smallint, char:iiiint. Every Applied result removes one eligible cmd:nolimits modifier; all non-whitelisted or misplaced modifiers return Skipped, so the number of eligible cmd:nolimits nodes strictly decreases. Removing explicit side placement can change visible limit placement in display or inline math. This Reading-fidelity projection is enabled only by Equiv; Authoring, Faithful, and Corpus retain the modifier, including modifiers generated by stacked-operator expansion.
Disable this rule#
TransformEngine(profile="corpus", disable_rules=["base/nolimits-drop"])new TransformEngine({ profile: 'corpus', disableRules: ['base/nolimits-drop'] })