这几天预习期末考试,打算找个方便的文本编辑器记笔记。刚安装了VS Code,用起来觉得挺顺手的,本身还可以实时预览Markdown,就打算直接用它了。
然而Markdown原生并不支持LATEX,打公式只能用如<sub>
和<sup>
等html tag凑活将就,费时又费力。去VS Marketplace看了一下儿,发现有一款叫Instant Markdown的插件可以用实时把markdown源文件送到浏览器并render预览效果。虽然原生也不支持LATEX,但是可以改嘛!亲自动手丰衣足食,何乐而不为。
心乐之,果断安装。装完随手打开一个.md文件,发现这个插件已经自动用默认浏览器打开了一个网页,render出效果。自己动手改了改这个插件,加上MathJax Library,就已经可以render出Markdown中的LATEX了。步骤如下:
-
首先在终端/命令提示符下
cd $HOME/.vscode/extensions/dbankier.vscode-instant-markdown-0.1.0/node_modules/instant-markdown-d
进入 instant-markdown 插件的目录。 -
打开 index.html,在
<head>
标签内添加以下代码:
<script type="text/x-mathjax-config">
MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
</script>
<script type="text/javascript" async
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_CHTML">
</script>
- 在
socket.on('newContent', function(newHTML) {
document.querySelector(".markdown-body").innerHTML = newHTML;
后加入一行
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
既:
<script>
var socket = io.connect('http://localhost:8090/');
socket.on('connect', function () {
socket.on('newContent', function(newHTML) {
document.querySelector(".markdown-body").innerHTML = newHTML;
+ MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
});
socket.on('die', function(newHTML) {
window.open('', '_self', '');
window.close();
var firefoxWarning =
"<h1>Oops!</h1>" +
"<h3>Firefox doesn't allow windows to self-close.</h3>" +
"<h3>If you want the preview window to close automatically like in other browsers, go to about:config and set dom.allow_scripts_to_close_windows to true.</h3>"
document.body.innerHTML = firefoxWarning;
});
});
</script>
4 . 保存,关闭网页,重启VS Code,万事大吉。
网友评论