Описание работы пакета OOoFBTools. Создание книг FB2 - [6]

Шрифт
Интервал

!

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

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

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

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

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

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

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

4.1.7.1. Тэг table

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

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

В 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 ниже:

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 дана ниже:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Еще от автора Вадим Кузнецов
Швейцарские часы

«Как управлять временем? Как заставить планету крутиться быстрее или медленней? Возможно ли это? …Как элегантно! Часы «Роллекс». Хорошая вещь. Перевел стрелку на пять минут назад, и вот у тебя пять лишних минут. Просто и элементарно».


Хранители

Рассказ изначально писался к миру Дмитрия Глуховского «Метро 2033». Мир будущего. 20 лет после ядерной катастрофы. Выжившие люди живут в глубоких бункерах и метро. По поверхности, зараженной радиацией, бродят самые разнообразные мутанты. Автор представляет свою версию появления быстрых мутаций у животных. Данная версия рассказа отвязана от мира «Метро» и является самостоятельным произведением.


Проклятие Пандоры. Файл №413

Этот сериал смотрят во всем мире уже пятый год. Ом вобрал в себя вес страхи нашего времени, загадки и тайны, в реальности так и не получившие научного объяснения.Эпидемия. Страшная эпидемия неизвестной пока еще медицине «красной лихорадки», буквально ВЫКАШИВАЮЩЕЙ людей из маленького американского городка, издавна облюбованного тихой общиной мормонов!Быть может, у этой эпидемии — и вправду СУГУБО НАУЧНЫЕ причины, и права Скалли, утверждающая, что городу нужны не агенты ФБР, а врачи?А может — прав все-таки Молдер? Молдер, упрямо верящий местным слухам о том, что смерть уносит лишь тех, у кого на совести лежит ТЯЖКИЙ ГРЕХ? Но тогда — ЧТО ЖЕ ТАКОЕ эта таинственная «красная лихорадка», от которой невозможно ни спастись, ни спрятаться?Так начинается новое дело «Секретных материалов»…