align
要在文档中使用环境,请执行以下操作:
\begin{align*}
x &= \sqrt{4^2-1^2} \\
&= \sqrt{15}.
\end{align*}put
MathJax
然而,为了在用于渲染数学的网页上实现相同的期望输出,数学做:
\[
\begin{align*}
x &= \sqrt{4^2-1^2} \\
&= \sqrt{15}.
\end{align*}
\]
必须完成。
我想将tex
使用 的网页的某些可能帖子的内容保存在一些文件中MathJax
,因此帖子的内容将是\begin{document}
和之间的任何内容\end{document}
。但同时,我希望这些文档可以使用 进行编译pdflatex
。
为了实现这一点,必须重新定义\[ \]
或(以及类似的)环境。align
如何做?
答案1
您不需要\[
和\]
MathJax 来识别这一点。您没有提供您的 MathJax 配置,但只要processEnvironments
在您的配置部分true
中tex2jax
,它就会直接选择\begin
。请参阅tex2jax配置文档的部分。
答案2
一个想法是进行条件测试;如果条件为真(mathjax 文档),则不执行任何操作;如果条件为假(pdflatex 文档),则\[
和\]
为:\let
\relax
\documentclass{article}
\usepackage{amsmath}
\newif\ifmathjax
\ifmathjax\relax
\else
\let\[\relax\let\]\relax
\fi
\mathjaxfalse% for pdflatex
%\mathjaxtrue% for mathjax
\begin{document}
\[
\begin{align*}
x &= \sqrt{4^2-1^2} \\
&= \sqrt{15}.
\end{align*}
\]
\end{document}
当然,这意味着你不能简单地在文档中写
\[ expression \]
你需要\begin{equation*}
表达\end{equation*}
。
答案3
你读过mathjax
文档吗?align*
应该可以正常工作。但默认情况下不支持mathjax
。如果我将其称为
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>
那么一切就align*
都正常了。