如果有一種方法可以調整數學mathjax渲染的寬度,我就會徘徊。我擁有的一些數學表達時間更長,並且不適合我創建的盒子。有沒有辦法擠壓它,並通過改變尺寸或寬度來適合它?我試過使用換行符,但那不是我想要的。一個例子是這樣的mathjax:顯示大小/寬度調整
2x+3+4 - /intcos(x) dx
234567897+sin(2x)+34567890987654.
顯示最後一行將是一個問題,因爲它不適合在框中。溢出
如果有一種方法可以調整數學mathjax渲染的寬度,我就會徘徊。我擁有的一些數學表達時間更長,並且不適合我創建的盒子。有沒有辦法擠壓它,並通過改變尺寸或寬度來適合它?我試過使用換行符,但那不是我想要的。一個例子是這樣的mathjax:顯示大小/寬度調整
2x+3+4 - /intcos(x) dx
234567897+sin(2x)+34567890987654.
顯示最後一行將是一個問題,因爲它不適合在框中。溢出
嗯,你可以使用\small
或\scriptsize
或\Tiny
(非標準)或\tiny
數學內,使之出現在一個更小的尺寸。
或者,你可以在數學上加上<span style="font-size:70%">...</span>
,以便將數學縮放到任何你需要的大小。例如,
<span style="font-size:70%">\(234567897+sin(2x)+34567890987654\)</span>
注意,數學分隔符必須是<span>
內。
從上方連結該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/。
這也很好,因爲它獲取渲染乳膠的寬度和高度,對於將其呈現爲位於畫布上的元素很有用,因爲您可以在畫布上繪製東西。
我發現,不需要添加元素或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();
});
我現在嘗試。感謝發佈 –
有沒有辦法使用Mathjax配置來完成此操作。通過這個,我的意思是動態地改變字體大小。我一直在尋找,我還沒有找到任何解決方案。 –
不,沒有配置可以告訴MathJax調整大小以適合可用空間。但是[MathJax用戶論壇](https://groups.google.com/d/topic/mathjax-users/ems8PNage-0/discussion)討論了一種技術,它展示瞭如何自己動態改變縮放比例。例如,它可以適應於通過多個等式來設置它們的大小。 –