2

我有几个 html 页面,其中包含 Mathjax 呈现的大量方程。我想参考几个方程式,而不是特别在同一页中。

问题是“\eqref”只有在方程在同一页时才有效。

一种解决方案是对所有方程式使用“\tag{}”并使用简单的 html 链接。

例如,

\label{myequation} \tag{4.1}  

链接是

"<a href="http://www.mysite.com/mypage#myequation"> 4.1 </a>"

该解决方案的问题是我需要为所有方程设置个人标签。

有没有人通过自动生成标签来引用不同页面中的方程的解决方案?

4

1 回答 1

1

请参阅有关自动方程式编号的文档。这使您可以自动为方程式编号,而不是要求\tag. 请注意,任何编号或标记的方程式都会自动获得可在链接中使用的 ID,因此无需使用\label(尽管在编辑期间添加和删除方程式会有所帮助)。如果方程编号为 5,则 id 为mjx-eqn-5。您可以覆盖一些函数以更改方程式编号的格式。请参阅TeX 配置参数文档的equationNumbers部分。

编辑:既然我理解了您的要求,我可以告诉您,要执行您的要求,MathJax 需要知道您网站中其他页面的标签到标签映射(不仅仅是当前正在查看的页面)。MathJax 没有可用的数据。唯一的方法是为包含该数据的其他页面创建数据文件,以便 MathJax 可以加载它并使其可用。虽然在技术上是可行的,但这样做会有点麻烦,尤其是因为 JavaScript(通常)无法为您编写文件。

另一方面,唯一需要标签到标签映射的地方是充当链接本身的文本(也就是说,如果eq:sum引用方程式 4.1,那么您会希望“4.1”是链接的文本到那个等式。请注意,链接本身将是myotherpage#eq:sum,因此唯一需要数字的是链接文本本身。如果您愿意使用“[sum]”之类的内容作为链接文本eq:sum(例如,“在equation [sum] we see..."),那么你就不需要标签到标签的映射,并且\eqref可以修改来处理它。但是如果你真的想要方程编号作为链接,你需要很多更多的基础设施来实现这一目标。

于 2013-05-04T12:45:21.070 回答