【问题标题】:Output formatted text (including source code) as LaTeX, PDF and HTML将格式化文本(包括源代码)输出为 LaTeX、PDF 和 HTML
【发布时间】:2011-06-12 00:13:58
【问题描述】:

我正在编辑很多包含代码列表并且当前输出为 pdf 的 Latex 文档。

由于我在团队中处理这些文档,因此我经常需要手动将组成员所做的更改集成到乳胶源中。

大多数小组成员不知道乳胶,所以我想有一种方法使他们能够以类似于 Markdown 的样式进行文档格式化。

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

工作流程示例:

  • 在 Markdown(或类似)中编辑文件
    • 标记部分
    • 标记代码区域
    • 标记人物
    • 标签参考
  • 转换为乳胶
    • 自动转换标签
  • 输出
    • pdf
    • html

是否有可能实现这样的工作流程?也许已经有针对我的特定工作流程的解决方案?

【问题讨论】:

    标签: html pdf latex markdown


    【解决方案1】:

    这里是 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,专注于技术文档。

    【讨论】:

      【解决方案2】:

      你应该看看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
      

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

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

      它确实是一个灵活且很棒的程序,我自己也经常使用它。

      【讨论】:

        【解决方案3】:

        你看过Docutils吗?

        【讨论】:

        • 谢谢。这看起来很有趣。不过,我有点不确定如何真正开始。您是否使用过 docbook 来处理类似的案例?你能推荐使用这种方法吗?
        • @element:它与 DocBook 无关。 Docutils 使用 reStructuredText,与 Markdown 类似,但功能更强大。
        【解决方案4】:

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

        org-mode 文件可以在 Emacs 之外编辑,对于不使用它的团队成员来说,虽然其他 Emacs 模式的预览和嵌入自然只能使用 Emacs 完成。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-03-27
          • 2014-11-21
          • 1970-01-01
          • 1970-01-01
          • 2020-02-26
          • 1970-01-01
          • 2011-07-26
          相关资源
          最近更新 更多