MS Word是邪恶的!有没有好的选择?

时间:2009-05-14 08:59:53

标签: ms-word documentation latex markdown github-flavored-markdown

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

Word的问题在于它不断妨碍我。我更担心布局而不是实际内容...这就是为什么我想摆脱Word。

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

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

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


2014年更新:

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

  • 这很容易合作。
  • 编写代码&同一个IDE中的文档!
  • 一切都可以版本化!
  • 以原始txt,htmlpdf来获得精彩输出!

21 个答案:

答案 0 :(得分:26)

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

重要的是确保为文档中的所有内容定义样式。

一旦您定义了所有样式并且所有文档内容都标记有正确的样式而不是以临时方式格式化,您会惊讶地发现看起来很好看是多么容易每次都快速Word文档。

这里更广泛的问题是每个人都在Word上花费数小时,但公司很少投资Word培训。在某些时候,你必须咬紧牙关并花时间自己教会如何正确使用它,就像你使用任何其他工具一样。

答案 1 :(得分:23)

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

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

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

答案 2 :(得分:11)

我发现维基可能对此有好处。找一个你喜欢的wiki,让你做一个的格式化,但没有什么真的很重。理想情况下,它应该让您轻松地格式化代码 - 说实话,SO上的降价可能是一个良好的开端。

那样:

  • 你有内置的更改跟踪(假设一个体面的维基)
  • 您可以随时随地进行修改
  • 每个人都会看到相同的文档(即时分发)
  • 您可以专注于内容而非格式化

答案 3 :(得分:10)

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

答案 4 :(得分:5)

LaTeX是一个极其强大的工具,因为它是专为科学/数学文献设计的,所以在这里可能有点过分。它有一个(相对)陡峭的学习曲线,如果您不熟悉它,可能很难哄骗完全按照您的意愿行事。我喜欢LaTeX,但它并不是一个通用的文字处理器。

您是否考虑过OpenOffice?

答案 5 :(得分:3)

如果您需要编写文档,

LaTeX 是一种非常强大的语言。

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

  

Texmaker是一个干净,高度   配置良好的LaTeX编辑器   热键支持和广泛的乳胶   文档。 Texmaker集成了   需要开发的许多工具   LaTeX的文档只有一个   应用。它有一些不错   语法高亮等功能,   插入370个数学符号   只需点击一下,“结构   查看文档更容易   导航

答案 6 :(得分:2)

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

答案 7 :(得分:2)

尽管付出了所有的努力和合理的期望,但我认为Word Processing还没有“解决”。

我个人发现MS Word令人非常沮丧的经历的回应是完全避免它,并使用像GhostDoc这样的自动记录工具生成XML 我已经在代码(DRY!)中编写的内容,并在稍后的基于XSLT的内部网站点或类似内容中处理XML。

答案 8 :(得分:2)

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

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

答案 9 :(得分:2)

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

回答克里斯关于我的工作流程的问题:我用原始的Markdown格式用类似记事本的应用程序(TextWrangler编写文档,仅因为它的自动换行功能) 。然后我有small localhost documentation website my modified Markdown parser(扩展了一些功能和更多面向HTML的功能),检查文档文件的时间戳 - 如果文件已更新,它会解析将文件存入HTML,并将文件存储在缓存中。

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

答案 10 :(得分:2)

首先,我从未发现MS-Word有任何问题。 (即如果你花时间知道如何有效地使用它)。 OpenOffice确实是一个惊人的&可信的免费替代 - 但如果你讨厌MS Word的布局相关问题,OpenOffice也会出现同样的问题。

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

答案 11 :(得分:1)

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

答案 12 :(得分:1)

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

答案 13 :(得分:0)

phc,我们开始使用乳胶,然后转到docbook,并且已经(我希望永久地)解决了Restructured Text / Sphinx。

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

Docbook被选为权力,但它非常笨拙。它让我们不写任何文档:代码必须手动格式化,我们一直忘记语法,而且很难阅读。学习曲线也很陡峭。

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

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

答案 14 :(得分:0)

简单回答:LaTeX听起来就像你正在寻找的那样。

我自己用它来写文档。如果我有选择权,我将永远不会回到Word。

答案 15 :(得分:0)

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

Vim改变了我的生活!

答案 16 :(得分:0)

<强> LyX的

LyX是LaTeX的WYSIWYM前端:您可以通过LaTeX的一致性和强大功能获得文档处理器(有点类似于Word)的便利性:它不会妨碍您并且可以做一些很多的专业作家需要的东西。

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

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

答案 17 :(得分:0)

有很多可能的方法:

  • 嵌入式文档,例如javadoc:很适合描述API,对于“大图片”来说不太好。
  • 普通html:可以在版本控制下签到,明确加上
  • 维基,例如汇合 - 非常适合协作,但版本控制与您的源不同
  • LaTeX或其他:比典型文档更适合书籍或论文;支持图形很麻烦
  • Office克隆,例如OpenOffice:与Word + Visio大致相同,但是开源,文档格式更好

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

答案 18 :(得分:0)

我更喜欢使用RTF编辑器,它比文字更少笨重。这样格式化和所有页眉/页脚废话不会花费你一半的时间。 Wordpad曾多次为我工作过。我现在仍然坚持使用Word :(

答案 19 :(得分:0)

你可能想在http://www.doxygen.nl/查看doxygen,看看他们的好例子。在这种情况下,文档由源中的注释中的标记显示。

另一个选择是使用来自http://trac.edgewall.org/的trac等在线系统,这是一个生活在颠覆之上的wiki / doc / issuetracking系统。

答案 20 :(得分:0)

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