2011-06-16 25 views
2

我正在寫使用Sphinx呈現爲HTML和PDF的重寫文檔。我的源文件是UTF-8,並希望我的HTML顯示爲UTF-8。如何在reStructuredText(reST)中編寫乘法符號?

編寫乘法符號的最佳做法是什麼?

即:×,而不是x。

我知道我可以將它作爲Unicode字符插入。如果我在寫LaTeX,我會用\times。在HTML中有×。當我使用Sphinx渲染所有內容時,簡單的Unicode是否能夠正確地保留轉換過程?即使我渲染其他更奇特的格式?

我只是想仔細檢查一下,這不會讓事情發生在某個地方。

回答

3

事實證明,獅身人面像文檔包含了答案,我只是沒讀過相當遠遠不夠:

由於包括 特殊字符,如長劃線或 版權跡象,剩下的就是最簡單的方法直接將 寫成Unicode字符,其中一個 必須指定一個編碼。 Sphinx 默認假設源文件編碼爲 UTF-8;您可以使用source_encoding配置值更改此 。

http://sphinx.pocoo.org/rest.html#source-encoding

編輯: 就在這裏跟進:當乘號作品就好,其他許多看似標準Unicode符號(小於或等於和大於或等於)從LaTeX(以及PDF)渲染中使用的默認字體中缺少。

1

我會用MATHML首先:math:`m \times p`

3

內要添加到@保羅·麥克米蘭的答案,如果你想發佈您的獅身人面像文檔爲PDF格式的乳膠,你經常可以繞過缺少統一的符號通過在您conf.py序言:

_PREAMBLE = r""" 
\usepackage[utf8]{inputenc} 
\DeclareUnicodeCharacter{00D7}{\times} 
""" 

latex_elements = { 
    'preamble': _PREAMBLE, 
} 

哪裏00D7是Unicode編碼,並且\times是你希望它通過乳膠來代替的東西。

你可以在fileformat網站上找到你的角色的unicode編碼。

更多信息herehere

+0

感謝這個有用的除了! – 2015-05-08 01:49:40

+0

LaTeX包''newunicodechar''避免了檢查Unicode代碼點:''\ newunicodechar {×} {\ ensuremath {\ times}}''。 – jfbu 2017-03-02 18:48:28

0

使用.. include:: <isonum.txt>|times|出什麼問題?

http://docutils.sourceforge.net/0.6/docutils/parsers/rst/include/isonum.txt

.. |sup2| unicode:: U+000B2 .. SUPERSCRIPT TWO 
.. |sup3| unicode:: U+000B3 .. SUPERSCRIPT THREE 
.. |times| unicode:: U+000D7 .. MULTIPLICATION SIGN 
.. |trade| unicode:: U+02122 .. TRADE MARK SIGN 
.. |uarr| unicode:: U+02191 .. UPWARDS ARROW