From d822f04b9b134aae787f26888f34b067fb4d5185 Mon Sep 17 00:00:00 2001 From: Erik Demaine Date: Thu, 28 Dec 2017 22:03:08 -0800 Subject: [PATCH] \kern generates right-margin instead of left-margin. Fix #995 (#1019) * \kern generates padding instead of margin. Fix #995 * Switch to marginRight * Add screenshot tests --- src/functions/kern.js | 2 +- test/screenshotter/images/ModSpacing-chrome.png | Bin 0 -> 20814 bytes .../screenshotter/images/ModSpacing-firefox.png | Bin 0 -> 20788 bytes test/screenshotter/ss_data.yaml | 6 ++++++ 4 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 test/screenshotter/images/ModSpacing-chrome.png create mode 100644 test/screenshotter/images/ModSpacing-firefox.png diff --git a/src/functions/kern.js b/src/functions/kern.js index 963f30f5..7c282290 100644 --- a/src/functions/kern.js +++ b/src/functions/kern.js @@ -48,7 +48,7 @@ defineFunction({ if (group.value.dimension) { const dimension = calculateSize(group.value.dimension, options); - rule.style.marginLeft = dimension + "em"; + rule.style.marginRight = dimension + "em"; } return rule; diff --git a/test/screenshotter/images/ModSpacing-chrome.png b/test/screenshotter/images/ModSpacing-chrome.png new file mode 100644 index 0000000000000000000000000000000000000000..7102f4083119dec807d083a34612988aabf09a8b GIT binary patch literal 20814 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 literal 0 HcmV?d00001 diff --git a/test/screenshotter/images/ModSpacing-firefox.png b/test/screenshotter/images/ModSpacing-firefox.png new file mode 100644 index 0000000000000000000000000000000000000000..c94ecc946cb45ecdd3427c1fd85dce36fef66460 GIT binary patch literal 20788 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 a&%X4p)cU<)cXor0L-cg@b6Mw<&;$Uy=mHV| literal 0 HcmV?d00001 diff --git a/test/screenshotter/ss_data.yaml b/test/screenshotter/ss_data.yaml index b0a3a44c..9655a67c 100644 --- a/test/screenshotter/ss_data.yaml +++ b/test/screenshotter/ss_data.yaml @@ -173,6 +173,12 @@ ModScript: | \scriptstyle a\bmod 2 & \scriptstyle b \pod 3 \\ \scriptstyle c\pmod{4} & \scriptstyle d \mod{56} \end{array} +ModSpacing: | + \begin{array}{l} + (a \cdot b) \bmod 257 \\ + (a \cdot b) \mkern1mu\mathbin{\mathrm{mod}}\mkern1mu 257 \\ + (a \cdot b) \mathbin{\mathrm{mod}} 257 + \end{array} NegativeSpaceBetweenRel: A =\!= B NestedFractions: | \dfrac{\frac{a}{b}}{\frac{c}{d}}\dfrac{\dfrac{a}{b}}