Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单源文档工具_Java_Pdf Generation_Documentation Generation - Fatal编程技术网

Java 单源文档工具

Java 单源文档工具,java,pdf-generation,documentation-generation,Java,Pdf Generation,Documentation Generation,有哪些(或免费)工具可用于起草可用于生成手册的文档的单一来源?具体而言,采用以下格式: HTML网站 PDF文件 嵌入(在应用程序中;可能是HTML)1 文本(可选) 手册页(可选) 其他要求: 该工具适用于技术作者(不必是所见即所得) XML/SGML源代码 高质量PDF输出(与TeX相当) 多平台 扩展需求1 同一个命令行应用程序是用两种语言(C和Java)编写的。使用XML来描述命令行选项(其中一些特定于一种或另一种语言),可以直接将XML转换为Java类或C函数,将帮助写入标准输

有哪些(或免费)工具可用于起草可用于生成手册的文档的单一来源?具体而言,采用以下格式:

  • HTML网站
  • PDF文件
  • 嵌入(在应用程序中;可能是HTML)1
  • 文本(可选)
  • 手册页(可选)
其他要求:

  • 该工具适用于技术作者(不必是所见即所得)
  • XML/SGML源代码
  • 高质量PDF输出(与TeX相当)
  • 多平台
扩展需求1

同一个命令行应用程序是用两种语言(C和Java)编写的。使用XML来描述命令行选项(其中一些特定于一种或另一种语言),可以直接将XML转换为Java类或C函数,将帮助写入标准输出。这确保了帮助可以嵌入到二进制文件中,而不必依赖外部文件


看来Ascidoc没有这种能力。还有其他选择吗?

我以前使用过的一个可以满足您大多数需求的选择是

不过,ascidoc不是XML源格式,而是选择简单的文本格式。它可以输出HTML和Docbook,可以将其呈现为PDF或其他格式。源文本对于纯文本表示也几乎足够好


同样道理,另一个流行的选择是。

我一直在考虑在我们的工程团队中用福音来代替文字。有许多可用的工具链。对于工程师来说,最简单的方法可能是,或者。这就是我一直在做DocBook的事情。如果您真的喜欢LaTeX,那么您可能需要查看DocBook到LaTeX的发布环境


如果您不介意走出免费环境,那么提供了一个非常好的WYSIWYG DocBook编辑器。我没怎么用过它,但它看起来确实很有前途。

是一个向Docutils添加了许多功能的工具,允许“智能而漂亮的文档”用StructuredText编写。它最初是为了生成新的Python文档而创建的,但现在被许多其他项目所采用。

是一种非常流行的文档生成器,它可以以一种简单的方式输出文档。尽管它的主要目的是构建从源注释(来自多种语言)中提取的文档,但它也可以作为一个通用的手动编写工具。事实上,Doxygen网站和手册就是这样生成的。

DocBook非常适合编写手册,它允许您自动保存大量关于文本的元数据。我相信O'Reilly的技术书籍是用DocBook编写的。在编写DocBook时,还有Maven docbkx插件,可以从中生成HTML/pdf/etc。Ascidoc看起来很棒。如何将其与命令行应用程序集成?一种方法可能是使用描述应用程序命令行选项的XML源文件,然后通过转换运行该文件,为应用程序的特定配置(C或Java,仅选择适当的部分)生成ASCIDOC源。听起来,ascidoc不是生成实际C/Java源代码的正确工具;我会使用不同的工具来实现这一点。但是,为命令行帮助的所有呈现提供一个通用的XML源显然是一件好事。