Несколько строк текста в одной ячейке простой таблицы?

Я нашел этот вопрос, но я не хочу явного <br> в моей камере; Я просто хочу обернуть строку, где это необходимо.

например,

================  ============
a short sentence  second cell
a much longer     bottom right
  sentence
================  ============

Я хочу, чтобы "гораздо более длинное предложение" поместилось в одной ячейке. Мне нужно использовать очень длинные строки текста, если я не смогу найти способ обернуть его. Это возможно?

Я использую NoTex с выводом PDF, если это уместно.

4 ответа

Решение

Простой стиль таблицы не поддерживает обтекание блоков. Вместо этого используйте стиль сетки, вот так:

+------------------+--------------+
| a short sentence | second cell  |
+------------------+--------------+
| a much longer    | bottom right |
| sentence         |              |
+------------------+--------------+

С этими таблицами труднее работать, но они более гибкие. Смотрите полную документацию для деталей.

Есть чистый способ. Проблема заключается в том, что по умолчанию столбцы установлены без переноса, поэтому вы получаете прокрутку. Чтобы исправить это, вы должны переопределить CSS следующим образом:

/* override table no-wrap */
.wy-table-responsive table td, .wy-table-responsive table th {
    white-space: normal;
}

Обойти эту проблему можно с помощью директивы замены:

================  ============
a short sentence  second cell
|long_sentence|   bottom right
================  ============

.. |long_sentence| replace:: a much longer sentence

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

Если вам нужны альтернативы для написания ваших таблиц в реструктурированном тексте, более практичным способом, вы можете проверить это в Sphinx / Rest Memo.

Я написал утилиту python для форматирования таблицы открытого текста фиксированной ширины с многострочными ячейками: https://github.com/kkew3/textmltab. Надеюсь, это поможет.

Другие вопросы по тегам