2013-03-06 50 views
6

我正在使用Sphinx來記錄用Python編寫的命令行實用程序。我希望能夠記錄一個命令行選項,如--region這樣的:如何在ReST中處理兩個破折號

**--region** <region_name> 
在休息

,然後用獅身人面像對生成我的HTML和手冊頁對我來說。

這個男人產生的網頁,但在生成的HTML中,--被變成-這是不正確時的偉大工程。我發現,如果我改變我的源REST文檔看起來像這樣:

**---region** <region_name> 

HTML生成正確的,但現在我的男人網頁有---而不是--。也不正確。

我試着用一個反斜槓字符(例如\-\-)轉義破折號,但沒有效果。

任何幫助將不勝感激。

+1

我發現一個簡單的解決方法是在代碼標記中包含雙連字符,例如, \'\' - 地區\'\'而不是\ * \ * - 地區\ * \ *。有可能有更多優雅的方法來解決它,但這對我很有用。 – garnaat 2013-03-07 13:51:58

+3

也許你可以使用一個選項列表:http://docutils.sourceforge.net/docs/ref/rst/restructuredtext。html#option-lists – mzjn 2013-03-07 17:19:23

+0

是的,這似乎是合適的。謝謝,我們仍然在ReST中發現新事物! – garnaat 2013-03-07 20:49:04

回答

2

這是Sphinx中默認打開的配置選項:html_use_smartypants選項(http://sphinx-doc.org/config.html?highlight=dash#confval-html_use_smartypants)。

如果您關閉該選項,那麼如果您想要連字符,則必須使用Unicode字符' - '。

+0

這當然是一種解決方法。我認爲這種行爲是錯誤的,因爲它只是先用endash替換' - '然後用emdash替換成'---'後才能這麼難。 – TNT 2014-02-05 11:40:35

+1

在這個特性的意義上,例如'':command:'sphinx-build --version'''產生一個「印刷正確的」命令行:'sphinx-build --version' ... – TNT 2014-02-05 12:03:36

0

要添加兩個破折號,添加以下內容:

.. include:: <isotech.txt> 

|minus|\ |minus|\ region 

注意反斜線和空間。這樣可以避免在負號和參數名稱之間留出空格。

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

使用此解決方案,您可以保留擴展名smartypants,並在需要的文本的每個部分中寫入兩個破折號。不只是在選項列表或文字。

0

在獅身人面像1.6 html_use_smartypants has been deprecated中,並且不再需要在您的conf.py中設置html_use_smartypants = False或設置爲sphinx-build的參數。相反,你應該使用smart_quotes = False

如果您想使用以前由html_use_smartypants提供的轉換,建議使用smart_quotes,例如smart_quotes = True

請注意,在撰寫本文時,請閱讀Docs引腳sphinx==1.5.3,該文件不支持smart_quotes選項。在此之前,您需要繼續使用html_use_smartypants

+0

澄清,作爲[你鏈接到的文檔](http://www.sphinx-doc.org/en/stable/config.html#confval-html_use_smartypants)表示,'smart_quotes = false'(或'no'或'off')屬於afaik,可以在與'conf.py'同級的文件'docutils.conf'中存檔。 – jfbu 2017-08-30 16:02:05

0

隨着

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

它應該工作。