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