输出格式化文本(包括源代码)作为LaTeX,PDF和HTML

时间:2011-01-19 19:40:13

标签: html pdf latex markdown

我正在使用代码清单编辑乳胶中的许多文档,目前输出为pdf。

由于我在这些文档的团队中工作,我经常需要手动将组成员所做的更改集成到latex源中。

大多数小组成员都不知道乳胶,所以我想有办法让他们以类似于降价的方式进行文件格式化。

由于乳胶文档由数字组成,有引用并使用 lslisting 包,我想知道是否可以将这些特定区域映射到简单的markdown样式语法。

工作流程示例:

  • 在Markdown(或类似)中编辑文件
    • 标记部分
    • 代码区域
    • 标记数字
    • 标记引用
  • 转换为乳胶
    • 自动转换标签
  • 输出
    • PDF
    • HTML

以某种方式可以实现这样的工作流程吗?也许已经有我的特定工作流程的解决方案?

4 个答案:

答案 0 :(得分:2)

这是Docutils的一个例子。

Title
=====

Section
-------

.. _code:

Code area::

  #include <iostream>
  int main() {
    std::cout << "Hello World!" << std::endl;
  }

.. figure:: image.png

   Caption for figure

A reference to the code_


Another section
---------------

- Itemize
- lists

#. Enumerated
#. lists

+-----+-----+
|Table|Table|
+-----+-----+
|Table|Table|
+-----+-----+

将其另存为example.rst。然后你可以编译成HTML:

rst2html example.rst example.html

或者是LaTeX:

rst2latex example.rst example.tex

然后编译生成的LaTeX文档:

pdflatex example.tex
pdflatex example.tex  # twice to get the reference right

用于从多个来源生成文档的更全面的框架是Sphinx,它基于Docutils并专注于技术文档。

答案 1 :(得分:1)

你看过Docutils吗?

答案 2 :(得分:1)

你应该看看pandoc(至少如果我理解你的问题)。它可以在多种格式(tex,pdf,word,reStructuredText)之间进行转换,还支持markdown语法的扩展版本,以处理更复杂的问题(例如,在html中插入标题信息)。

有了它你可以混合markdown和LaTeX,然后编译成html,tex和pdf。您还可以包含外部文件中的bibtex引用。

一些例子(从markdown到latex和html):

pandoc -f markdown -t latex infile.txt -o outfile.tex
pandoc -f markdown -t html infile.txt -o outfile.html

要添加自己的LaTex模板,从markdown到pdf,以及参考书目:

 pandoc input.text --template=FILE --bibliography refs.bib -o outfile.pdf

这是一个非常灵活且令人敬畏的程序,我自己也在使用它。

答案 3 :(得分:0)

如果您是Emacs用户,可以根据自己的喜好找到org-mode标记。它对表格有很好的支持,可以很好地与电子表格等其他Emacs模式进行协调,并且可以很好地将图像导出为HTML。参看the fine manual's HTML-export section

对于不使用它的团队成员,可以在Emacs外部编辑

org-mode个文件,尽管其他Emacs模式的预览和嵌入当然只能用Emacs完成。