0

如果有办法调整数学 mathjax 渲染的宽度,我正在徘徊。我拥有的一些数学表达式更长,不适合我创建的盒子。有没有办法通过改变尺寸或宽度来挤压它并使其适合?我尝试过使用换行符,但这不是我想要的。一个例子是这样的 mathjax:

2x+3+4 - /intcos(x) dx   


234567897+sin(2x)+34567890987654. 

显示最后一行将是一个问题,因为它不适合盒子。它溢出

4

3 回答 3

2

好吧,您可以在数学中使用\small\scriptsize\Tiny(非标准)或\tiny使其显示为更小的尺寸。

或者,您可以<span style="font-size:70%">...</span>在数学周围放置 a 以将数学缩放到您需要的任何大小。例如,

<span style="font-size:70%">\(234567897+sin(2x)+34567890987654\)</span>

请注意,数学分隔符必须在<span>.

于 2012-11-26T23:13:54.620 回答
1

我找到了一个不需要添加元素或 css 代码的解决方案:

// resize all LaTeX Display elements to they fit in on screen
function cvonk_ResizeMathJax() {
    jQuery('.MathJax_Display').each(function(ii, obj) {
        var latex = obj.children[0];
        var w = latex.offsetWidth;
        var h = latex.offsetHeight;    
        var W = obj.offsetWidth;
        if (w > W) {
            obj.style.fontSize = 95 * W / w + "%";
        }
    });
}
window.MathJax = {
    AuthorInit: function() {
    MathJax.Hub.Register.StartupHook("Begin", function() {
        MathJax.Hub.Queue(function() {
        cvonk_ResizeMathJax();
        });
    });
    },
    jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"],
    extensions: ["tex2jax.js"]
};
window.addEventListener("resize", function() {
    cvonk_ResizeMathJax();  
});
于 2017-12-13T21:23:06.330 回答
0

从上面链接的Google Groups 讨论中:

function changeSize(button) {
    var myeqn = document.getElementById('myeqn');
    myeqn.style.fontSize = button.textContent;
    MathJax.Hub.Queue(
    ['Rerender', MathJax.Hub, 'myeqn'],

    function () {
        document.getElementById('mylabel').innerHTML =
            'width: ' + myeqn.offsetWidth + ", height: " + myeqn.offsetHeight;
    });
}

请参阅http://jsfiddle.net/nLyraL1f/http://jsfiddle.net/s2bjepk6/

这也很好,因为它可以获取渲染乳胶的宽度和高度,这对于将其渲染为位于画布上的元素很有用,因为您可以在它周围的画布上绘制东西。

于 2015-03-01T20:31:24.667 回答