当我使用LaTeX宏(例如\ new命令)时,它会占用页面中的空间。这是一个示例代码,用于演示我面临的问题。
代码:
<!DOCTYPE html>
<html>
<head>
<title>MathJax Example</title>
<script
type="text/javascript"
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default">
</script>
</head>
<body>
<p>
\(\newcommand{\N}{\mathbb{N}}\)
\(\newcommand{\R}{\mathbb{R}}\)
\(\newcommand{\Z}{\mathbb{Z}}\)
Let \(x \in \N\). Then \(x^2\) is called a perfect square.
</p>
<p>
Let \(x \in \N\). Then \(x^2\) is called a perfect square.
</p>
</body>
</html>
以下是自己页面中的输出:http://fiddle.jshell.net/Lkeus/show/
在输出中,您可以看到第一行在一些空格后开始。这个空间来自那里的宏的使用。 Firebug将MathJax创建的代码显示为额外空间的原因:
<span class="math" id="MathJax-Span-1">
<span style="display: inline-block; position: relative; width: 0em;
height: 0pt; font-size: 130%;">
<span style="position: absolute; top: -1em; left: 0em; clip:
rect(0.856em, 1000em, 1.144em, -0.433em);">
<span class="mrow" id="MathJax-Span-2"></span>
<span style="display: inline-block; width: 0pt; height: 1em;"></span>
</span></span>
<span style="border-left: 0em solid; display: inline-block; overflow:
hidden; width: 0pt; height: 0em; vertical-align: 0em;"></span></span>
如何摆脱这个额外空间?
答案 0 :(得分:4)
我从MathJax社区学到了一些解决这个问题的方法。
通过将所有\newcommand
放入单个\newcommand
... \(
,可以最小化\)
引起的空白。示例:http://jsfiddle.net/qQ9P9/
\(\newcommand{\N}{\mathbb{N}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\Z}{\mathbb{Z}}\)
通过在HTML的<head>
部分中定义宏,可以完全删除所有额外的空格。示例:http://jsfiddle.net/tVyJz/
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
TeX: {
Macros: {
N: "\\mathbb{N}",
R: "\\mathbb{R}",
Z: "\\mathbb{Z}"
}
}
});
</script>
答案 1 :(得分:3)
我一直在做的是将newcommand
定义放在他们自己的段落(或div)中,然后将其display
属性设置为none
:
<p style="display:none">
\(\newcommand{\N}{\mathbb{N}}\)
\(\newcommand{\R}{\mathbb{R}}\)
\(\newcommand{\Z}{\mathbb{Z}}\)
</p>
<p>
Let \(x \in \N\). Then \(x^2\) is called a perfect square.
</p>
<p>
Let \(x \in \N\). Then \(x^2\) is called a perfect square.
</p>