我正在编写将使用Sphinx呈现为HTML和PDF的reST文档。我的源文件是UTF-8,并希望我的HTML显示为UTF-8。
编写乘法符号的最佳做法是什么?
即:×,而不是x。
我知道我可以将其作为Unicode字符插入。如果我正在写LaTeX,我会使用\times
。在HTML中有×
。当我使用Sphinx渲染所有内容时,简单的Unicode是否能够在转换过程中正常运行?即使我渲染到其他更奇特的格式?
我只想仔细检查一下,这不会在某个地方绊倒。
答案 0 :(得分:3)
事实证明,Sphinx文档包含答案,我只是读得不够:
自包含以来最简单的方法 特殊字符,如em破折号或 版权登录reST是直接的 将它们写成Unicode字符,一个 必须指定编码。狮身人面像 假设要编码的源文件 默认为UTF-8;你可以改变这个 使用source_encoding配置值。
http://sphinx.pocoo.org/rest.html#source-encoding
修改强> 只是为了跟进:虽然乘法符号工作正常,但是LaTeX(以及PDF)渲染中使用的默认字体中缺少许多其他看似标准的unicode符号(小于或等于,大于或等于)。
答案 1 :(得分:2)
我会在第一个:math:`m \times p`
答案 2 :(得分:2)
要添加@Paul McMillan的答案,如果您尝试将您的sphinx文档作为乳胶pdf发布,您通常可以通过在conf.py
序言中包含来解决丢失的unicode符号:
_PREAMBLE = r"""
\usepackage[utf8]{inputenc}
\DeclareUnicodeCharacter{00D7}{\times}
"""
latex_elements = {
'preamble': _PREAMBLE,
}
其中00D7
是unicode编码,而\times
是你希望它在乳胶中被替换的。
您可以在fileformat网站上找到角色的unicode编码。
答案 3 :(得分:0)
使用|times|
后.. include:: <isonum.txt>
出现了什么问题?
来自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