虽然与这个关于在数学和学术界之外使用的LaTeX的问题有关,但我特别想知道是否有人使用或熟悉使用LaTeX生成与软件相关的任何类型文档的任何人.如果是这样,你能否说你是否喜欢LaTeX以及你使用它的目的?谢谢.
我主要用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)双监视器配置最佳.
Python生态圈中的许多项目现在都在使用Sphinx来生成他们的文档.LaTeX是Sphinx可以生成的众多输出格式之一.我相信Doxygen,一个C++/C/Python/Objective-C/..文档引擎也可以生成LaTeX输出.
一般而言,需要硬拷贝文档格式或文档必须包含大量数学的项目从LaTeX生成的文档中获益很大 - 这些都是LaTeX的专长.LaTeX本身就是一个通用排版系统,而不是代码文档生成器,所以我建议使用像上面描述的那样的包在LaTeX中生成代码文档.使用其中一个更高级别的系统将大大简化任务.
广泛使用LaTeX和编写的软件文档后,我会说LaTeX的强度是一个非常灵活的排版系统,因此切换模板和格式非常简单,并且编写数学非常快.在编写文档时,我认为这些优势中的任何一个都不是特别有用,因为文档需要大量的屏幕截图和分步说明.
我对LaTeX的最大问题,至少是Mac上的TeXShop,是图像格式化和放置.MS Office或OpenOffice中的工具对此更有用.只有在发布到不同的期刊时才能改变字体; 一致的文档设计可以通过办公软件中的模板等轻松处理.
此外,与LaTeX相比,更多人习惯使用办公软件,因此培训曲线较小.因此,当下一个人出现并需要更新现有文档时,他们可以立即开始,而不是必须学习LaTeX.