From 526bad9f61813f28bb65a1c39629e00a815b9b9d Mon Sep 17 00:00:00 2001 From: Dan Lynch Date: Wed, 21 Oct 2026 23:30:32 +0000 Subject: [PATCH 1/3] fix(pstricks): map pointer coordinates through the svg's drawn scale --- packages/html5/test/pspicture.test.ts | 25 ++++++++++++++++++++ packages/pstricks/src/lib/psgraph.ts | 26 +++++++++++++++++---- packages/react/src/components/pspicture.tsx | 7 ++---- 3 files changed, 48 insertions(+), 10 deletions(-) diff --git a/packages/html5/test/pspicture.test.ts b/packages/html5/test/pspicture.test.ts index 97fc2a7a..40a1a3e0 100644 --- a/packages/html5/test/pspicture.test.ts +++ b/packages/html5/test/pspicture.test.ts @@ -180,6 +180,31 @@ describe('pspicture component (SVG rendering)', () => { expect(shapeOrder(svg)).toEqual(before); }); + it('maps the pointer into picture space when the svg is drawn scaled down', () => { + // A page fitting a 200px picture onto a phone draws it at 100px (CSS zoom + // or a transform). The pointer's screen offset must be divided back out, + // or a dragged vector lands at half the distance from the finger. + const env = parsePspicture(` +\\begin{pspicture}(0,0)(4,4) +\\userline[linewidth=2pt]{->}(0,0)(2,2) +\\end{pspicture} + `); + + const div = pspicture(env); + document.body.appendChild(div); + const svg = div.querySelector('svg')!; + const natural = parseFloat(svg.getAttribute('width')!); + svg.getBoundingClientRect = () => + ({ left: 10, top: 20, width: natural / 2, height: natural / 2, right: 0, bottom: 0, x: 10, y: 20 }) as DOMRect; + + svg.dispatchEvent(new MouseEvent('mousemove', { bubbles: true, clientX: 10 + natural / 4, clientY: 20 + natural / 8 })); + + const d = svg.querySelector('path')!.getAttribute('d')!; + const [x2, y2] = d.trim().split(/[\s,LM]+/).filter(Boolean).slice(-2).map(Number); + expect(x2).toBeCloseTo(natural / 2); + expect(y2).toBeCloseTo(natural / 4); + }); + it('renders psdots as small circles', () => { const env = parsePspicture(` \\begin{pspicture}(0,0)(4,4) diff --git a/packages/pstricks/src/lib/psgraph.ts b/packages/pstricks/src/lib/psgraph.ts index b75f8278..d2c9d16c 100644 --- a/packages/pstricks/src/lib/psgraph.ts +++ b/packages/pstricks/src/lib/psgraph.ts @@ -583,6 +583,24 @@ class PatchSelection { } const psgraph: any = { + /** + * Maps a pointer's client position into the picture's own pixel space. A + * page may draw the svg smaller than its natural size (CSS `zoom` or a + * transform to fit a phone screen), and neither `offsetX` nor a raw + * `clientX - rect.left` accounts for that, so divide out the drawn scale. + * Measuring the svg itself, not the event target, also keeps a pointer over + * a child path from reading coordinates relative to that path. + */ + pointerCoords(svg: Element | null, clientX: number, clientY: number): number[] { + if (!svg) return [0, 0]; + const rect = svg.getBoundingClientRect(); + const width = parseFloat(svg.getAttribute('width') || '') || rect.width; + const height = parseFloat(svg.getAttribute('height') || '') || rect.height; + const scaleX = rect.width && width ? rect.width / width : 1; + const scaleY = rect.height && height ? rect.height / height : 1; + return [(clientX - rect.left) / scaleX, (clientY - rect.top) / scaleY]; + }, + env: null as any, getSize(): { width: number; height: number } { const padding = 20; @@ -1596,17 +1614,15 @@ const psgraph: any = { function (this: any, event: any) { event.preventDefault(); var touch = event.touches ? event.touches[0] : null; - var rect = event.target.getBoundingClientRect(); - var touchcoords = touch ? [touch.clientX - rect.left, touch.clientY - rect.top] : [0, 0]; - drawLayer(touchcoords, { pointer: true }); + if (!touch) return; + drawLayer(psgraph.pointerCoords(svg.node(), touch.clientX, touch.clientY), { pointer: true }); } ); svg.on( 'mousemove', function (this: any, event: any) { - var coords = [event.offsetX || 0, event.offsetY || 0]; - drawLayer(coords, { pointer: true }); + drawLayer(psgraph.pointerCoords(svg.node(), event.clientX, event.clientY), { pointer: true }); } ); diff --git a/packages/react/src/components/pspicture.tsx b/packages/react/src/components/pspicture.tsx index 8b8fc69f..dcbbcf96 100644 --- a/packages/react/src/components/pspicture.tsx +++ b/packages/react/src/components/pspicture.tsx @@ -35,17 +35,14 @@ export default (props: PspictureProps) => { }, [props]); const handleMouseMove = (event: React.MouseEvent) => { - const coords = [event.nativeEvent.offsetX || 0, event.nativeEvent.offsetY || 0]; - userEventHandler(coords); + userEventHandler(psgraph.pointerCoords(svgRef.current, event.clientX, event.clientY)); }; const handleTouchMove = (event: React.TouchEvent) => { event.preventDefault(); const touch = event.touches[0]; if (touch && svgRef.current) { - const rect = svgRef.current.getBoundingClientRect(); - const coords = [touch.clientX - rect.left, touch.clientY - rect.top]; - userEventHandler(coords); + userEventHandler(psgraph.pointerCoords(svgRef.current, touch.clientX, touch.clientY)); } }; From 8e83639e35048ed0c1666331653b99f1dbdb8768 Mon Sep 17 00:00:00 2001 From: Dan Lynch Date: Wed, 21 Oct 2026 23:34:56 +0000 Subject: [PATCH 2/3] chore(bundle): regenerate latex2html5 bundle --- bundle/latex2html5.bundle.js | 81 +++++++++++++++++++++--------------- 1 file changed, 48 insertions(+), 33 deletions(-) diff --git a/bundle/latex2html5.bundle.js b/bundle/latex2html5.bundle.js index 0b608e7a..bfea69a2 100644 --- a/bundle/latex2html5.bundle.js +++ b/bundle/latex2html5.bundle.js @@ -35,9 +35,9 @@ var LaTeX2HTML5 = (() => { )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - // ../latex2js/src/grammar/parser.js + // packages/latex2js/src/grammar/parser.js var require_parser = __commonJS({ - "../latex2js/src/grammar/parser.js"(exports, module) { + "packages/latex2js/src/grammar/parser.js"(exports, module) { "use strict"; var peg$SyntaxError = class extends SyntaxError { constructor(message, expected, found, location2) { @@ -1417,7 +1417,7 @@ var LaTeX2HTML5 = (() => { } }); - // src/index.ts + // packages/html5/src/index.ts var index_exports = {}; __export(index_exports, { DEFAULT_CONFIG: () => DEFAULT_CONFIG, @@ -1432,7 +1432,7 @@ var LaTeX2HTML5 = (() => { verbatim: () => render5 }); - // ../utils/src/expression.ts + // packages/utils/src/expression.ts var ExpressionError = class extends Error { constructor(message, position) { super(message); @@ -1711,7 +1711,7 @@ var LaTeX2HTML5 = (() => { }; } - // ../utils/src/svg-utils.ts + // packages/utils/src/svg-utils.ts var SVGSelection = class _SVGSelection { constructor(elements) { if (elements instanceof Element) { @@ -1793,7 +1793,7 @@ var LaTeX2HTML5 = (() => { return new SVGSelection(selector); } - // ../utils/src/index.ts + // packages/utils/src/index.ts var simplerepl = function(regex, replace) { return function(_m, contents) { return contents.replace(regex, replace); @@ -2022,7 +2022,7 @@ var LaTeX2HTML5 = (() => { return this.y1 - Number(v) / this.yunit; }; - // ../latex2js/src/lib/text.ts + // packages/latex2js/src/lib/text.ts var Expressions = { emph: /\\emph\{[^}]*\}/g, bf: /\{*\\bf [^}]*\}/g, @@ -2177,7 +2177,7 @@ var LaTeX2HTML5 = (() => { Functions }; - // ../latex2js/src/lib/headers.ts + // packages/latex2js/src/lib/headers.ts var Expressions2 = { bq: /\\begin\{quotation\}/, claim: /\\begin\{claim\*?\}/, @@ -2291,7 +2291,7 @@ var LaTeX2HTML5 = (() => { Functions: Functions2 }; - // ../settings/src/index.ts + // packages/settings/src/index.ts function normalizeDialect(value) { const v = String(value ?? "").trim().toLowerCase(); if (v === "pstricks") return "pstricks"; @@ -2358,7 +2358,7 @@ var LaTeX2HTML5 = (() => { Functions: Functions3 }; - // ../pstricks/src/lib/pstricks.ts + // packages/pstricks/src/lib/pstricks.ts function radiusUnit(ctx) { const r = Number(ctx && ctx.runit); if (isFinite(r) && r > 0) return r; @@ -3033,7 +3033,7 @@ var LaTeX2HTML5 = (() => { Functions: Functions4 }; - // ../pstricks/src/lib/psgraph.ts + // packages/pstricks/src/lib/psgraph.ts var MATHJAX_READY_TIMEOUT_MS = 1e4; function mathJaxWhenReady() { const usable = (mj) => mj && typeof mj.typesetPromise === "function" ? mj : null; @@ -3302,6 +3302,23 @@ var LaTeX2HTML5 = (() => { } }; var psgraph = { + /** + * Maps a pointer's client position into the picture's own pixel space. A + * page may draw the svg smaller than its natural size (CSS `zoom` or a + * transform to fit a phone screen), and neither `offsetX` nor a raw + * `clientX - rect.left` accounts for that, so divide out the drawn scale. + * Measuring the svg itself, not the event target, also keeps a pointer over + * a child path from reading coordinates relative to that path. + */ + pointerCoords(svg, clientX, clientY) { + if (!svg) return [0, 0]; + const rect = svg.getBoundingClientRect(); + const width = parseFloat(svg.getAttribute("width") || "") || rect.width; + const height = parseFloat(svg.getAttribute("height") || "") || rect.height; + const scaleX = rect.width && width ? rect.width / width : 1; + const scaleY = rect.height && height ? rect.height / height : 1; + return [(clientX - rect.left) / scaleX, (clientY - rect.top) / scaleY]; + }, env: null, getSize() { const padding = 20; @@ -3832,16 +3849,14 @@ var LaTeX2HTML5 = (() => { function(event) { event.preventDefault(); var touch = event.touches ? event.touches[0] : null; - var rect = event.target.getBoundingClientRect(); - var touchcoords = touch ? [touch.clientX - rect.left, touch.clientY - rect.top] : [0, 0]; - drawLayer(touchcoords, { pointer: true }); + if (!touch) return; + drawLayer(psgraph.pointerCoords(svg.node(), touch.clientX, touch.clientY), { pointer: true }); } ); svg.on( "mousemove", function(event) { - var coords = [event.offsetX || 0, event.offsetY || 0]; - drawLayer(coords, { pointer: true }); + drawLayer(psgraph.pointerCoords(svg.node(), event.clientX, event.clientY), { pointer: true }); } ); psgraph.processRputElements.call(this, el); @@ -4058,11 +4073,11 @@ var LaTeX2HTML5 = (() => { }; var psgraph_default = psgraph; - // ../latex2js/src/lib/environments.ts + // packages/latex2js/src/lib/environments.ts var environments = ["pspicture", "verbatim", "enumerate", "print", "nicebox", "itemize", "description"]; var environments_default = environments; - // ../latex2js/src/lib/ignore.ts + // packages/latex2js/src/lib/ignore.ts var ignore = [ /^\%/, /\\begin\{document\}/, @@ -4086,10 +4101,10 @@ var LaTeX2HTML5 = (() => { ]; var ignore_default = ignore; - // ../latex2js/src/lib/parser.ts + // packages/latex2js/src/lib/parser.ts var pegParser = __toESM(require_parser()); - // ../latex2js/src/lib/dialect.ts + // packages/latex2js/src/lib/dialect.ts var CSS_ONLY_COLORS = ["lightblue", "lightgray", "lightgrey", "lightgreen", "darkblue", "darkgreen", "pink", "gold", "silver", "navy", "teal", "lime", "aqua", "fuchsia"]; var LATEX2JS_ONLY_COMMANDS = { userline: "draws a line the reader can drag; PSTricks has no interactive graphics", @@ -4161,7 +4176,7 @@ var LaTeX2HTML5 = (() => { return uses; } - // ../latex2js/src/lib/counters.ts + // packages/latex2js/src/lib/counters.ts var SECTION_LEVELS = ["section", "subsection", "subsubsection"]; var Counters = class { constructor() { @@ -4204,7 +4219,7 @@ var LaTeX2HTML5 = (() => { } }; - // ../latex2js/src/lib/parser.ts + // packages/latex2js/src/lib/parser.ts var PSSET_NON_STYLE = /* @__PURE__ */ new Set(["unit", "runit", "xunit", "yunit", "dialect"]); var DEFINECOLOR_RE = /\\definecolor\s*\{([^}]*)\}\s*\{([^}]*)\}\s*\{([^}]*)\}/; function pssetStyle(declared) { @@ -4960,7 +4975,7 @@ var LaTeX2HTML5 = (() => { }; var parser_default = Parser2; - // ../latex2js/src/index.ts + // packages/latex2js/src/index.ts var LaTeX2HTML5 = class { constructor(Text = text_default, Headers = headers_default, Environments = environments_default, Ignore = ignore_default, PSTricks = pstricks_default, Views = {}) { this.lastDiagnostics = []; @@ -5030,7 +5045,7 @@ var LaTeX2HTML5 = (() => { } }; - // ../mathjaxjs/src/index.ts + // packages/mathjaxjs/src/index.ts var DEFAULT_SCRIPT_URL = "https://cdn.jsdelivr.net/npm/mathjax@4.1.3/tex-chtml.js"; var DEFAULT_CONFIG = { tex: { @@ -5129,7 +5144,7 @@ var LaTeX2HTML5 = (() => { } }; - // src/components/pspicture.ts + // packages/html5/src/components/pspicture.ts function render(that) { const size = psgraph_default.getSize.call(that); const width = `${size.width}px`; @@ -5190,7 +5205,7 @@ var LaTeX2HTML5 = (() => { return div; } - // src/components/nicebox.ts + // packages/html5/src/components/nicebox.ts function render2(that) { const span = document.createElement("span"); span.className = "math nicebox"; @@ -5198,7 +5213,7 @@ var LaTeX2HTML5 = (() => { return span; } - // src/components/enumerate.ts + // packages/html5/src/components/enumerate.ts function render3(that) { const lines = that.lines.map((line) => { var m = line.match(/\\item (.*)/); @@ -5214,7 +5229,7 @@ var LaTeX2HTML5 = (() => { return ul; } - // src/components/list.ts + // packages/html5/src/components/list.ts function itemizeLine(line) { var m = line.match(/\\item (.*)/); if (m) return "
  • " + m[1] + "
  • "; @@ -5249,7 +5264,7 @@ var LaTeX2HTML5 = (() => { return el; } - // src/components/verbatim.ts + // packages/html5/src/components/verbatim.ts function render5(that) { var pre = document.createElement("pre"); pre.className = "verbatim"; @@ -5257,7 +5272,7 @@ var LaTeX2HTML5 = (() => { return pre; } - // src/components/math.ts + // packages/html5/src/components/math.ts function render6(that) { const div = document.createElement("div"); div.className = "math"; @@ -5265,7 +5280,7 @@ var LaTeX2HTML5 = (() => { return div; } - // ../macros/src/index.ts + // packages/macros/src/index.ts var src_default2 = String.raw` $$ % create the definition symbol @@ -5397,7 +5412,7 @@ var LaTeX2HTML5 = (() => { $$ `; - // src/components/macros.ts + // packages/html5/src/components/macros.ts function render7(_that) { var div = document.createElement("div"); div.id = "latex-macros"; @@ -5407,7 +5422,7 @@ var LaTeX2HTML5 = (() => { return div; } - // src/index.ts + // packages/html5/src/index.ts var ELEMENTS = { pspicture: render, nicebox: render2, enumerate: render3, itemize: render4, description: render4, verbatim: render5, math: render6, macros: render7 }; function render8(tex, resolve, config) { const done = () => { From 90ac5010156301f66c71bb137a88b28cced772f8 Mon Sep 17 00:00:00 2001 From: Dan Lynch Date: Wed, 21 Oct 2026 23:35:18 +0000 Subject: [PATCH 3/3] chore(bundle): regenerate from packages/html5 like the CI build --- bundle/latex2html5.bundle.js | 56 ++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/bundle/latex2html5.bundle.js b/bundle/latex2html5.bundle.js index bfea69a2..e8bc1f15 100644 --- a/bundle/latex2html5.bundle.js +++ b/bundle/latex2html5.bundle.js @@ -35,9 +35,9 @@ var LaTeX2HTML5 = (() => { )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - // packages/latex2js/src/grammar/parser.js + // ../latex2js/src/grammar/parser.js var require_parser = __commonJS({ - "packages/latex2js/src/grammar/parser.js"(exports, module) { + "../latex2js/src/grammar/parser.js"(exports, module) { "use strict"; var peg$SyntaxError = class extends SyntaxError { constructor(message, expected, found, location2) { @@ -1417,7 +1417,7 @@ var LaTeX2HTML5 = (() => { } }); - // packages/html5/src/index.ts + // src/index.ts var index_exports = {}; __export(index_exports, { DEFAULT_CONFIG: () => DEFAULT_CONFIG, @@ -1432,7 +1432,7 @@ var LaTeX2HTML5 = (() => { verbatim: () => render5 }); - // packages/utils/src/expression.ts + // ../utils/src/expression.ts var ExpressionError = class extends Error { constructor(message, position) { super(message); @@ -1711,7 +1711,7 @@ var LaTeX2HTML5 = (() => { }; } - // packages/utils/src/svg-utils.ts + // ../utils/src/svg-utils.ts var SVGSelection = class _SVGSelection { constructor(elements) { if (elements instanceof Element) { @@ -1793,7 +1793,7 @@ var LaTeX2HTML5 = (() => { return new SVGSelection(selector); } - // packages/utils/src/index.ts + // ../utils/src/index.ts var simplerepl = function(regex, replace) { return function(_m, contents) { return contents.replace(regex, replace); @@ -2022,7 +2022,7 @@ var LaTeX2HTML5 = (() => { return this.y1 - Number(v) / this.yunit; }; - // packages/latex2js/src/lib/text.ts + // ../latex2js/src/lib/text.ts var Expressions = { emph: /\\emph\{[^}]*\}/g, bf: /\{*\\bf [^}]*\}/g, @@ -2177,7 +2177,7 @@ var LaTeX2HTML5 = (() => { Functions }; - // packages/latex2js/src/lib/headers.ts + // ../latex2js/src/lib/headers.ts var Expressions2 = { bq: /\\begin\{quotation\}/, claim: /\\begin\{claim\*?\}/, @@ -2291,7 +2291,7 @@ var LaTeX2HTML5 = (() => { Functions: Functions2 }; - // packages/settings/src/index.ts + // ../settings/src/index.ts function normalizeDialect(value) { const v = String(value ?? "").trim().toLowerCase(); if (v === "pstricks") return "pstricks"; @@ -2358,7 +2358,7 @@ var LaTeX2HTML5 = (() => { Functions: Functions3 }; - // packages/pstricks/src/lib/pstricks.ts + // ../pstricks/src/lib/pstricks.ts function radiusUnit(ctx) { const r = Number(ctx && ctx.runit); if (isFinite(r) && r > 0) return r; @@ -3033,7 +3033,7 @@ var LaTeX2HTML5 = (() => { Functions: Functions4 }; - // packages/pstricks/src/lib/psgraph.ts + // ../pstricks/src/lib/psgraph.ts var MATHJAX_READY_TIMEOUT_MS = 1e4; function mathJaxWhenReady() { const usable = (mj) => mj && typeof mj.typesetPromise === "function" ? mj : null; @@ -4073,11 +4073,11 @@ var LaTeX2HTML5 = (() => { }; var psgraph_default = psgraph; - // packages/latex2js/src/lib/environments.ts + // ../latex2js/src/lib/environments.ts var environments = ["pspicture", "verbatim", "enumerate", "print", "nicebox", "itemize", "description"]; var environments_default = environments; - // packages/latex2js/src/lib/ignore.ts + // ../latex2js/src/lib/ignore.ts var ignore = [ /^\%/, /\\begin\{document\}/, @@ -4101,10 +4101,10 @@ var LaTeX2HTML5 = (() => { ]; var ignore_default = ignore; - // packages/latex2js/src/lib/parser.ts + // ../latex2js/src/lib/parser.ts var pegParser = __toESM(require_parser()); - // packages/latex2js/src/lib/dialect.ts + // ../latex2js/src/lib/dialect.ts var CSS_ONLY_COLORS = ["lightblue", "lightgray", "lightgrey", "lightgreen", "darkblue", "darkgreen", "pink", "gold", "silver", "navy", "teal", "lime", "aqua", "fuchsia"]; var LATEX2JS_ONLY_COMMANDS = { userline: "draws a line the reader can drag; PSTricks has no interactive graphics", @@ -4176,7 +4176,7 @@ var LaTeX2HTML5 = (() => { return uses; } - // packages/latex2js/src/lib/counters.ts + // ../latex2js/src/lib/counters.ts var SECTION_LEVELS = ["section", "subsection", "subsubsection"]; var Counters = class { constructor() { @@ -4219,7 +4219,7 @@ var LaTeX2HTML5 = (() => { } }; - // packages/latex2js/src/lib/parser.ts + // ../latex2js/src/lib/parser.ts var PSSET_NON_STYLE = /* @__PURE__ */ new Set(["unit", "runit", "xunit", "yunit", "dialect"]); var DEFINECOLOR_RE = /\\definecolor\s*\{([^}]*)\}\s*\{([^}]*)\}\s*\{([^}]*)\}/; function pssetStyle(declared) { @@ -4975,7 +4975,7 @@ var LaTeX2HTML5 = (() => { }; var parser_default = Parser2; - // packages/latex2js/src/index.ts + // ../latex2js/src/index.ts var LaTeX2HTML5 = class { constructor(Text = text_default, Headers = headers_default, Environments = environments_default, Ignore = ignore_default, PSTricks = pstricks_default, Views = {}) { this.lastDiagnostics = []; @@ -5045,7 +5045,7 @@ var LaTeX2HTML5 = (() => { } }; - // packages/mathjaxjs/src/index.ts + // ../mathjaxjs/src/index.ts var DEFAULT_SCRIPT_URL = "https://cdn.jsdelivr.net/npm/mathjax@4.1.3/tex-chtml.js"; var DEFAULT_CONFIG = { tex: { @@ -5144,7 +5144,7 @@ var LaTeX2HTML5 = (() => { } }; - // packages/html5/src/components/pspicture.ts + // src/components/pspicture.ts function render(that) { const size = psgraph_default.getSize.call(that); const width = `${size.width}px`; @@ -5205,7 +5205,7 @@ var LaTeX2HTML5 = (() => { return div; } - // packages/html5/src/components/nicebox.ts + // src/components/nicebox.ts function render2(that) { const span = document.createElement("span"); span.className = "math nicebox"; @@ -5213,7 +5213,7 @@ var LaTeX2HTML5 = (() => { return span; } - // packages/html5/src/components/enumerate.ts + // src/components/enumerate.ts function render3(that) { const lines = that.lines.map((line) => { var m = line.match(/\\item (.*)/); @@ -5229,7 +5229,7 @@ var LaTeX2HTML5 = (() => { return ul; } - // packages/html5/src/components/list.ts + // src/components/list.ts function itemizeLine(line) { var m = line.match(/\\item (.*)/); if (m) return "
  • " + m[1] + "
  • "; @@ -5264,7 +5264,7 @@ var LaTeX2HTML5 = (() => { return el; } - // packages/html5/src/components/verbatim.ts + // src/components/verbatim.ts function render5(that) { var pre = document.createElement("pre"); pre.className = "verbatim"; @@ -5272,7 +5272,7 @@ var LaTeX2HTML5 = (() => { return pre; } - // packages/html5/src/components/math.ts + // src/components/math.ts function render6(that) { const div = document.createElement("div"); div.className = "math"; @@ -5280,7 +5280,7 @@ var LaTeX2HTML5 = (() => { return div; } - // packages/macros/src/index.ts + // ../macros/src/index.ts var src_default2 = String.raw` $$ % create the definition symbol @@ -5412,7 +5412,7 @@ var LaTeX2HTML5 = (() => { $$ `; - // packages/html5/src/components/macros.ts + // src/components/macros.ts function render7(_that) { var div = document.createElement("div"); div.id = "latex-macros"; @@ -5422,7 +5422,7 @@ var LaTeX2HTML5 = (() => { return div; } - // packages/html5/src/index.ts + // src/index.ts var ELEMENTS = { pspicture: render, nicebox: render2, enumerate: render3, itemize: render4, description: render4, verbatim: render5, math: render6, macros: render7 }; function render8(tex, resolve, config) { const done = () => {