EndlessLethe原创文章,转载请注明: 转载自小楼吹彻玉笙寒
问题背景我使用OneNote写总结。
在总结数论相关的算法时,文章会包含数学公式。
数学公式是MS特有的格式。
直接将OneNote复制到WordPress会导致几乎所有格式的丢失,数学公式无法显示
解决经历尝试从OneNote导出。
只支持导出doc和pdf导出doc
doc效果很好,但不能直接复制到WordPress中
导出pdf
pdf效果很好,但唯一能插入到WordPress的方法是作为附件插入。即使安装了增强插件,也只是能将pdf显示出来。这样带来的问题是,搜索引擎无法抓取,显示效果也不好。
导出MS公式
见后文
从word作为起点
word可以导出的格式就有很多了,包括.html、.mht。导出.html
和pdf类似,无法作为文章一部分显示。
导出.mht
和pdf类似,无法作为文章一部分显示。
通过Word,调用Server的PRC远程过程调用接口
见后文
Word的“发布到博客功能”
在比较早的时候,WordPress可以设置启用xml-prc远程发布,现在应该是默认开启这个功能了。
但我在使用Word发布的时候出现了下图的情况:
经过WireShark抓包,大致原因是一段时间后Client端的Word不再监听端口,导致Client传回RST标志,文章传输失败:
综上,Word使用xml-rpc的方法失败。
使用MathType完成MS公式到Mathjax的转换
MS内置公式是MathType的精简版(衍生版),这有一些历史因素在里面。
而对于我们,这是个好消息,因为我们可以将内置公式导出到MathType里,通过配置复制粘贴选项:
最后的问题是,复制出来的格式不能正确被插件识别,需要将首尾的"\(""\)"修改为"\\(""\\)"。
比如:
复制出来为:
应该是:
最终解决方案
在OneNote写好的文章,复制到atom中对应.md文件,将原有的MS公式替换为Mathjax,并添加到空白处。
使用“MathJax-LaTeX”的WordPress插件解析公式。
部分跨行或者复杂的公式截图。
总结
最终方案实际效果很好,但如果公式较多的话,从MS公式转换到Mathjax需要逐一修改,不如word调用xml-rpc上传方便。
参考资料