From a76f6eb985659f450960e3b5b22aa17650f26e41 Mon Sep 17 00:00:00 2001 From: Emily Eisenberg Date: Wed, 10 Sep 2014 15:56:28 -0700 Subject: [PATCH] Make all the lines the correct sizes Fix the \frac and \overline lines so they actually render at the correct sizes (i.e. don't get smaller when in script and scriptscript sizes). This also seems to fix #33. Test Plan: - Make sure new huxley screenshot look good. - Render \frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} = 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}} {1+\frac{e^{-8\pi}} {1+...} } } } at small font sizes like 30pt and smaller, see that it looks much better Auditors: alpert --- buildTree.js | 11 +++++++---- static/katex.less | 2 +- test/huxley/NestedFractions.hux/firefox-1.png | Bin 18741 -> 18746 bytes 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/buildTree.js b/buildTree.js index 30c424f..d90f4c8 100644 --- a/buildTree.js +++ b/buildTree.js @@ -279,11 +279,13 @@ var groupTypes = { var fontSizer = buildCommon.makeFontSizer(options, Math.max(numer.maxFontSize, denom.maxFontSize)); + var line = makeSpan([options.style.reset(), Style.TEXT.cls(), "line"]); + var numerrow = makeSpan(["mfracnum"], [fontSizer, numernumer]); - var mid = makeSpan(["mfracmid"], [fontSizer, makeSpan(["line"])]); + var mid = makeSpan(["mfracmid"], [fontSizer, line]); var denomrow = makeSpan(["mfracden"], [fontSizer, denomdenom]); - var theta = fontMetrics.metrics.defaultRuleThickness; + var theta = fontMetrics.metrics.defaultRuleThickness / options.style.sizeMultiplier; var u, v, phi; if (fstyle.size === Style.DISPLAY.size) { @@ -498,10 +500,11 @@ var groupTypes = { var fontSizer = buildCommon.makeFontSizer(options, innerGroup.maxFontSize); // The theta variable in the TeXbook - var lineWidth = fontMetrics.metrics.defaultRuleThickness; + var lineWidth = fontMetrics.metrics.defaultRuleThickness / + options.style.sizeMultiplier; var line = makeSpan( - ["overline-line"], [fontSizer, makeSpan(["line"])]); + ["overline-line"], [fontSizer, makeSpan([options.style.reset(), Style.TEXT.cls(), "line"])]); var inner = makeSpan(["overline-inner"], [fontSizer, innerGroup]); var fixIE = makeSpan( ["fix-ie"], [fontSizer, new domTree.textNode("\u00a0")]); diff --git a/static/katex.less b/static/katex.less index 3ad5e52..fd49616 100644 --- a/static/katex.less +++ b/static/katex.less @@ -228,7 +228,7 @@ big parens &:after { border-bottom-style: solid; - border-bottom-width: 0.05em; + border-bottom-width: 0.04em; content: ""; display: block; margin-top: -1px; diff --git a/test/huxley/NestedFractions.hux/firefox-1.png b/test/huxley/NestedFractions.hux/firefox-1.png index c54e88973aa310414d1b70213a7bdb0d97853fa2..64f5e3eb9989ddeb0aef9640031b5ce0924c0a44 100644 GIT binary patch literal 18746 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