计算化学公社

标题: 推荐一个通用的渲染Latex公式的解决方案 [打印本页]

作者
Author:
stecue    时间: 2015-11-24 05:54
标题: 推荐一个通用的渲染Latex公式的解决方案
本帖最后由 stecue 于 2015-11-24 09:54 编辑

大家都知道本论坛采用的Dizcuz!架构完全不支持Latex,所以打公式很费劲。那么就没有办法方便的输入并显示漂亮的公式了么?并非如此。有高人发掘了用Math Anywhere渲染Latex公式的方案,适用于Chrome浏览器,请看果壳网的这个帖子。我们也可以照办,比如下面这个矩阵元:$$\langle i | j \rangle=\int \phi_i^*(\mathbf{r}_1) \phi_j(\mathbf{r}_1) d(\mathbf{r}_1)$$
就是Math Anywhere渲染的。如果可以正常开启的话,效果是这样的:
(, 下载次数 Times of downloads: 42)
还不错吧?

注意插件安装之后可能是未激活状态(勾号是黑色的如图 (, 下载次数 Times of downloads: 38) ),点击之后变成绿色的激活状态( (, 下载次数 Times of downloads: 41) ),这时公式才能正确显示。如果不需要显示公式(比如说页面本身需要显示美元符号)则可再次点击关闭显示公式的功能。(@卡开发发 提醒)
至于Latex编辑器,我个人推荐KLatexFormula,否则没有语法高亮,各种括号很容易绕晕。这个本来是KDE的软件,但是现在好像只需要Qt库,不依赖KDE了,所以Windows下也能正常使用。

Math Anyway不支持Firefox,要实现类似的功能需要要做一些Hacking,不过我觉得需要讨论公式的话,用Chrome就足够了。


作者
Author:
卡开发发    时间: 2015-11-24 06:10
(, 下载次数 Times of downloads: 11)
Google的连接很难打得开,百度上找了一个。如果非得用360不可的话,我建议使用360极速,Chrome内核模式允许使用Chrome插件。
作者
Author:
stecue    时间: 2015-11-24 06:28
本帖最后由 stecue 于 2015-11-24 06:33 编辑

如果要按照那个帖子用\braket{}{}之类的符号的话,需要把下面代码加到自己的latex代码之前,原帖里面有一些颜色代码不能直接拷贝。

  1. \newcommand{\ud}[1]{{#1^{\dagger}}}
  2. \newcommand{\bra}[1]{\left\langle #1\right|}
  3. \newcommand{\ket}[1]{\left| #1\right\rangle}
  4. \newcommand\Tr{\mathrm{Tr}}
  5. \newcommand{\braket}[2]{\langle #1 \mid #2 \rangle}
  6. \newcommand\d{\mathrm{d}}
  7. \newcommand\I{\mathbb{I}}
  8. \newcommand{\avg}[1]{\left< #1 \right>}
复制代码

比如
$$\newcommand{\ud}[1]{{#1^{\dagger}}}
\newcommand{\bra}[1]{\left\langle #1\right|}
\newcommand{\ket}[1]{\left| #1\right\rangle}
\newcommand\Tr{\mathrm{Tr}}
\newcommand{\braket}[2]{\langle #1 \mid #2 \rangle}
\newcommand\d{\mathrm{d}}
\newcommand\I{\mathbb{I}}
\newcommand{\avg}[1]{\left< #1 \right>}

\braket{i}{j}
$$


作者
Author:
卡开发发    时间: 2015-11-24 06:52
本帖最后由 卡开发发 于 2015-11-24 06:57 编辑

像我这种不熟悉LaTeX码而且比较懒的人可以用这样的方式:1
1、下载个Mathtype,然后在Mathtype输入想要的公式(这个就真的没啥难度了);
2、选择preferences中的cut & copy preferences,然后把选项改为MathML or TeX,一般情况LaTeX 2.09& later就行;
(, 下载次数 Times of downloads: 35)
3、选中你的公式,并ctrl+c进行copy;
4、贴到论坛的回复框,发表后就能够见到公式的显示。

最后需要注意,插件必须处于激活状态,否则还是看不到公式的。实际效果:
  1. \#[#\Delta E = \left\langle 0 \right|\sum\limits_{k\sigma } {\frac{{{\hbar ^2}{k^2}}}{{2m}}\hat a_k^ + {{\hat a}_k}} \left| 0 \right\rangle \#]   无视这里的#,为了不让其转化为公式
复制代码

显示应该是这样:
(, 下载次数 Times of downloads: 51)
可以测试一下是否显示正常:\[\Delta E = \left\langle 0 \right|\sum\limits_{k\sigma } {\frac{{{\hbar ^2}{k^2}}}{{2m}}\hat a_k^ + {{\hat a}_k}} \left| 0 \right\rangle \]如果正常的话应该与上面的图片一致。



作者
Author:
stecue    时间: 2015-11-24 09:14
本帖最后由 stecue 于 2015-11-24 09:46 编辑

测试一下\bra{}和\ket{}
$$
\newcommand{\ud}[1]{{#1^{\dagger}}}
\newcommand{\bra}[1]{\left\langle #1\right|}
\newcommand{\ket}[1]{\left| #1\right\rangle}
\newcommand\Tr{\mathrm{Tr}}
\newcommand{\braket}[2]{\langle #1 \mid #2 \rangle}
\newcommand\d{\mathrm{d}}
\newcommand\I{\mathbb{I}}
\newcommand{\avg}[1]{\left< #1 \right>}

\bra{A}{B}\ket{C}
\Delta E = \bra{0} { \sum \limits_{k\sigma } {\frac{{{\hbar ^2}{k^2}}}{{2m}}\hat a_k^ + {{\hat a}_k}}} \ket{0 }$$或者直接使用\langle和\rangle,
$$
\Delta E =\left\langle 0 \left| \sum \limits_{k\sigma } {\frac{{{\hbar ^2}{k^2}}}{{2m}}\hat a_k^ + {{\hat a}_k}} \right| 0 \right\rangle
$$











欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3