【问题标题】:Publishing toolchain发布工具链
【发布时间】:2010-04-28 21:11:24
【问题描述】:

我有一个图书项目,我想尽早开始。这将遵循类似敏捷的发布工作流程,即:尽早且经常发布。它是由我自行出版的,虽然我们不知道,但我并不是真的想用纸质出版它。

如果我不是极客,我可能已经开始使用 Word 或任何其他所见即所得工具编写,然后导出为 PDF。但是,我们知道这不是最好的解决方案,并且 emacs 统治着我的文本编辑生活,因此,输出格式应该尽可能简单并且基于文本。

我考虑过以下选项:

  • 只需使用orgmode并导出为PDF(orgmode原生具有此功能)

  • 使用markdown模式并导出为PDF(markdown->LaTeX->PDF应该不难设置);

  • 使用类似于@ Pragmatic Progammers 的家伙所做的事情:XML + XSLT + LaTeX。 更复杂,但对样式的控制更多。

  • 编辑:有人刚刚告诉我,他使用 Textile+Adobe In Design 和 XTags 插件的组合。不过不确定它们是如何粘合在一起的,需要做一些研究。

还有其他想法/参考吗?

我想尽快开始写作。事实上,我已经有一个 org 格式文件中的草稿。但是,我确实希望以后拥有并使用 LaTex 的全部功能来按照我想要的方式对其进行格式化,并让它看起来很棒:)

提前致谢,

马塞洛。

【问题讨论】:

  • +1 对于我自己很好奇的问题,没有答案。但令我惊讶的是,一些实用程序员推荐用 XML 写一本书,我以为我们在 2010 年已经过了所有这些废话。
  • 如果您决定使用 Markdown(或其他几种格式中的任何一种!),请务必查看 Pandoc:johnmacfarlane.net/pandoc
  • 这是什么书,只是出于好奇?
  • Mark Pilgrim 正在用 emacs 中的纯 HTML 编写他的下一本书(书籍?)。 diveintomark.org/archives/2009/03/27/…

标签: xslt emacs latex publishing


【解决方案1】:

我最近对此进行了大量研究,因为我计划很快开始自己的小型媒体。

这实际上取决于您希望最终输出是什么(PDF、HTML 或其他?),以及这本书是关于什么的。

我相信您知道,Org 模式非常棒,因为它会随着您的操作而扩展。我经常在 org 模式下写大纲,然后在我真正准备好开始写作时填写正文。

如果它是散文,并且您只需要一些简单的划分(章节和部分,仅此而已),那么 org 模式 -> latex 应该可以满足您的需求。那么你还有org模式的可能-> html

如果您需要其中的数学,您可以直接在 org 模式文件中编写数学。

如果它真的是真正的技术信息,docbook 可能会很好(emacs + nxml),然后是dockbook 4.5 -> 玉 -> jadetex -> pdf。

我会远离docbook 5,因为它使用FOP生成PDF,而且排版确实不如latex。

底线:如果您想要 PDF,请使用 org -> latex,阻力最小的路径;) -- 无论您做什么,首先要专注于书的内容,然后再担心它的外观。

为什么不发表论文呢?你看过 lulu.com 吗?我最近用乳胶格式化了一本书,将 pdf 上传到 lulu,然后让他们打印出来。质量非常好,绝对值得一看。如果你有兴趣,我家里有很多关于一般出版的书签。

【讨论】:

    【解决方案2】:

    排版很难。

    TeX/LaTeX 是可以让您获得最佳结果的工具,但是它们需要有关排版的知识才能正确使用——尤其是对于像书这样的大文档。而且我还没有看到任何其他可以自动正确执行操作的廉价(=非专业用途)软件。 (我没见过专业的软件,可能他们也不做)

    但是,假设您将以某种机器可读的格式编写您的书,那么将其放入 TeX/LaTeX 应该不会很困难:一旦我有一组自定义 XML 格式的文档。正确使用 XSLT、TeXML 和 LaTeX 给了我一些我可以手动调整的东西(这种调整是必要的!)并获得最好的结果。

    我的建议:以易于解析和易于编写的方式准备内容。我会摒弃 XML。 Markdown 似乎是个不错的选择。这也可以让你快速展示你的作品。然后,如果您决定使结果更好,请编写一些简单的脚本将其转换为 TeX(获得基本功能并不难)并手动修复。这实际上可能是学习 TeX 的一个很好的练习。

    不要试图从一开始就做好一切。先获取内容,再玩格式化。

    【讨论】:

    • LaTeX 需要很少的排版知识才能看起来不错——选择字体、大小、页面和边距大小,然后就可以了。哦...并使用 microtype 包;)
    • @Mica:表格。浮动。过满/过满的箱子。而且,仅在 LaTeX 中,不兼容的包。要解决此类问题,您需要知道所需的结果是什么。 LaTeX 在做一些决定方面比 TeX 好得多,但它仍然不能做所有事情。
    • @liori 我不反对,但与排版无关:P
    • @Mica,我不同意。我见过很多使用 LaTeX 的坏例子。例如,排版好的表格材料是相当困难的,我看到只有极少数人能够做到这一点。 LaTeX 的工作方式(正如几乎所有文档中所建议的那样),例如,您在整个地方都有垂直规则,格式化略微旋转的标题等的可能性很小。
    • @Mica:表格和过满/过满的盒子与排版没有太大关系?
    【解决方案3】:

    如果你真的只想在线做,我建议你使用 org 模式,只停留在 HTML 中。然后你可以使用 CSS 来设置你想要的样式。

    话虽如此,如果您真的想将技术内容输出为 PDF,我强烈建议您使用 Docbook (www.docbook.org)。它就是为此而生的,它与 Emacs 配合得很好。

    【讨论】:

    • DocBook 看起来很有趣,以前从未听说过。它是否在封面下使用 LaTeX/TeX?
    • Docbook 在后台不使用乳胶。它使用 xml-fo,您可以使用 Apache fop 将其转换为 PDF。不过,有一些实用程序可以将 docbook 转换为 Latex。
    • 你可以使用乳胶。您也可以使用 FOP。 Dockbook5 看起来更倾向于 FOP。 Docbook4.5,您可以使用 docbook-utils 包(至少在类似 debian 的系统中),其中包含一个通过 latex 和 openjade 转到 PDF 的命令。
    【解决方案4】:

    您已经回答了自己。更不用说你已经开始在 org-mode 下写作了。 Org-mode 确实非常强大,可以让您最终毫不费力地发布到 PDF 和 HTML。

    如果是 PDF,您可以利用 LaTeX 以及 org-mode 如何处理导出。您可以在 org 文件中包含任何 LaTeX 代码。此外,恕我直言,以 org 模式编写书籍/文章会更好,因为某些事情变得比普通的 .tex 文件(例如表格)更容易。

    关于发布它是一个功能,您可以触发导出到 HTML/PDF 并上传到您的服务器。请注意,您仍然只使用人类可读且非常干净的纯文本文件。

    Org-mode 真正遵循 Emacs 的理念,只要开始使用它,它就会与你一起成长。

    【讨论】:

      【解决方案5】:

      如果你正在写一本书,那么学习 tex 的开销肯定是值得的。

      甚至像,

      \documentclass[a4paper,10pt]{book} 
      \title{SERPA'S BOOK}
      \author{SERPA}
      \date{\today}
      \begin{document}
      
      \maketitle
      
      \tableofcontents
      \include{chapterA}
      \include{chapterB}
      \include{chapterC}
      \end{document}
      

      然后,在同一个目录中有文件chapterA.tex,chapterB.tex,chapterC.tex,看起来像

      \chapter{My chapter title}
      
      Lorem ipsum dolor sit amet, consectetur adipiscing elit....
      

      仅此一项就可以生成非常漂亮的文档。您可以单独编辑每一章,然后只编译主 tex 文件。我认为,如果您尝试学习尝试从 tex 中抽象出来的中间工具,那么以后做您真正想要的事情只会变得更加困难,因为您将同时与 tex 和 tex 的抽象作斗争。

      祝你在这样的事业上好运。

      此外,无论您做什么,请务必使用某种版本控制系统(例如 SVN)来管理您的文件。这将是值得的。

      【讨论】:

        【解决方案6】:

        我会用 Latex 编写它,并有一个在线存储库,它每晚都会编译为“发布就绪”分支的 PDF,供读者使用。

        【讨论】:

        • 我喜欢这个工作流程,但目前纯 Latex 对我来说有点太硬核了。对库有什么建议可以将其抽象一点或使其更容易吗?
        • @Marcelo:我的经验是,为了避免疼痛而四处奔波只会延长痛苦……一旦我接受了它并且 jyst 学会了如何使用 LaTex,事情就变得更容易了。
        【解决方案7】:

        这些天我不会开始使用 LaTeX。 TeX 输入是非结构化的,您可以从 TeX 输入中获得的唯一内容是 PDF。如果你需要 HTML 或其他任何东西,那你就完蛋了。

        使用结构化的东西,例如 XML(DocBook 是一个很好的建议)或根据需要定义自己的 XML 子集。使用 XSLT 将其转换为可用的东西(HTML 等),这样您就可以为未来做好准备。

        根据您的印刷需求,您可以使用 TeX 作为后端处理器,或 XSLT 或其他。

        另外,看看ConTeXt,它可以直接读取XML,而且排版很好!

        【讨论】:

        • 我不认为 Tex 的 ad-hoc 结构是自出版图书项目的一大障碍。但我强烈建议看一下 Context。
        • 这不是自出版图书项目的障碍。但是唯一合理的输出是 PDF,你无法从 TeX 中获得任何其他结构化输出。
        • 我认为这个投票不公平:这是答案中唯一提到 ConTeXt 的地方(至少是我注意到的唯一一个)。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多