如果有办法调整数学mathjax渲染的宽度,我就会徘徊。我的一些数学表达式更长,不适合我创建的盒子。有没有办法通过改变尺寸或宽度来挤压它并使其适合?我尝试过使用换行符,但这不是我想要的。一个例子就是这样的mathjax:
2x+3+4 - /intcos(x) dx
234567897+sin(2x)+34567890987654.
显示最后一行将是一个问题,因为它不适合该框。它溢出
答案 0 :(得分:2)
我找到了一个不需要添加元素或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();
});
答案 1 :(得分:1)
好吧,您可以在数学中使用\small
或\scriptsize
或\Tiny
(非标准)或\tiny
来使其显示的尺寸更小。
或者,您可以在数学周围放置一个<span style="font-size:70%">...</span>
,以便将数学缩放到您需要的任何大小。如,
<span style="font-size:70%">\(234567897+sin(2x)+34567890987654\)</span>
请注意,数学分隔符必须位于<span>
。
答案 2 :(得分:0)
从上面链接的Google Groups discussion:
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/。
这也很好,因为它可以获得渲染乳胶的宽度和高度,对于将其渲染为放置在画布上的元素之类的东西很有用,因为你可以在它周围的画布上绘制东西。