LaTeX可以用于生成软件附带的任何文档吗?

时间:2009-02-01 17:47:45

标签: documentation latex documentation-generation

虽然与this question about LaTeX being used outside mathematics and academia有关,但我特别想知道是否有人使用或熟悉使用LaTeX生成与软件相关的任何类型文档的任何人。如果是这样,你能否说你是否喜欢LaTeX以及你使用它的目的?感谢。

12 个答案:

答案 0 :(得分:20)

我主要用LaTeX写学术论文。但是,我的研究与软件文档有关,所以我实际上处理了一些这些问题。

关于LaTeX最好的事情是你关注内容和结构,而不仅仅是视觉布局。这就像用CSS编写HTML而不是纯HTML。

以下是我认为LaTeX对创建一些文档很有用的几个原因:

一个原因是处理多种样式更具结构性,样式比“视觉”更“逻辑”。例如,如果您在Word中键入内容,则每次要提及类或对象时,都会更改样式。在LateX中,当我输入时,我写了类似的东西:

  

bla bla bla~ \ methodName {foo} bla   BLA〜\ {的className} FooBar的

我发现对于长文档,这很有用。我可以轻松找到我的班级名称,更改它们等等。

第二个好处是我可以将宏用于实体。例如,假设我有一些处理某些功能的模块,但它的名称可能会在以后更改,或者我不确定它是什么。我可以有一个名为\ ModuleForXXX的宏,当我最终选择一个名字或更改它。

第三个也许是最重要的好处是,从LaTeX中的文件层次结构创建文档比在Word文档中创建文档更容易。我通常有一个主文件,然后包含其他文件,然后包括其他文件等。我分层次地查看它(至少在Windows上使用WinEDT),我可以通过改变包含来轻松地重新排列事物的顺序。毋庸置疑,我还使用包含代码摘录和文档文本的实际内容。

LaTeX有几个缺点: 1)很少有人知道它,而一些习惯于Word的人只是反感它。但是,对于阅读最终PDF的人来说,这无关紧要。 2)图像放置可能有点棘手,但您可以覆盖选项并强制LaTeX听取您的指示。 3)双监视器配置最佳。

答案 1 :(得分:7)

Python生态圈中的许多项目现在都使用Sphinx来生成文档。 LaTeX是Sphinx可以生成的众多输出格式之一。我相信Doxygen,一个C ++ / C / Python / Objective-C / ..文档引擎也可以生成LaTeX输出。

一般而言,需要硬拷贝文档格式或文档必须包含大量数学的项目会从LaTeX生成的文档中受益匪浅 - 这些都是LaTeX的专长。 LaTeX本身就是一个通用排版系统,而不是代码文档生成器,所以我建议使用像上面描述的那样的包在LaTeX中生成代码文档。使用其中一个更高级别的系统将大大简化任务。

答案 2 :(得分:5)

广泛使用LaTeX和编写的软件文档,我会说LaTeX的强度是一个非常灵活的排版系统,因此切换模板和格式非常简单,并且编写数学非常快。在编写文档时,我认为这些优势中的任何一个都不是特别有用,因为文档需要大量的屏幕截图和分步说明。

我对LaTeX的最大问题,至少是Mac上的TeXShop,是图像格式化和放置。 MS Office或OpenOffice中的工具对此更有用。只有在发布到不同的期刊时才能改变字体;一致的文档设计可以通过办公软件中的模板等轻松处理。

另外,与LaTeX相比,更多的人习惯使用办公软件,因此训练曲线较小。因此,当下一个人出现并需要更新现有文档时,他们可以立即开始,而不是必须学习LaTeX。

答案 3 :(得分:4)

答案 4 :(得分:3)

我已将它用于软件文档,并且它可以很好地用于此。其中一个主要优点是可以轻松集成多个来源的文档。您可以(例如)向LaTeX呈现API引用或数据字典,并将规范的其他部分交叉引用。如果您可以将LaTeX片段放入API注释中,XREF甚至可以双向进行。

LaTeX也非常擅长维护索引,TOC条目和其他类似项目,因此文档内容的质量比使用word等工具要好得多。交叉引用,索引条目和锚点更加稳定。

答案 5 :(得分:1)

一些大型开源软件从头开始构建文档。 Perl文档系统(POD,类似于人的文档)支持导出到LaTeX,我有时会用它来打印它。

答案 6 :(得分:1)

GNU Troff (Groff)似乎比软件界的LaTeX更受欢迎。根据{{​​3}},O'Reilly也将它用作书籍。

答案 7 :(得分:1)

Insight Segmentation and Registration工具包(www.itk.org)有一个非常酷的系统,其中LaTeX源代码放在源代码注释中,它们实际上是从它创建了几个有针对性的页面编程指南。

答案 8 :(得分:1)

我曾在一家前公司帮助设置LaTeX用于文档编制。它起作用,但技术作家不喜欢它。

主要的抱怨是他们觉得这是束缚。这是件好事,他们不能把事搞得太乱。

将文档类设置为恰到好处并且图像的放置在所有情况下都不是完美的,但最终的文档非常漂亮,这是相当多的工作。如果给出选择,我会再做一次。

我当时不是LaTeX大师(现在还不是),但是你需要有知识渊博的LaTeX来设置和支持这样的努力,因为大多数技术作家都不想学习LaTeX的内部来养活自己。

答案 9 :(得分:0)

我有时会使用它,但我的老板更喜欢办公室文件,如果他写文件或部分文件,我们就不会使用LaTeX。

我个人喜欢LaTeX,并在适当情况下将其用于软件文档,我自己也可以自行决定。

答案 10 :(得分:0)

由于我不再是机械工程师,所以我没有使用过LaTeX。我知道它广泛用于数学排版论文。提交论文供ASME期刊考虑的任何人都肯定会使用它。我用它来排版论文并喜欢它。

但从那以后,除了Word之外,我什么都没看到,没有一个例外。

答案 11 :(得分:0)

我只是发现在LaTeX中产生全尺寸旋律(^)和波浪号(~)字符是多么痛苦。对于像C这样的语言排版源代码,有点方便

Here描述了代字号显然需要的扭曲;我刚刚在董事会上提出了一个关于抑扬症的类似问题。