Сфинкс: таблицы ширины столбцов автозаполнения на основе исходного содержимого независимо от директив - PullRequest
0 голосов
/ 29 февраля 2020

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

No directive (good)

+---------+----------------------------------------------------------------------------------------------------------+
| Country | Cities                                                                                                   |
+=========+==========================================================================================================+
| UK      | London, Leeds, Glasgow, Sheffield, Bradford, Manchester, Edinburgh, Liverpool, Bristol, Cardiff, Belfast |
+---------+----------------------------------------------------------------------------------------------------------+
| US      | New York, Los Angeles, Chicago, Houston, Phoenix, Philadelphia, San Antonio, San Diego, Dallas, San Jose |
+---------+----------------------------------------------------------------------------------------------------------+


With the directive (bad)

.. |the_united_kingdom_of_great_britain_and_northern_ireland| replace:: UK

+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+
| Country                                                    | Cities                                                                                                   |
+============================================================+==========================================================================================================+
| |the_united_kingdom_of_great_britain_and_northern_ireland| | London, Leeds, Glasgow, Sheffield, Bradford, Manchester, Edinburgh, Liverpool, Bristol, Cardiff, Belfast |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+
| US                                                         | New York, Los Angeles, Chicago, Houston, Phoenix, Philadelphia, San Antonio, San Diego, Dallas, San Jose |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+

Сравните эти две таблицы: единственное отличие состоит в том, что во второй таблице используется директива замены (замены) для "UK" .

Я считаю, что эти две таблицы должны выглядеть одинаково. Но это не так.

HTML

a make html result

rst2pdf

rst2pdf

Я ожидаю, что операции автоматического подбора таблиц будут выполняться в следующем порядке:

  1. Создать таблицу
  2. Оценить директивы в нем
  3. Изменение размера таблицы (в частности, ширины столбцов)

Но как HTML, так и rst2pdf, похоже, выполняют

  1. Создать таблицу
  2. Изменить размер таблицы (в частности, ширины столбцов)
  3. Оценить в ней директивы

Это как запланировано? Есть ли способ (пере) оптимизировать ширину столбцов для второй таблицы?

1 Ответ

0 голосов
/ 29 февраля 2020

Просмотрите источник HTML, и вы увидите, что происходит с width: ##% для каждого столбца.

<colgroup>
<col style="width: 8%">
<col style="width: 92%">
</colgroup>

и

<colgroup>
<col style="width: 36%">
<col style="width: 64%">
</colgroup>

Попробуйте пользовательский стиль:

table.docutils>colgroup {
    display: none;
}
...