Rewrite patterns#
- math-qquad
\qquad∅ removed - text-qquad-run
\qquad\qquad
Examples#
Each example shows this rule applied in isolation. A complete normalization profile may make additional changes.
Math qquad#
The rendered result has pixel differences from the input.
Text qquad run#
The rendered result has pixel differences from the input.
Text qquad singleton#
The rendered result has pixel differences from the input.
Related rules#
Upstream rules#
base/double-quad-to-qquadMerge two adjacent quads into one qquad for authoring normalization.
Same family#
ams/nobreakspace-to-tildeCollapse nobreakspace to the canonical nonbreaking space token.base/break-to-linebreakCollapse break to the explicit linebreak command.base/newline-to-linebreakCollapse newline to the explicit linebreak command.base/control-space-to-tildeRewrite math-mode control space to the canonical active space token.base/gt-space-to-colon-spaceCollapse \> to the canonical medium math space command \:base/hfil-to-hfillCollapse hfil to the canonical hfill command under MathJax spacing semantics.base/hfilll-to-hfillCollapse hfilll to the canonical hfill command.base/hskip-to-hspaceCollapse hskip to the explicit hspace command.base/negthinspace-to-neg-comma-spaceCollapse negthinspace to the explicit negative thin math space command.base/space-to-tildeCollapse space to the explicit nonbreaking space token.base/thinspace-to-comma-spaceCollapse thinspace to the explicit thin math space command.base/double-enspace-to-quadRewrite two adjacent enspaces to one exact-width quad.base/double-quad-to-qquadMerge two adjacent quads into one qquad for authoring normalization.base/small-spacer-merge-to-enspaceMerge exact half-em small-spacer chunks into enspace in one pass.base/allowbreak-dropDrop allowbreak as a pure linebreak hint during cleanup-oriented normalization.base/badbreak-dropDrop badbreak as a pure linebreak hint during cleanup-oriented normalization.base/goodbreak-dropDrop goodbreak as a pure linebreak hint during cleanup-oriented normalization.base/mathstrut-dropDrop the invisible mathstrut layout helper in cleanup-oriented normalization.base/nobreak-dropDrop nobreak as a pure linebreak hint during cleanup-oriented normalization.base/strut-dropDrop the fixed empty strut node in cleanup-oriented normalization.base/enspace-dropDrop enspace in math mode and collapse each text-mode enspace run to one ordinary space.base/quad-dropDrop quad in math mode and collapse each text-mode quad run to one ordinary space.base/mkern-to-mspaceCollapse mkern to the explicit mspace command.base/mskip-to-mspaceCollapse mskip to the explicit mspace command.
Notes#
Owns the shared qquad target across base/math and textmacros/text active records. In math mode, remove every qquad, including singletons. In text mode, replace each maximal adjacent run of one or more qquad commands with one ordinary text space. Authoring-level double-quad-to-qquad may produce qquad; this rule eliminates that downstream target in Equiv, so applying or omitting the canonicalization does not change the final Equiv normal form. Do not cross groups, arguments, scripts, environment cells, slots, modes, or non-Spacer nodes.
Disable this rule#
TransformEngine(profile="corpus", disable_rules=["base/qquad-drop"])new TransformEngine({ profile: 'corpus', disableRules: ['base/qquad-drop'] })