13

我正在使用 Sphinx 来记录一个用 Python 编写的命令行实用程序。我希望能够记录一个命令行选项,例如--region

**--region**  <region_name>

在 ReST 中,然后使用 Sphinx 为我生成我的 HTML 和手册页。

这在生成手册页时效果很好,但在生成的 HTML 中,--变成了-不正确的。我发现如果我将源 ReST 文档更改为如下所示:

**---region**  <region_name>

HTML 生成正确,但现在我的手册页有---而不是--. 也不正确。

我试过用反斜杠字符(例如\-\-)转义破折号,但这没有效果。

任何帮助将非常感激。

4

5 回答 5

4

这是 Sphinx 中默认启用的配置选项:html_use_smartypants选项 ( http://sphinx-doc.org/config.html?highlight=dash#confval-html_use_smartypants )。

如果您关闭该选项,那么您必须使用 Unicode 字符 '–' 如果您想要一个破折号。

于 2013-03-12T05:44:46.453 回答
2

**-\\-region**  <region_name>

它应该工作。

于 2017-08-30T15:53:50.553 回答
2

在 Sphinx 1.6html_use_smartypants中已弃用,不再需要html_use_smartypants = False在您的conf.pyor 中设置sphinx-build. 相反,您应该使用smart_quotes = False.

如果您想使用以前由 提供的转换html_use_smartypants,建议使用smart_quotes,例如smart_quotes = True

请注意,在撰写本文时 Read the Docs pins sphinx==1.5.3,它不支持该smart_quotes选项。在此之前,您需要继续使用html_use_smartypants.

编辑看来,Sphinx 现在使用smartquotes而不是 docutils smart_quotes。h/t @bad_coder。

于 2017-08-15T08:32:33.263 回答
0

正如@mzjn 评论的那样,解决原始提交者需求的最佳方法是使用Option Lists

-格式很简单:以、或开头的一系列行--,后跟实际选项,(至少)两个空格,然后是选项的描述:+/

-l     long listing
-r     reversed sorting
-t     sort by time
--all  do not ignore entries starting with .

选项和描述之间的空格数可能因行而异,它至少需要两个,这样可以在源代码以及生成的文档上清晰地展示(如上)。

<>选项列表也具有选项参数的语法(只需在两个空格之前添加一个或几个单词);有关详细信息,请参阅链接页面。

此页面上的其他答案针对原始提交者的问题,这个解决了他们的实际需求。

于 2020-06-20T05:11:00.673 回答
0

要添加两个破折号,请添加以下内容:

.. include:: <isotech.txt>

|minus|\ |minus|\ region

注意反斜杠和空格。这样可以避免在减号和参数名称之间有空格。

isotech.txt每页只需要包含一次。

使用此解决方案,您可以保留扩展 smartypants 并在所需文本的每个部分写两个破折号。不仅在选项列表或文字中。

于 2017-03-28T20:16:38.733 回答