48

我对 LaTeX、基本格式、基本数学公式等知之甚少。我发现 LaTeX 很难配置成我自己的风格。最近听说过Docbook,它也是一种排版机制,但是因为使用了XML,所以容易很多。所以,如果我使用 LaTeX/Docbook 的主要工作是编写一个包含一些数学知识的简单文档(不是课堂书籍),并且我想要简单的配置和高度可定制的应用程序,那么哪个更好,有没有关于 Docbook 的好书?

4

12 回答 12

38

DocBook 不是“一种排版机制”。DocBook 就是将演示与内容分离。DocBook 只处理内容;它用于创建书籍、文章等的抽象表示。有许多工具可以根据预定义的模板布局 DocBook。其中一些工具使用 LaTeX。AFAIK,O'Reilly 使用稍微修改过的 DocBook 语言版本来创作他们的内容,然后他们将这个 XML 输入到与 Adob​​e FrameMaker 集成的自定义脚本中来布局他们的书籍。

LaTeX 本质上是一种尝试将 TeX 中的表示与内容分开,但它并没有完全实现 IMO 的目标。在大多数情况下,演示文稿仍然与内容混合在一起。我认为 LaTeX 是目前用于布局分页文档的最佳开源工具。然而,像 InDesign 这样的专有工具有许多TeX 所没有的特性(比如良好的OpenType 支持)(XeTeX增加了 OpenType 支持)。无论哪种方式,如果您正在写一本书,我强烈建议您使用 DocBook 而不是 LaTeX 来创作您的内容。

也就是说,听起来您正在编写简短的一次性文档,其中包含一些数学知识。我认为 LaTeX 可能是你最好的选择。如果你需要大量的可定制性,你可能需要使用Plain TeX而不是 LaTeX,但这需要你做很多工作。

于 2010-05-04T05:05:40.153 回答
35

好吧,我没有使用过 DocBook,但是快速浏览一下 wikipedia 和 google:

  1. DocBook 没有描述数学的元素。
  2. 正如您所说,DocBook 是 XML。对我来说,这使得手写(或者,更确切地说,使用基本的文本编辑器)是一件可怕的事情。也许您喜欢编写 XML,或者拥有一个好的 IDE。我想你可以看看这个问题

DocBook 的Wikipedia 页面列出了几本您可能想看的书,但我显然不能说它们是否是“好”的书。

我建议使用 LaTeX。找人给你一个基本的模板,然后写 LaTeX 就这么简单:

\section{Introduction}

This is my introduction.

\section{Stuff}

Here is some stuff.

\subsection{Particular stuff}

A particular type of stuff.  With maths:

$\int_{x=1}^n 3x^2$

% etc.

Google 是您寻找基本模板的朋友,您可以从以下方面着手:

要从源代码转到文档,您需要安装 LaTeX(这超出了此答案的范围,但如果您使用的是 linux,则非常容易)。理想情况下,您的 LaTeX 安装将包括pdflatex. 然后你只需运行:

pdflatex source.tex

(如果你有参考书目,还有更多的工作——但这​​是一个不同问题的主题)

于 2009-04-28T04:44:35.727 回答
28

DocBook 的伟大之处在于它是基于 XML 的——所以一章是完整的子树,一节是完整的子树,等等。在 LaTeX 中,分隔仅由线性扫描期间的文档结构决定。

Docbook 最糟糕的地方在于它是基于 XML 的——低级别的东西非常脏,而且手动编码很烦人。

于 2009-04-28T22:13:50.290 回答
15

尽管我已经相当广泛地使用了 LaTeX,但我对 DocBook 并不是很熟悉。LaTeX 的思想不是制作一个定制的文档,就是制作一个可读的、有吸引力的文档。它是一组围绕 TeX 的库、模板、宏等,由知道自己在文档设计方面做什么的人设置。当然,您有他们无法预料的特殊需求,因此您也必须进行一些调整。它是一种非常高级的声明性语言,旨在反映文档的内容和结构,而不是它应该是什么样子,其想法是您的想法及其组织方式是您应该关注的,不是页面上文本的布局。如果您需要更多控制,则存在一个包含额外样式和宏等的庞大库(CTAN),其中一些(想起回忆录)为您提供了很多控制权。

如果您将大量复杂的格式化内容塞入LaTeX 文档的正文中,那么您做错了。你需要做的是把你的内容放在那里,你的文档在语义上被组织成章节和小节,然后再回去担心格式。此时您不必过多地进入文档正文。它应该都是适用于整个文档的通用内容,最好以可重用的方式。这确保了一致性。

于 2009-04-28T22:28:51.813 回答
9

是的,LaTeX 很难配置以产生您想要的那种布局。我建议你看一下LaTeX 类回忆录的手册,看看它能让你产生什么样的布局。

网上有一本关于 DocBook 的书。也看一下,看看您可以生成什么样的布局,以及您是否可以使用 DocBook 轻松格式化您想要的数学内容。

如果您必须编写任何重要的数学,我的建议是使用 LaTeX,但当然这取决于您发现哪种格式更容易使用。

于 2009-04-28T05:00:59.993 回答
9

大约两年前,我尝试喜欢和使用 DocBook;但是,我回到了 LaTeX,因为至少在当时,LaTeX 产生了更好的质量输出(PDF)。我从来没有设法让 DocBook 到 LaTeX 到 PDF 翻译工作。我的问题很可能是“操作员错误”,但我建议在选择一些简单文档之前先尝试 DocBook(和 LaTeX)。

以下是导致我选择 LaTeX 的几点:

  • 以JabREF作为 GUI 的BibTeX 参考书目
  • 优质的PDF输出
  • 网上很多例子,包括几个和我喜欢的格式差不多
  • 好书,例如“LaTeX 指南”

如果您喜欢 GUI,请查看LyX

于 2009-04-28T22:52:08.077 回答
8

我不想走“更简单”或更好的路线,因为我认为这是一个品味问题并习惯了。我认为 docbook 是 XML 的一个优势,因此它可以通过使用 XSLT 变成几乎任何你喜欢的东西。结合它的独立性,它感觉更像是 Latex 所做的结构化内容。尤其是记录开源软件 Docbook 确实被广泛使用。您可以轻松地获取例如 Hibernate 和/或 Spring 的模板和样式表,并根据您的需要对其进行调整。

我想指出的另一个方面是构建系统中的集成。对于 Maven,有一个名为 docbkx 的插件可用,它只会根据内容和适当的 XSLT 输出 PDF、HTML 和任何您喜欢的内容。无需进一步安装。我见过的使用 Latex 完成此任务的唯一方法是将一些软件包安装到构建操作系统并围绕 em 构建自己的脚本。恕我直言,这不是可行的方法,特别是如果您构建跨平台。

关于编辑器,我可以建议XMLmind XMLEditor,它会带来很多痛苦,并为 docbook 提供了相当不错的 WYSIWYG 方法。

如果您依赖数学表达式,我也更愿意选择 Latex,因为 docbook 中没有任何东西具有相同的功能。

于 2009-05-17T14:52:44.863 回答
8

使用 DocBook 的真正原因在于对您的文档进行有意义的标记,能够对其进行验证,并将其转换为多种用途,而不仅仅是发布。LaTeX 和其他宏集添加了一层语义标记,但您始终可以自由地引入 TeX 代码,并添加来自其他来源的宏。从根本上说,TeX 文档是只能由 TeX 处理器解析的计算机程序。

对于数学和 DocBook:DocBook 是 XML,它允许您酌情使用其他 XML 技术;在这种情况下,MathML。已经提到的 XMLmind XMLEditor 提供了一个 GUI 数学编辑器,并包含样式表以将它们格式化为 Web 并与 DocBook 内容一起打印。

还有一些工具可以将 XML 文档翻译成其他语言(xml2po 是一个简单的工具,http ://heartsome.net/EN/home.html 是一个完整的套件)。

于 2010-11-17T04:56:37.713 回答
3

FWIW 我通过 xmlmind ( http://xmlmind.com/ ) 使用 docbook 来生成 html 和 .chm 文件。我还设置了 fop up 来生成 pdf,但它们并不漂亮。

完成 docbook 源代码后,我使用xsltprocdocbook.xsl文件来编写它。这是漫长而痛苦的设置,但一旦它开始工作,它就很甜蜜。

另一种方法是使用pandoc(一种扩展的降价类型工具)从降价到 DocBook。这会切断 xml 编辑器,但您仍然需要对输出格式进行转换。

于 2011-01-08T09:25:33.097 回答
3

任何必须创建专业的科学文档(研究论文、书籍、技术指南等)的人都会知道为什么 TeX 是更好的选择。

对于那些不了解某些事实的人来说,这里是一个完美的例子:在好大学,如果他没有正确参考其他人的作品,他的作品可能会被完全拒绝。我相信,有数百种“官方”引用和引用方式,哈佛学校有自己的,ACM 有自己的,在计算机科学家中,数字(温哥华)符号是最常见的。很多专业机构都有自己的风格,并且坚持。据我所知,TeX 是唯一意识到这一点的排版系统,在 BiBTeX 的帮助下,它成为作者非常强大的工具。它可以节省数小时甚至数天的工作时间。

如果我是小说作家,或者一些非技术文档的作者,我可能会选择 DocBook。

于 2011-08-03T11:47:13.013 回答
2

你看过ConTeXt吗?与 LaTeX 相比,它更灵活、更容易配置。

于 2010-05-08T04:15:45.537 回答
0

Arbortext 支持本机 LaTeX。您可以发送发布引擎或打印作曲家 LaTeX,它会通过它。它还支持许多其他组合语言。

于 2010-03-08T15:21:26.973 回答