14

作为一名开发人员,我真的不喜欢编写文档,但是当我不得不写文档时,我想让这个过程尽可能轻松。

Word 的问题在于它经常妨碍我。我更关心布局而不是实际内容……这就是我想摆脱 Word 的原因。

理想情况下,我想编写我的内容,然后将其“编译”成文档。

我听说过LaTeX,但我没有任何经验。这会是适合这项工作的技术吗?我应该使用什么编辑器(Windows)?从LyX开始是个好主意吗?

编辑:我不是在询问记录代码(我为此使用 Sandcastle)。


2014 年更新:

我们现在已经切换到GFM(GitHub Flavored Markdown)

  • 这真的很容易使用。
  • 在同一个 IDE 中编写代码和文档!
  • 一切都可以版本化!
  • 以原始 txt、htmlpdf形式获得出色的输出!
4

21 回答 21

26

我对此的解决方案是花一些时间为自己创建一个像样的 Word 模板。

要做的重要事情是确保为可以放入文档中的所有内容定义了样式。

一旦您定义了所有样式并且所有文档内容都用正确的样式进行了标记,而不是以特别的方式格式化,您会惊讶于每次快速生成漂亮的 Word 文档是多么容易。

这里更广泛的问题是每个人都花几个小时在 Word 上,但公司很少投资 Word 培训。在某些时候,您必须硬着头皮花时间自学如何正确使用它,就像使用任何其他工具一样。

于 2009-05-14T09:06:33.640 回答
23

你可以用 LyX 做的任何事情都可以用 LaTeX 做。LaTeX 适用于各种事物;它已被用于从手册到讲座幻灯片到小说的所有内容。

我认为 LaTeX 可能值得考虑作为一种选择;如果您曾经想为您的文字处理器“编码”,那么 LaTeX 适合您。在最简单的级别上,您可以定义新的命令来为您做事,但那里有很多功能。输出看起来非常整洁。

在我看来,LyX 在某些情况下很棒,在其他情况下很方便,但偶尔会妨碍你。我认为它应该被视为 LaTeX 的生产力助推器。换句话说,在尝试 LyX 之前学习使用 LaTeX。两者当然都是免费的并且可用于 Windows,尽管与 MS Word 相比学习曲线相当陡峭。对于长文档或大量类似文档,LaTeX/LyX 可能是值得的投资。

于 2009-05-14T09:15:43.230 回答
11

我发现 wiki 可以很好地解决这个问题。找一个你喜欢的wiki,它可以让你做一些格式化,但没有什么很重的。理想情况下,它也应该让您轻松格式化代码 - 老实说,SO 上可用的降价可能是一个好的开始。

那样:

  • 您有内置的更改跟踪(假设一个不错的 wiki)
  • 您可以在任何地方进行编辑
  • 每个人总是看到相同的文档(即时分发)
  • 您可以专注于内容而不是格式
于 2009-05-14T09:03:39.903 回答
10

您可以使用自己的 XML 格式编写文档,然后使用 XSL 将其转换为任何格式(例如通过 FOP+XSL-FO 的 PDF)。另请参阅DocBook XML 格式。

于 2009-05-14T09:03:04.647 回答
5

LaTeX 是一个非常强大的工具,在这里很可能是矫枉过正,因为它是为科学/数学文献而设计的。它有一个(相对)陡峭的学习曲线,如果你不熟悉它,可能很难哄它完全按照你的意愿去做。我喜欢 LaTeX,但它并不是一个真正的通用文字处理器。

您是否考虑过使用 OpenOffice?

于 2009-05-14T09:05:09.620 回答
3

如果您需要编写文档,LaTeX确实是一种非常强大的语言。

也许你可以试试texmaker,一个跨平台的LaTeX编辑器:

Texmaker 是一个干净的、高度可配置的 LaTeX 编辑器,具有良好的热键支持和大量的 Latex 文档。Texmaker 在一个应用程序中集成了许多使用 LaTeX 开发文档所需的工具。它具有一些不错的功能,例如语法突出显示、只需单击即可插入 370 个数学符号以及文档的“结构视图”,以便于导航。

于 2009-05-15T08:34:42.493 回答
2

使用 HTML 怎么样?这样,如果需要许多人从许多地方访问它,您就可以发布文档。

于 2009-05-14T09:02:50.157 回答
2

尽管付出了所有努力和合理的期望,但我认为文字处理尚未“解决”。

我对我个人也发现使用 MS Word 非常令人沮丧的体验的回应是完全避免它,并使用像GhostDoc这样的自动文档工具从我已经在代码中编写的内容(DRY!)生成 XML并处理来自基于 XSLT 的 Intranet 站点或以后类似站点的 XML。

于 2009-05-14T09:06:19.523 回答
2

您是在谈论记录您的实际代码吗?如果是这样,我建议将Doxygen用于非托管代码,将Sandcastle用于托管代码。两者都将编译您的帮助或将其构建为您的网站。

两个应用程序都将读取函数/类/变量上方的特殊标签并将其编译到帮助中。

于 2009-05-14T09:07:33.903 回答
2

我考虑过 wiki,但我决定使用修改后的 Markdown 表示法,原因很简单,wiki 的内容不容易导出和分发到 wiki 本身之外,而 Markdown 可以呈现为 HTML。

回答 chris 关于我的工作流程的问题:我使用原始 Markdown 格式的类似记事本的应用程序(TextWrangler,仅因为它的自动换行功能)编写文档。然后我有一个小型 localhost 文档网站,其中包含我修改后的 Markdown 解析器(扩展了一些功能和更多面向 HTML 的功能),它检查文档文件的时间戳 - 如果文件已更新,它将将该文件解析为HTML,并将文件存储在缓存中。

通过这种方式,我可以在桌面上编辑源文档,只需在浏览器中按 F5 即可立即查看结果。

于 2009-05-14T09:18:35.670 回答
2

好吧,我从一开始就没有发现 MS-Word 有什么问题。(即,如果您花时间知道如何有效地使用它)。OpenOffice确实是一个令人惊叹且可靠的免费替代方案 - 但是如果你讨厌 MS Word 的布局相关问题,同样的问题也会出现在 OpenOffice 上。

我自己从未尝试过Latex系统,但听说它对科学工作有好处。如果您只想专注于内容,我认为使用一些 HTML WYSIWYG 编辑器最适合您。

于 2009-05-14T09:23:49.840 回答
1

我还没有尝试过,但我一直认为AsciiDoc对这种事情有好处。

于 2009-05-15T09:40:01.447 回答
1

如果你想要比 LaTeX 更简单的东西,你可以看看ReStructured Text

于 2009-07-28T07:53:15.483 回答
0

阅读本书:http ://en.wikipedia.org/wiki/The_Pragmatic_Programmer 。里面有一些idee fixe,所以应该自动构建文档。考虑为此使用您的 IDE,或寻找一些其他工具。大多数现代语言都支持在您编写代码时生成文档。这可以简单地使您的文档与代码中的最新更改保持联系。

于 2009-05-14T09:05:16.890 回答
0

你可能想在http://www.doxygen.nl/上查看 doxygen ,看看他们的好例子。在这种情况下,文档由源代码中的注释中的标签呈现。

另一种选择是使用在线系统,例如http://trac.edgewall.org/中的 trac,它是一个基于 subversion 的 wiki/doc/issuetracking 系统。

于 2009-05-14T09:13:44.777 回答
0

我更喜欢使用比文字更简洁的 RTF 编辑器。这样,格式和所有页眉/页脚的废话都不会占用你一半的时间。写字板曾多次为我工作。我现在被Word困住了:(

于 2009-05-14T09:14:03.437 回答
0

有很多可能的方法:

  • 嵌入式文档,例如 javadoc:适合描述 API,但不适合“大局”
  • 纯 html:可以在版本控制下签入,这是一个明确的优势
  • 一个 wiki,例如 confluence——非常适合协作,但版本控制与您的源不同
  • LaTeX 或类似的东西:比典型的文档更适合书籍或论文;对图形的支持很麻烦
  • Office 克隆,例如 OpenOffice:与 Word+Visio 基本相同,但开源,具有更好的文档格式

我通常使用 Visio 在“自由格式”UML 中预先记录软件结构(项目的“隐喻”、组件相互关系、外部系统)。然后将这些嵌入到 confluence 中,如果有人想要打印输出,可以将其转换为 PDF。

于 2009-05-14T09:14:39.347 回答
0

莱克斯

LyX是 LaTeX 的WYSIWYM前端:您可以使用文档处理器(有点类似于 Word)的便利性以及 LaTeX 的一致性和强大功能:它不会妨碍您,并且可以完成许多专业作家需要的事情.

注意:的正确答案实际上取决于您的思维方式 --- 我们无法为您决定。如果您将文档视为文档并且想要类似于 Word 的东西(Word 很好)而不像 Word(Word 对程序员不利),那么这个答案只是显示了一个很好的选择。

但是许多程序员对文档的看法不同,因此更喜欢不同的隐喻。几年前我自己也遇到过同样的问题,使用 LaTeX(因为我是一名数学家),找到了 LyX,最后选择了我自己编写的 Wiki/Source 系统。

于 2009-05-14T09:38:56.323 回答
0

Vim 是任何意味着以最有效的方式编写纯文本的解决方案。如果您需要格式化,请使用 XML、Latex 或类似的东西(在 Vim 中)。

Vim 改变了我的生活!

于 2009-05-14T09:39:55.417 回答
0

简单的答案:LaTeX 听起来正是您想要的。

我自己用它来编写文档。如果可以选择,我永远不会回到 Word。

于 2009-05-15T08:42:47.467 回答
0

phc,我们从 Latex 开始,然后转到 docbook,并且(我希望永久)解决了 Restructured Text/Sphinx。

选择乳胶是因为我们是学者,而乳胶是首选工具。我相信它没有生成足够好的 HTML。

选择 Docbook 是因为它具有强大的功能,但它非常笨重。它让我们无法编写任何文档:代码必须手动格式化,我们总是忘记语法,而且很难阅读。学习曲线也很陡峭。

最后,我们使用sphinx迁移到了reST ,这是一个很棒的决定。文档现在很容易编写,PDFHTML 版本看起来都很漂亮(尽管 PDF 可以进行一些自定义)。它也很容易定制。

不过,关于 reST 最好的一点是它的源代码形式是人类可读的。这是一个奇妙的优势。我现在已经改用 reST 来处理我所有的东西,尤其是网络上的任何东西(当然学术论文除外,如果使用除了乳胶之外的任何东西都是愚蠢的)。

于 2009-09-11T12:17:01.867 回答