我如何在reStructuredText(reST)中编写乘法符号?

问题描述 投票:2回答:4

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

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

即:×,而不是x。

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

我只想仔细检查一下这不会使事情绊倒。

utf-8 special-characters python-sphinx restructuredtext
4个回答
3
投票

[添加到@Paul McMillan的答案中,如果您试图将sphinx文档发布为乳胶pdf,则通常可以通过在conf.py序言中加入来避免丢失的unicode符号:

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

latex_elements = {
    'preamble': _PREAMBLE,
}

00D7是unicode编码,而\times是您希望在乳胶中替换的内容。

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

更多信息herehere


3
投票

事实证明,Sphinx文档包含了答案,我只是读得不够多:

因为最简单的方法特殊字符,例如破折号或REST中的版权标志是直接将它们写为Unicode字符,必须指定编码。狮身人面像假设要在其中编码源文件默认为UTF-8;你可以改变这个使用source_encoding配置值。

https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#source-encoding

编辑:只是在这里进行跟进:虽然乘法符号工作得很好,但是LaTeX(因此也就是PDF)渲染中使用的默认字体缺少许多其他看似标准的unicode符号(小于或等于,大于或等于)。


2
投票

我将在第一个:math:`m \times p`中使用MathML


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
© www.soinside.com 2019 - 2024. All rights reserved.