символы в реструктурированном тексте

Я хочу использовать некоторые символы в restructuredText; как я могу это сделать? (например, → в Markdown дает символ "", как определено в списке стандартных сущностей символов HTML - - см. также справочник по w3c)

Примечание. Я не хочу требовать поддержки математических формул в качестве зависимости.


person Jason S    schedule 07.12.2009    source источник


Ответы (4)


У вас есть большое количество определенных символов с помощью оператора «подстановки».

Вы должны включить определения через .. include:: <isonum.txt> или что-то подобное.

Большинство из них имеют форму |larr| или |rarr|.

Они определены в каталоге установки docutils.parsers.rst.include. Существуют десятки файлов, определяющих множество символов Юникода.

person S.Lott    schedule 07.12.2009
comment
Хм. Они выглядят ужасно по сравнению с появившимися в результате символами Markdown. - person Jason S; 07.12.2009
comment
паршивая? Что это значит в данном контексте? Вы говорите, что &larr; хуже, чем |larr|, или что шрифт вашего браузера выглядит паршиво? - person S.Lott; 08.12.2009
comment
Я смотрю на этот &rarr; на этом сайте и сравниваю его с HTML-выводом Sphinx (с использованием RST) | rarr |. Оба являются HTML и используют один и тот же шрифт по умолчанию. Я не уверен, что это один и тот же символ Юникода, у меня нет под рукой декодера кодовой точки. - person Jason S; 08.12.2009
comment
Вам не нужно много декодера кодовой точки. Стандартные объекты HTML дают вам номер символа Unicode. Файл <isonum.txt> дает вам символ, определенный RST. Вы можете создать собственное определение, если объект HTML отличается от объекта RST. - person S.Lott; 08.12.2009
comment
Хм. Оба источника заявляют кодовую точку 0x2192 для rarr, и окружающий текст имеет один и тот же шрифт, но символы выглядят по-разному. Что-то подозрительно, и, как я уже сказал, у меня нет декодера кодовой точки символа. - person Jason S; 08.12.2009
comment
Argh - отвлекающий маневр, это как-то связано с отображением CSS или шрифтов, не имеет ничего общего с кодировкой UTF-8 и кодировкой HTML-объекта. Спасибо! - person Jason S; 08.12.2009
comment
В качестве справки: файлы стандартного определения reStructuredText. - person Paolo; 25.06.2013

У меня сложилось впечатление, что сначала поддерживал Unicode; Можете ли вы просто ввести необработанный символ и позволить docutils обрабатывать кодировку HTML?

person Hank Gay    schedule 07.12.2009
comment
хм ... Я бы мог, но я бы предпочел ASCII. - person Jason S; 07.12.2009

Думаю, вы искали это: http://docutils.sourceforge.net/docs/ref/rst/roles.html#raw

Вы можете определить следующую роль:

.. role::  raw-html(raw)
    :format: html

И тогда вы можете написать:

This way :raw-html:`&rarr;`

Это выглядит так:

Сюда

person davidrmcharles    schedule 12.10.2017
comment
спасибо, но это работает только с HTML; restructuredText имеет различные серверные части, кроме HTML. - person Jason S; 13.10.2017

У меня была аналогичная проблема при создании html из файлов .rst, содержащих символ ±, в Windows с помощью Sphinx. Изменение кодировки файла с windows-1252 на UTF-8 устранило это для меня.

Просто откройте блокнотом, «Сохранить как ...» и измените кодировку: на UTF-8.

person HyperActive    schedule 26.09.2019