发布工具链

时间:2010-04-28 21:11:24

标签: xslt emacs latex publishing

我有一个书籍项目,我想早点开始。这将遵循类似敏捷的发布工作流程,即:尽早发布和经常发布。它本来是由我自己发布的,我并不是真的想用纸张发表它,即使我们从来不知道。

如果我不是一个极客,我可能已经开始使用Word或任何其他WYSIWYG工具编写,只是导出为PDF。但是,我们知道它不是最好的解决方案,并且emacs规定了我的文本编辑生活,因此,输出格式应该尽可能简单并且基于文本。

我考虑过以下几种选择:

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

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

  • 使用与@ Pragmatic Progammers所做的类似的东西:XML + XSLT + LaTeX。 更复杂,但更多的控制风格。

  • 编辑:有人告诉我他使用了Textile + Adob​​e In Design和XTags插件的组合。不知道他们是如何粘在一起的,还要做一些研究。

还有其他想法/参考吗?

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

提前致谢,

马塞洛。

7 个答案:

答案 0 :(得分:5)

我最近对此做了很多研究,因为我打算很快开始自己的小型报刊。

这真的取决于你想要的最终输出(PDF,HTML,其他?),以及这本书的内容。

Org模式很棒,因为我确定你知道,因为它会像你一样扩展。我经常在org模式下编写我的大纲,然后在我准备开始写作时填写正文。

如果它是散文,你只需要一些简单的划分(章节和章节,而不是其他),组织模式 - >乳胶应该没问题。然后你也有可能组织模式 - > HTML

如果你需要数学,你可以在组织模式文件中写下数学。

如果它真的是技术信息,docbook可能很好(emacs + nxml),那么dockbook 4.5 - >玉 - > jadetex - > PDF格式。

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

BOTTOM LINE:如果你想要PDF,请使用org - >乳胶,阻力最小的路径;) - 无论你做什么,首先要专注于书的内容,并担心它的外观。

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

答案 1 :(得分:3)

排版很难。

TeX / LaTeX是可以为您提供最佳结果的工具,但是它们需要有关正确使用排版的知识 - 尤其是对于像书本这样的大文档。而且我还没有看到任何其他便宜(=不专业用途)的软件可以自动正确地执行操作。 (我没有看到任何专业软件,所以他们也可能不这样做)

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

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

不要试图从一开始就把一切都弄好。首先获取内容,然后播放格式。

答案 2 :(得分:1)

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

话虽如此,如果您真的想输出PDF格式的技术资料,我强烈建议您使用Docbook(www.docbook.org)。它就是为此而设计的,它与Emacs一起工作很好。

答案 3 :(得分:1)

你已经回答了自己。没有提到你已经开始在org-mode中编写。组织模式非常强大,可以让您最终发布到PDF和HTML。

如果是PDF,您可以利用LaTeX以及org-mode如何处理导出。您可以将任何LaTeX代码包含在组织文件中。另外恕我直言,在org-mode中编写本书/文章的方式更好,因为有些内容变得比普通的.tex文件更容易。例如表。

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

Org-mode真正跟随Emacs philosphy开始使用它,它会和你一起成长。

答案 4 :(得分:1)

如果你正在写一本书,那么学习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)来管理您的文件。这将是值得的。

答案 5 :(得分:0)

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

答案 6 :(得分:0)

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

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

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

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