Utf 8 如何在RestructedText(reST)中写入乘法符号?

Utf 8 如何在RestructedText(reST)中写入乘法符号?,utf-8,special-characters,python-sphinx,restructuredtext,Utf 8,Special Characters,Python Sphinx,Restructuredtext,我正在编写reST文档,这些文档将使用Sphinx呈现为HTML和PDF。我的源文件是UTF-8,希望我的HTML显示为UTF-8 写乘法符号的最佳实践是什么 也就是说:×,而不是x 我知道我可以将其作为Unicode字符插入。如果我在写LaTeX,我会使用\times。在HTML中有&次。当我使用Sphinx渲染所有内容时,简单的Unicode是否能够在转换过程中正常运行?即使我渲染到其他更奇特的格式 我只是想再次检查一下,这不会让事情在某个地方出错。结果是斯芬克斯文档包含了答案,我只是读得不

我正在编写reST文档,这些文档将使用Sphinx呈现为HTML和PDF。我的源文件是UTF-8,希望我的HTML显示为UTF-8

写乘法符号的最佳实践是什么

也就是说:×,而不是x

我知道我可以将其作为Unicode字符插入。如果我在写LaTeX,我会使用
\times
。在HTML中有
&次。当我使用Sphinx渲染所有内容时,简单的Unicode是否能够在转换过程中正常运行?即使我渲染到其他更奇特的格式


我只是想再次检查一下,这不会让事情在某个地方出错。

结果是斯芬克斯文档包含了答案,我只是读得不够远:

因为最简单的方法包括 特殊字符,如em破折号或 reST中的版权标志是直接 将它们写成Unicode字符,一个 必须指定编码。斯芬克斯 假定源文件以 默认情况下为UTF-8;你可以改变这个 使用源代码_编码配置值

编辑:
接下来:虽然乘法符号工作正常,但在LaTeX(以及PDF)渲染中使用的默认字体中缺少了许多其他看似标准的unicode符号(小于或等于,以及大于或等于)

我会在rst
:math:`m\times p`

中使用MathML来补充@Paul McMillan的答案,如果您试图将sphinx文档发布为latex pdf,您通常可以通过在
conf.py
序言中包含以下unicode符号来绕过缺少的unicode符号:

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

latex_elements = {
    'preamble': _PREAMBLE,
}
其中
00D7
是unicode编码,而
\times
是您希望在latex中用它替换的编码

您可以在网站上找到字符的unicode编码


更多信息和。

使用
|次
有什么问题。。包括::

发件人:


LaTeX包
newunicodechar
避免检查Unicode代码点:
\newunicodechar{×}{\ensuremath{\times}}
。对于任何中等复杂的东西,这都是正确的方法。执行此操作时,请使用
sphinx.ext.mathjax
扩展名。
.. |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