我有几个html页面,其中包含很多由Mathjax渲染的方程式。我想引用几个方程式,尤其是在同一页面中。
问题是“\ eqref”仅在方程式位于同一页面时才有效。
一种解决方案是对所有方程使用“\ tag {}”并使用简单的html链接。
例如,
\label{myequation} \tag{4.1}
,链接将是
"<a href="http://www.mysite.com/mypage#myequation"> 4.1 </a>"
该解决方案的问题在于我需要为所有方程式设置个人标签。
有没有人通过自动生成标签来提供在不同页面中引用方程式的解决方案?
答案 0 :(得分:1)
请参阅automatic equation numbering的文档。这允许您自动编号方程式,而不是\tag
。请注意,任何带编号或标记的等式都会自动获取可在链接中使用的ID,因此不需要使用\label
(尽管如果您在编辑期间添加和删除等式,这会有所帮助)。如果等式编号为5,则id为mjx-eqn-5
。您可以覆盖一些功能,以便更改公式编号的格式。请参阅TeX configuration parameters文档的equationNumbers
部分。
修改:既然我了解了您的请求,我可以告诉您,要求您执行的操作需要MathJax知道您网站中其他网页的标签到标记映射(不只是当前正在浏览的页面)。 MathJax没有可用的数据。唯一的方法是为包含该数据的其他页面创建数据文件,以便MathJax可以加载它并使其可用。虽然技术上可行,但这样做有点麻烦,特别是因为JavaScript(通常)无法为您编写文件。
另一方面,需要标签到标签映射的唯一地方是作为链接本身的文本(即,如果eq:sum
引用等式4.1,那么你会想要“ 4.1“是链接到该等式的文本。请注意,链接本身将是myotherpage#eq:sum
,因此唯一需要该数字的是链接文本本身。如果您愿意使用类似”[ sum]“作为eq:sum
的链接文本(例如,”在方程[sum]中我们看到......“),那么你就不需要标签到标签的映射,而\eqref
可以被修改以处理它。但如果你真的想要方程式数字作为链接,你需要一个很多更多的基础设施来实现这一点。