用pandoc转换LaTeX文档

2024年6月9日

LaTeX的优点

  1. Latex文档是个文本文件,适合被git版本控制。
  2. Latex ignores single line breaks. Latex文档中,文本可以换行;而生成的(pdf)文档中文本是在同一段。这个特性方便查看diff,与git配合更加。
  3. Latex文档可以写注释。

改进文章的时候,新的一句话跟老的一句话,哪一句比较好不明显,要把新的话写出来比较。这时候,把老的一句话放在一行,把新的一句话放在下一行(利用特性2)。这样比较字数、长度、跟上下文的衔接等。如果真的新的一句话比较好,那就可以把老的文字删掉。

改进文章的时候,会需要控制文章的详细程度和长度。利用特性2,我可以把解释性的描述,或者举例子的话放在一行。如果这个段落不需要这么详细,或者长度太长,我可以把这句话注释掉(特性3)。当然,注释掉还是从git里删掉,这个就是见仁见智了。

与其他格式比较

Markdown既是输入格式又是输出格式,即WYSIWYG,没有办法写comment。[1]很多markdown转换工具(如GitHub、SackEdit把纯文本markdown转换成HTML)并不忽略single line breaks。[2]

MS Word也差不多。不能快速切换comment and text。它也没有编译这个步骤,不能ignores single line breaks。MS Word不适合放入git,这个问题已经众所周知了。

LaTeX转换成其他格式

由于现实原因,有时候你还是需要用或者提交word文档,或者写一篇有字数要求的文章等。LaTeX统计字数不是不行,但要准确、灵活、容易处理,大多数情况下还是要手写特制的代码。

可以考虑用pandoc。我觉得pandoc不会支持复杂的latex命令。可以让pandoc转换简单的latex文档,然后提交。

pandoc不支持tikz,不能把tikz转换成图片(如png)。

参考资料

  1. Betamos. Comments in Markdown. . 2011-01-28 [2024-06-09].
  2. beatngu13. Markdown and line wrapping. . 2017-01-06 [2024-06-09].