Описание работы пакета OOoFBTools Создание книг FB2 i_056.png

На рисунке показано, что таблица имеет Заголовок из 2-х верхних строк.

Галочка “Повторять заголовок” стоять должна обязательно! Это можно сделать и по-другому, встав на таблицу, и выбрав пункт меню «Повторять заголовки столбцов» в меню «Таблица». Только в этом случае можно будет определить, что в таблице действительно есть заголовки.

Описание работы пакета OOoFBTools Создание книг FB2 i_057.png

4.1.4. Важен порядок вставки таблиц в документ

В связи с особенностью алгоритма конвертера очень важно, в какой последовательности вставляются таблицы в документ. Если их вставлять не по-порядку, по ходу текста, то после конвертации таблицы могут быть перепутаны местами!

4.1.5. Выравнивание строк ячеек таблицы

Можно выравнивать строки в каждой ячейке по ширине, как вам угодно – конвертер автоматом выравнивает строки для каждой ячейки в результирующем файле. По высоте – пока задается в «Настройках» (пока), и применяется ко всем ячейкам одинаково.

Атрибуты align, valign для тегов tr, th, td таблицы сделаны «не обязательными». Т. е. в Настройках конвертера их можно отключить (выбрав из списков пустое значение). В этом случае эти атрибуты в fb2 файл заноситься не будут. Это же реализовано и для «пустых» ячеек таблицы (нет ни одного абзаца), даже при выбранном выравнивании строк в Настройках. Выравнивание по ширине в любом случае «считывается» со строк таблиц автоматически.

4.1.6. «Пустые» ячейки таблицы

Иногда требуется, чтобы в таблице были ячейки с «пустым» содержанием. Конвертер позволяет экспортировать и такие ячейки таблицы. После экспорта в fb2 документ на месте этой «пустой» ячейки будет ‹th/› (для «пустого» заголовка) или ‹td/› (для «пустой» ячейки).

4.1.7. Структура элементов таблицы

Таблица формата fb2 имеет следующую структуру:

4.1.7.1. Тэг table

Описание работы пакета OOoFBTools Создание книг FB2 i_058.png

В тэг table вложен тэг tr – «контейнер» для строк заголовков (тэг th) или данных (тэг td) всех столбцов ячеек таблицы. Тэг table может содержать от 1 до бесконечности обязательных тэгов tr. В свою очередь, тэг tr может содержать от 1 до бесконечности обязательных тэгов th или td.

Например, есть такая таблица:

Описание работы пакета OOoFBTools Создание книг FB2 i_059.png

В fb2 формате это выглядит так:

‹table›

‹tr›

‹th align="1еft"›Заголовок 1:1 ‹/th›

‹th›Заголовок 1:2‹/th›

‹th align="right"›Заголовок 1:3‹/th›

‹/tr›

‹tr›

‹td align="left"›2:l‹/td›

‹td align="right"›2:2‹/td›

‹td›

‹/tr›

‹/table›

4.1.7.2. Тэг th

Тэг th так же имеет «свои» атрибуты (см. схему ниже) и содержит «отформатированные» символьными (inline) стилями данные-заголовки ячейки таблицы.

Тэг th может содержать от 0 до бесконечности «отформатированых» символьными стилями заголовков ячеек таблицы. Т. е. Тэг th может быть «пустым», закрытым:

‹table›

‹tr›

‹th/›

‹th› ‹/th›

‹/tr›

‹/table›

А может и содержать заголовки ячеек:

‹table›

‹tr›

‹th align="left"›Заголовок l: l‹/th›

‹th align='' center"›Заголовок 1:2‹/th›

‹/tr›

‹/table›

Атрибуты align и valign служат для выравнивания заголовка по ширине и по высоте соответственно. Тэг имеет еще и другие атрибуты.

Схема тэга дана th ниже:

Описание работы пакета OOoFBTools Создание книг FB2 i_060.png

4.1.7.3. Тэг td

Тэг td так же имеет «свои» атрибуты (см. схему ниже) и содержит «отформатированные» символьными (inline) стилями данные-строки ячейки таблицы.

Тэг td может содержать от 0 до бесконечности «отформатированых» символьными стилями строк ячеек таблицы. Т. е. Тэг td может быть «пустым», закрытым:

‹table›

‹tr›

‹td/›

‹td› ‹/td›

‹/tr›

‹/table›

А может и содержать заголовки ячеек:

‹table›

‹tr›

‹td align=

‹td align=

‹/tr›

‹/table›

Атрибуты align и valign служат для выравнивания строки по ширине и по высоте соответственно. Тэг имеет еще и другие атрибуты.

Схема тэга td дана ниже:

Описание работы пакета OOoFBTools Создание книг FB2 i_061.png

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

Формат FictionBook поддерживает и простые таблицы, по типу «прямоугольных» матриц, и некоторые сложные таблицы, где строки или столбцы могут быть разбиты. Простая таблица будет экспортирована «на ура» (число строк и колонок – не ограничено):

Описание работы пакета OOoFBTools Создание книг FB2 i_062.png

Более сложные таблицы тоже экспортируются:

Описание работы пакета OOoFBTools Создание книг FB2 i_063.png

Формат fb2 не поддерживает таблицы, вложенные в ячейки другой таблицы (что практически всегда можно увидеть на html файлах, скаченных с сайтов, форумов):

Описание работы пакета OOoFBTools Создание книг FB2 i_064.png

С другой стороны, согласно формату fb2 каждый тэг th и td может содержать только один абзац. Т. е. такая таблица:

Описание работы пакета OOoFBTools Создание книг FB2 i_065.png

«превратится» в fb2 формате в такую (абстрактно):

Описание работы пакета OOoFBTools Создание книг FB2 i_066.png

Т. е. все абзацы в ячейке «сливаются» в одну строку.

А таких таблиц можно встретить довольно часто (техническая, научная и др. литература). Как же сконвертировать ТАКИЕ «прямоугольные» таблицы в fb2 файл?

Конвертер позволяет это сделать за счет добавления так называемых «виртуальных» строк и ячеек. Т. е. все абзацы в ячейке (например 5 абзацев) становятся строками (5 строк).

Например, у нас есть такая таблица с несколькими абзацами в ячейках, а некоторые ячейки пустые:

Описание работы пакета OOoFBTools Создание книг FB2 i_067.png

Конвертер создаст fb2 код таблицы, которая выглядеть в читалках будет так:

Описание работы пакета OOoFBTools Создание книг FB2 i_068.png

Т. е., вместо 3 строк мы получили 8, разбив «многоабзацевые» ячейки. Это и есть так называемые «виртуальные» строки.

Чтобы все это «пощупать», сконвертируйте тестовый файл ExportToFB21_Test.odt и посмотрите результат (fb2 код в редакторе и «внешний вид» таблиц в читалке). Для Windows лучше всего (на сегодняшний день) отображает таблицы с выравниванием ячеек Cool Reader 2.66. Она корректно «отбивает» колонки таблиц. Выберите в ней в настройках скин default для того, чтобы увидеть границы ячеек.

4.1.8.1. Ячейки: экспорт абзацев как строк и экспорт абзацев как одну строку

Конвертер по умолчанию экспортирует многоабзацевые ячейки как абзацы. Но, иногда надо, чтобы абзацы определенной ячейки сконвертировались, как одна строка (слить их в один, разделив пробелом).

Например, есть таблица:

Описание работы пакета OOoFBTools Создание книг FB2 i_069.png

В 1-й ячейке два абзаца по сути дела выражают одно и тоже. После экспорта мы получим такую таблицу:

Описание работы пакета OOoFBTools Создание книг FB2 i_070.png

Эта таблица выглядит хорошо. Но вот если во втором столбце будет всего один абзац, то тогда после экспорта таблица будет выглядеть уже так:

Описание работы пакета OOoFBTools Создание книг FB2 i_071.png

Такая таблица уже «не очень»: Сразу непонятно, к чему относится «Совет» – напротив него – пустая ячейка. Было бы значительно лучше, если бы таблица выглядела так:


Перейти на страницу:
Изменить размер шрифта: