用LaTeX写文章的一种懒人写法

自从两年前用 LaTeX 写了第一篇论文,后续的几篇都回到了用 Word。主要原因在于学会用 LaTeX 之后,用 Word 的习惯也好了很多,再加上后者还有所见即所得的优势。不过回顾一些以前写的小笔记,发现如果做某个小专题的笔记,页数在十几页范围以内时,其实用 LaTeX 也是不错的选择,尤其是当出现大量公式的时候。正好最近要写一个简单的报告,就尝试着用 LaTeX 来写。由于已经比较长时间没有使用了,不少命令已经记得不熟了,另外也习惯了 markdown 那种接近所见即所得的方便,所以感觉纯 LaTeX 已经显得挺繁琐了。

基于这样的背景,大概考虑了有几种方案。

直接用 iPython notebook 其实是个不错的办法,尤其是要写的东西里出现大量公式的时候。用它最大的好处在于可以一个单元一个单元地敲,然后几乎实时地看到公式的样子,而不是对着一堆很难用人眼「编译」的代码来看。但它的问题也比较明显,输出效果最好的是 HTML 文件,虽然也可以得到 PDF,但样式几乎没办法控制。这样的特性也就决定了,它只适合写一些只给自己看的小笔记,稍正式的文档就不太好了。

另一个选项是直接用 markdown,然后用 pandoc 来输出格式。这个办法最不方便的地方在于 pandoc 要输出满意的 PDF 格式还是比较折腾,尤其是带中文的时候,尽管它有这个能力,所以暂时排除。

最终采用的折衷方案是,建一个 tex 文件,把 documentclass 之类的头尾写好,然后在 document 环境中就留一句话:\input{body_file_name}。另外建一个 markdown 文件写主体,写完之后用 pandoc 输出非 stand-alone 的 tex 文件,最后用 xelatex 编译主文件输出 PDF。

这种方法看起来很绕,实践起来却比较简单。用 markdown 写,大大简化了写 itemize 一类的环境的过程。如果写个简单的批处理,再加上 sumatrapdf,基本上也就算所见即所得了。

links

social