Встроенный код reStructuredText, за которым следуют 's', приводит к `Начальной строке текста или интерпретированной ссылки без встроенной строки`? - PullRequest
0 голосов
/ 30 октября 2019

В reStructuredText :code:`Observation` создаст встроенный блок кода, который отображается в документе как Observation. В моем случае это относится к моему Observation классу. В полученном документе я хочу иметь возможность делать такие вещи, как использовать притяжательные формы (Observation) и ссылаться на несколько объектов (Observation s). Однако последнее приводит к предупреждению / ошибке. То есть :code:`Observation`s приводит к

sphinx.errors.SphinxWarning: Inline interpreted text or phrase reference start-string without end-string.

Примечательно, что в других случаях, когда я использую не-альфа-символы после встроенного кода (:code:`Observation`'s, :code:`Observation`. и т. Д.), Документ компилируется, как ожидается,

Почему символ типа s не допускается сразу после интерпретируемого текста встроенным кодом? Как я могу достичь аналогичной цели, в частности, убедившись, что необработанный документ reStructuredText по-прежнему чисто записан / читаем, но также компилируется правильным образом?

1 Ответ

0 голосов
/ 31 октября 2019

По умолчанию reStructuredText разрешает определенную пунктуацию и пробелы только после встроенной разметки в соответствии с правилами распознавания встроенной разметки . В частности, по умолчанию за встроенной разметкой может сразу следовать только

  • пробел
  • один из символов ASCII -. ,:;! ? \ / '")]}>
  • аналогичный знак препинания без ASCII

Параметр синтаксического анализатора reStructuredText character_level_inline_markup можно установить наTrue, чтобы ослабить эти требования. Однако следует отметить, что это может изменить ожидаемое поведение других частей встроенной разметки (см. Предупреждение по ссылке character_level_inline_markup).

Другая альтернатива - просто поставить экранирующую обратную косую черту перед символом, который появляется сразу после встроенной разметки (например, :code:`Observation`\s), но это использование явно не рекомендуется и рекомендуется использовать толькокогда нет другой альтернативы из-за того, как это влияет на удобочитаемость исходного документа.

...