From a5e6b92ff1c168c6271e3b327308f083edc31237 Mon Sep 17 00:00:00 2001 From: Ron Kok Date: Thu, 24 May 2018 18:27:15 -0700 Subject: [PATCH] Fix lap vertical alignment. (#1162) * Fix lap vertical alignment. Fixes issue #1153. * Fix horizontal alignment Wrap the entire lap pair with a mord. * Support Unicode \ll and \lll Fixes issue #1271 * Update screenshots * Update screenshots * generated updated screenshots for Lap * Change double strut to single strut * Delete screenshotter test * Add (commented out) test * Fix mis-spelled word --- src/functions/lap.js | 22 ++++++++++++++++-- test/screenshotter/images/Lap-chrome.png | Bin 14473 -> 0 bytes test/screenshotter/images/Lap-firefox.png | Bin 11353 -> 0 bytes test/screenshotter/images/Lap_alt-firefox.png | Bin 6332 -> 0 bytes test/screenshotter/ss_data.yaml | 10 ++++++-- 5 files changed, 28 insertions(+), 4 deletions(-) delete mode 100644 test/screenshotter/images/Lap-chrome.png delete mode 100644 test/screenshotter/images/Lap-firefox.png delete mode 100644 test/screenshotter/images/Lap_alt-firefox.png diff --git a/src/functions/lap.js b/src/functions/lap.js index ea1e4ade..135dbeae 100644 --- a/src/functions/lap.js +++ b/src/functions/lap.js @@ -36,8 +36,26 @@ defineFunction({ ["inner"], [html.buildGroup(group.value.body, options)]); } const fix = buildCommon.makeSpan(["fix"], []); - return buildCommon.makeSpan( - ["mord", group.value.alignment], [inner, fix], options); + let node = buildCommon.makeSpan( + [group.value.alignment], [inner, fix], options); + + // At this point, we have correctly set horizontal alignment of the + // two items involved in the lap. + // Next, use a strut to set the height of the HTML bounding box. + // Otherwise, a tall argument may be misplaced. + const strut = buildCommon.makeSpan(["strut"]); + strut.style.height = (node.height + node.depth) + "em"; + strut.style.verticalAlign = -node.depth + "em"; + node.children.unshift(strut); + + // Next, prevent vertical misplacement when next to something tall. + node = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{type: "elem", elem: node}], + }, options); + + // Get the horizontal spacing correct relative to adjacent items. + return buildCommon.makeSpan(["mord"], [node], options); }, mathmlBuilder: (group, options) => { // mathllap, mathrlap, mathclap diff --git a/test/screenshotter/images/Lap-chrome.png b/test/screenshotter/images/Lap-chrome.png deleted file mode 100644 index a8d14b29a1a307a47007b854177575c76f40e424..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14473 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 TTyZJ^?J@Lp^>bP0l+XkK1KU^8 diff --git a/test/screenshotter/images/Lap-firefox.png b/test/screenshotter/images/Lap-firefox.png deleted file mode 100644 index 17c982d86a1ff79cccf4c0cc80635581ae6f282b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11353 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 diff --git a/test/screenshotter/ss_data.yaml b/test/screenshotter/ss_data.yaml index 60e75276..01dcb8fa 100644 --- a/test/screenshotter/ss_data.yaml +++ b/test/screenshotter/ss_data.yaml @@ -132,7 +132,13 @@ KaTeX: Kern: tex: \frac{a\kern{1em}b}{c}a\kern{1em}b\kern{1ex}c\kern{-0.25em}d nolatex: LaTeX fails to typeset this, “Missing number, treated as zero.” -Lap: ab\mathllap{f}cd\mathrlap{g}hij\mathclap{k}lm \; ab\llap{f}cd\rlap{g}hij\clap{k}lm +# The following test, Lap, is commented out pending a successful screenshotter test. +# Lap: | +# \begin{array}{l} +# ab\mathllap{f}cd\mathrlap{g}hij\mathclap{k}lm \; ab\llap{f}cd\rlap{g}hij\clap{k}lm \\ +# \mathrlap{\frac a b} \frac a b \\ +# \mathrlap{\overbrace{\phantom{a_0+a_1+a_2}}^m}a_0+a_1+a_2 +# \end{array} LargeRuleNumerator: \frac{\textcolor{blue}{\rule{1em}{2em}}}{x} LaTeX: \text{\LaTeX}, \text{\TeX} LeftRight: \left( x^2 \right) \left\{ x^{x^{x^{x^x}}} \right. @@ -350,7 +356,7 @@ TextStacked: \textsf{\textrm{\textbf{abc123}} \textbf{abc123} \textit{abc123}}\\ \textit{abc123 \textbf{abc123} \textsf{abc123}}\\ \end{matrix} -TextWithMath: +TextWithMath: \begin{matrix} \text{for $a < b$ and $ c < d $}. \\ \textsf{for $a < b$ and $ c < d $}. \\