- MathJax是什么
- MathJax AsciiMath Support
- 入门指南
- MathJax Output Formats
- Loading MathJax Dynamically
- 安装和测试MathJax
- The MathJax Community
- Modifying Math on the Page
- 加载和配置MathJax
- What’s New in MathJax v2.0
- MathJax API
- Common Configurations
- What’s New in MathJax v1.1
- Describing HTML snippets
- Configuration Objects
- Migrating from MathJax v1.0 to v1.1
- CSS Style Objects
- Using MathJax in popular web platforms
- Converting to MathJax from jsMath
- Glossary
- MathJax TeX and LaTeX Support
- The MathJax Processing Model
- MathJax MathML Support
- The MathJax Startup Sequence
- Synchronizing your code with MathJax
安装和测试MathJax
最简单实用MathJax的方法就是直接引用MathJax内容分发服务器的服务。这种情况下不需要安装MathJax到你的服务器就可以开始直接使用MathJax了。你可以跳过文档的安装有关的内容直接阅读 。
MathJax可以从公共服务器加载,也可以从你自己的服务器甚至本地硬盘加载。不管使用哪种方法,你都有必要获取一份MathJax的副本。有三种方法可以获取: git , svn 或者打包好的归档。推荐使用前两种,这样可以保证你的MathJax是最新版的。
通过git获取MathJax
最简单快速获取MathJax最新版的方法就是通过 Git 版本控制工具去访问 GitHub版本库 ,使用命令
git clone git://github.com/mathjax/MathJax.git MathJax
去获取MathJax的副本。(请注意,现在没有 fonts.zip 文件了,自从v1.0 fonts 就包含在版本库中了。)
无论何时,当你想要升级MathJax时只需使用
cd MathJax git remote show origin
去检查版本库是否有更新,如果需要更新的话使用
cd MathJax git pull origin
来升级MathJax即可。如果你使用这种方式升级,你将获得最新的bug修补和新特性。
通过这样的方式获取MathJax可以保证MathJax包含最新的修改。虽然我们尽可能保证其稳定而可用,但是毕竟是正在开发的版本,可能没有发行版稳定。如果你更偏向于更稳定的版本,请获取一个标记的版本,使用
cd MathJax git tag -l
查看所有的标记版本。然后使用
cd MathJax git checkout <tag_name>
去获取你需要的标记版本。如果要获得最新版本,你需要重复操作去获取最新的标记。
每一个主要版本都一个关键更新的分支。如果你要使用补丁版本,请获取标记版本之后的分支。使用
cd MathJax git branch
去获取一个可以的分支的列表。对于主要版本有很多独立的分支,以 -latest 结尾。这些包含了特定版本的所有补丁。如果需要一个版本的补丁你可以获取分支。比如分支为 v2.0 ,标记版本为 v2.0-latest 。获取这个版本使用
cd MathJax git checkout v2.0-latest
当发生改变时使用
cd MathJax git pull origin v2.0-latest
通过svn获取MathJax
如果你更倾向于使用 subversion 版本控制工具,你可以需要GitHub提供的 svn 服务来获取MathJax。如果你想通过 svn 获取最新的版本,使用命令
svn checkout http://github.com/mathjax/MathJax/trunk MathJax
来获取MathJax的副本。
当你想要升级时,使用
cd MathJax svn status -u
去检查是否有可用的升级。如果有,使用
cd MathJax svn update
升级你的MathJax副本到最新版本。如果你使用这种方式升级,你将获得最新的bug修补和新特性。
通过这样的方式获取MathJax可以保证MathJax包含最新的修改。虽然我们尽可能保证其稳定而可用,但是毕竟是正在开发的版本,可能没有发行版稳定。如果你更偏向于更稳定的版本,请获取一个标记的版本,使用
svn checkout http://github.com/mathjax/MathJax/branch/[name] MathJax
其中 [name] 代表你希望获取的分支名称。比如 2.0-latest 。分支名称可以在 GitHub MathJax 页面中的 branches 中找到。
通过归档获取MathJax
MathJax的发行版本都以归档形式陈列于 MathJax下载页面 或者 MathJax GitHub 的”zip”按钮,从那里你可以下载你需要的归档文件。
你应该下载v2.0的归档,然后解压。解压完成后移动它到你的服务器(如果你想从本地加载,放在硬盘中就行了)。比较好的方法就是放置到你的服务器的根目录,这样你就可以用 /MathJax/MathJax.js 加载MathJax了。
在MathJax的Github下载连接中,你可以选择下载 .tar.gz 或者 .zip 。
如果一个发型版本出现了关键更新,这些更新将会提交到这个版本的分支中。从下载列表中获取的 .zip 只是发行版本,而不是补丁版本。如果要获取补丁,选中 Branches 下拉框,选择你需要的,在点击 .zip 按钮下载即可。
测试你的安装
使用在 test 目录的文件来测试你的安装是否正常工作:
test/ index.html # Tests default configuration index-images.html # Tests image-font fallback display sample.html # Sample page with lots of pretty equations examples.html # Page with links to all sample pages
在你的浏览器中打开这些文件检查它们是否正常工作。如果你将MathJax安装在服务器上,请使用网络地址访问而不是直接访问文件。当你打开 index.html 文件,稍后就可以看到一个消息表示MathJax开始工作了。如果没有,请检查所有文件是否都上传到服务器和是否有权限访问。检查服务器日志也许可以帮助你更快的找到问题。
关于共享服务器
一般情况下,你会将安装在和页面服务器相同的服务器上。但是有时候你可以需要安装在另外一个服务器的MathJax。比如一个部门站点 www.math.yourcollege.edu 希望使用主站点 www.yourcollege.edu 的MathJax。MathJax当然可以从其他服务器加载,但是这里需要注意Firefox和IE9的同源安全策略。
Firefox对于同源策略的执行远比其他浏览器更严格,它将影响 @font-face 的字体加载。MathJax使用该指令加载字体。Firefox只允许加载同源的字体文件。所以当从其他站点加载MathJax时,MathJax将会等待字体将在完成。当5秒钟超时后将自动加载一种类似的字体。相似的,IE9标准模式的策略与Firefox相同,所以处理结果页差不多。
这里有一种解决方案,如果你管理着安装MathJax的那台服务器,同时使用的是 `Apache web
<FilesMatch "\.(ttf|otf|eot|woff)$"> <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule> </FilesMatch>
请确保服务器有权限读取这个文件。
这个文件将让Firefox和IE9可以下载字体。如果更严格的限制对于字体文件的访问,你可以修改 Access-Control-Allow-Origin 那一行的配置为
Header set Access-Control-Allow-Origin "http://www.math.yourcollege.edu"
这样就只会允许 www.math.yourcollege.edu 从这台服务器下载字体文件了。参考开放字库对于这个问题的讨论 web-font linking 。
Firefox和本地字体
正如上文描述的那样,Firefox的同源策略影响了字体的加载。这不光影响到跨域加载,也影响到了你从本地硬盘使用MathJax。(具体原因参考Firefox对于同源的解释,相关段落翻译省略)
为了让Firefox能够顺利从本地文件中加载,你的MathJax必须安装在你的页面所在目录或其根目录。这是一个不幸的限制,但是MathJax无法规避Firefox的安全策略。目前其他浏览器没有这个问题。
IE9和本地字体
如上文所述,IE9的同源策略影响了字体的加载。和FIrefox一样,这样的问题也会出现在你浏览本地页面文件的时候,处理办法请参考Firefox的处理办法。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论