2013-07-31 63 views
1

對於我正在編寫的文檔項目,我需要包含帶日期格式字符串的表格。現在幾乎一切正常,但最終我有這個輕微的問題,我想打印一個字面'引用和兩個文字引號(分開和其他引號之間)。獅身人面像將它們改爲上/下引號,通常看起來非常整齊,但在這種特殊情況下,文本不可讀。我能想出的最好的是:如何在使用Sphinx轉換爲HTML時轉義爲reStructuredText中的單引號

====== =========== ====== ===================== 
``'`` Escape for   | " ``'`` hour ``'`` h" -> "hour 9" 
     for text 
     Delimiter 
``''`` Single    | "ss ``''`` SSS" -> "45 ``'`` 876" 
     quote 
     Literal 
====== =========== ====== ===================== 

這將產生所有正確的報價,但之前和之後,我想看看去掉,因爲例如在語法上不正確的,這樣插入多餘的空格。所以也可以將我的問題改爲:如何在使用反引號時在文字引號前後刪除多餘的空格。

我嘗試了標準的轉義方式。反斜槓沒有效果,因爲'不是reStructuredText特殊字符。如果我刪除了空格,那麼反引號``不再有效。

輸出的示例多餘的空格: enter image description here

回答

3

我剛剛發現的文檔中埋了答案:

http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#inline-markup

事實證明,你可以在他們面前用一個反斜槓「\」轉義空格字符。所以「\」將被渲染爲「」。這對於需要使用空格來格式化的實例非常有用,但不希望顯示空白,就像我上面的問題一樣。

因此,解決辦法是:

====== =========== ====== ===================== 
``'`` Escape for   | "\ ``'``\ hour\ ``'``\ h" -> "hour 9" 
     for text 
     Delimiter 
``''`` Single    | "ss\ ``''``\ SSS" -> "45\ ``'``\ 876" 
     quote 
     Literal 
====== =========== ====== ===================== 

醜陋的閱讀,但有效。

與內聯函數格式又如呼籲:

**dateformat (**\ *<string,number,void>* **sourceDate,** *string* **sourceDateFormat,** *string* **returnDateFormat)** 

事實證明,這是獲得的格式是正確的(變量類型斜體,其餘大膽,內部消除具有之間的空間的唯一途徑左括號和變量類型)。

1

好了,不知道您認爲哪些部分是錯間隔,但對行情最左邊沒有在sceenshot多餘的空格,這只是如何單引號以等寬字體呈現。至於右列,爲什麼不用雙反 - 封閉整個單元呢?這也殺死了「聰明」的引號,我想這就是你要做的。

``ss '' SSS" -> "45 ' 876"`` 
# could instead be this, if these were the spurious spaces 
``ss''SSS -> "45'876"`` 

不能以其他方式擺脫間距圍繞雙backticked跨度 - 至於解析器而言,這些構成了一個「字」,並且它是由作家來處理空白之間。在需要控制空白的地方,它不是「散文」,它是一個字面部分,整個空白重要的文本應該雙擊。

現在,如果你想在反引號部分有「智能」引號,我認爲你需要去字符實體引用路由,但我不知道會看到什麼像 - 應該在文檔中。

+0

嗯,是的,我已經嘗試過這一點,但重點是我不希望所有的文本解釋爲文字,我只是想擺脫「聰明」的引號。將所有字母和數字設置爲字面值是不可接受的,因爲它會弄亂表格的樣式,因爲某些文本將等寬,而其他文本不會。 – titusn

+1

有一種設置可禁用[全局智能引用](http://sphinx-doc.org/config.html#confval-html_use_smartypants),但不會修復內聯文字周圍的空白。但我仍然認爲你想要的是一個內聯文字:如果文本的間距和引用風格很重要,它*是內聯文字,並且它看起來不應該與描述性標籤文本相同(例如「單引號字面」)。精明的語錄對於散文來說是一種印刷精確性;如果這些文本不能在不失去意義的情況下進行轉換,那麼這個字符串就是一個文字。 – AdamKG

相關問題