Содержание


Каталог классов и стилей LaTeX. Часть 8. "Плавающие" объекты и таблицы

Comments

Как уже говорилось, наличие визуальных элементов облегчает понимание документа читателем и способствует привлечению внимания. В предыдущей статье мы рассмотрели возможности LaTeX для работы с графическими изображениями, а в этой поговорим о создании таблиц средствами LaTeX.

Но после того как вы добавите несколько подобных "сторонних" объектов в текст, необходимо будет внимательно контролировать их размещение в документе, чтобы избежать проблем при финальной вёрстке. Поэтому в каталоге пакетов LaTeX присутствует множество пакетов для работы с "плавающими" объектами.

Таблицы

Таблица — это особая форма передачи информации, которая имеет свою специфику и должна сочетать большой объём представленной информации с легкостью её восприятия. Хотя в некоторых публикациях и утверждается, что LaTeX не очень удобен для набора таблиц, тем не менее при аккуратном и грамотном использовании доступных возможностей можно создавать объёмные и качественные таблицы.

  • array из пакета tools — расширение стандартных окружений tabular и array, допускающее тонкую настройку параметров таблицы и внутренних разделителей.
  • tabularht из пакета oberdiek — замена стандартного окружения tabular с добавлением параметра, определяющего высоту таблицы.
  • tabularx из коллекции tools — расширение стандартного окружения tabular с ограничением ширины таблицы.
  • tabulary — расширение стандартного окружения tabular с автоматическим вычислением ширины колонок.
  • tabu — набор табличных окружений, аналогичных, но лучше стандартных tabular, array и longtable.
  • blkarray — пакет определяет окружение blockarray, которое в математическом режиме ведёт себя как array, а в текстовом как tabular.
  • booktabs — набор макросов для тонкой настройки параметров таблиц.
  • ctable — пакет для определения таблиц с выравниванием по центру.
  • listliketab — пакет для печати списков с оформлением в виде таблицы.
  • spreadtab — имитация листа "электронной таблицы", как в ПО Microsoft Excel.
  • stackengine — пакет позволяет сложить объекты по вертикали, например, расположить одну букву над другой.
  • tabstackengine – расширение stackengine, позволяющее создавать объекты, похожие на вектора и матрицы.
  • Tabbing — модификация стандартного окружения tabbing используется, когда необходимо разместить буквенные акценты в тексте таблицы.

Многостраничные таблицы

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

  • longtable из пакета tools — пакет для объявления многостраничных таблиц с заголовками по умолчанию; не может использоваться при многоколоночной вёрстке.
  • supertabular — чуть более сложный в использовании и менее гибкий аналог стандартного окружения longtable; может использоваться при многоколоночной вёрстке.
  • xtab — расширение возможностей пакета supertabular с учётом особенностей longtable.
  • cals — предоставляет механизмы создания многостраничной таблицы, объединения ячеек по вертикали и горизонтали, управления цветом фона.
  • ltxtable из пакета carlisle — объединяет возможности пакетов longtable и tabularx.
  • ltablex — определяет окружение tabularx, с синтаксисом как в longtable, но с возможностью объявления колонок X-типа (колонки с автоматически подстраиваемой шириной при фиксированной ширине таблицы).

Разделительные линии

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

  • arydshln — пакет для создания пунктирных разделительных линий.
  • delarray из пакета tools — набор разделителей (скобки и т.д.) для окружения array.
  • hhline из пакета tools — набор разделительных линий для таблицы.
  • tabls — настройка вертикальных пробелов таким образом, чтобы символы не касались разделительных линий.
  • tabularborder — уменьшает отступы справа и слева таблицы до нуля.

Клетки

Для привлечения внимания к определённой информации, содержащейся в таблице, можно выделить одну или несколько ячеек в таблице на общем фоне.

  • cellspace — гарантирует, что между текстом и горизонтальной разделительной линией всегда будет промежуток.
  • colortbl — раскраска строк, колонок и клеток таблицы.
  • diagbox — оформление клетки на перекрестии головки и боковика, разделённой косой чертой.
  • makecell — пакет для тонкой настройки параметров и структуры таблицы; для создания клеток, занимающих несколько строк, в пакете определена команда \makecell.
  • multirow — пакет содержит одноимённый стиль и команду для определения клетки, занимающих несколько строк, также в пакет входят стилевые файлы bigdelim (разделители высотой в несколько строк) и bigstrut (высокие подпорки).

Выравнивание чисел

Обычно для облегчения восприятия данных в столбцах, значения выравниваются по одному краю.

  • rccol, warpcol и dcolumn из пакета tools — пакеты для выравнивания значений в ячейках по разделителю целой и дробной частей.
  • numprint — позволяет вставлять разделитель через каждые три цифры или менять написание цифр, чтобы не сбиться при вычислении порядков.

Доступ к данным

В список возможностей LaTeX не входит непосредственная обработка данных, так как всё-таки это платформа для вёрстки документов, но некоторые возможности для импорта данных из других источников в LaTeX всё-таки присутствуют.

  • csvtools, csvsimple — пакеты для чтения CSV-файлов.
  • exceltex — пакет для чтения xls-файлов.

Создание новых типов плавающих объектов

Добавление "стороннего" объекта в документ начинается с объявления нового типа, который будет определять основные характеристики этого и других подобных объектов.

  • float, floatraw — пакеты для создания новых типов плавающих объектов.
  • rotfloat — расширение для пакета float с возможностью вращения создаваемых объектов.
  • trivfloat — создание простого плавающего объекта одной командой с одним параметром.

Типы плавающих объектов

Поведение каждого плавающего объекта можно сделать "уникальным", благодаря следующим пакетам LaTeX.

  • boxhandler — альтернатива стандартным окружениям figure и table.
  • dpfloat — определяет новый тип плавающего окружения, занимающего сразу две страницы, например, для двойных иллюстраций на развороте.
  • floatflt — полноценный плавающий объект, обтекаемый текстом.
  • nccfloats — набор макросов из пакета ncctools для формирования плавающих объектов.
  • sidecap — определяет ещё один тип плавающих объектов, позволяющий размещать подпись к нему сбоку.
  • wrapfig — создаёт прямоугольник для размещения рисунка, который будет обтекаться текстом.
  • picinpar — ещё один способ поместить объект внутри абзаца, только уже по центру, в отличие от предыдущего пакета.
  • subfig — современный пакет для создания групп из нескольких картинок.
  • miniplot — упрощённый аналог subfig.
  • photo — плавающее окружение для вставки фотографий.
  • plates — определяет плавающее окружение для создания картинок, которые печатаются отдельно от документа, а затем вклеиваются в него

Подписи к объектам

Для идентификации "плавающих" объектов обычно используются подписи, которые также можно сформировать с помощью LaTeX.

  • capt-of — простой способ сформировать подпись вне плавающих окружений.
  • captdef — определяет макрос \capdef, работающий аналогично команде \caption, но вне плавающих окружений.
  • captcont — может использоваться для заморозки номера иллюстрации.
  • caption, ccaption — пакеты для управления подписями к плавающим объектам с возможностью формирования подписей за пределами плавающих окружений.
  • copyrightbox — предоставляет одноимённую команду, позволяющую поместить небольшой фрагмент текста (обычно copyright) рядом с изображением.
  • mcaption — размещение подписей к плавающим объектам на полях.
  • multicap, nonfloat — пакеты для создания подписей к "стационарным" объектам.
  • subfloat — добавляет дополнительный уровень нумерации для плавающих объектов, позволяя объединять несколько объектов в одну группу.
  • topcapt из пакета ltxmisc — определяет макрос \topcaption, полностью аналогичный \caption, но правильно размещающий подпись над плавающим объектом; аналогичную функциональность предоставляет пакет ftcap.

Размещение плавающих объектов

При использовании "плавающих" объектов можно вводить ограничения для их размещения, чтобы гарантировать стабильное форматирование документа при компиляции.

  • endfloat — размещение плавающих объектов в конце документа.
  • figcaps из пакета preprint — при инициализации этого пакета картинки и таблицы из печатного документа убираются, а их названия печатаются в конце на отдельной странице.
  • hvfloat — позволяет вращать и размещать плавающий объект и подпись к нему как угодно относительно друг друга.
  • placeins — позволяет выставлять "барьеры", за пределы которых плавающие объекты не смогут "переместиться".

Заключение

Мы завершили обсуждение темы, начатой в предыдущей статье: добавление визуальных элементов (графические изображения, таблицы) в документ и их последующее размещение.

В следующей статье мы перейдём к рассмотрению процесса вёрстки: как с помощью LaTeX собрать документ из уже имеющихся элементов (текста, изображений, таблиц и т.д.).


Ресурсы для скачивания


Похожие темы


Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Open source
ArticleID=972371
ArticleTitle=Каталог классов и стилей LaTeX. Часть 8. "Плавающие" объекты и таблицы
publish-date=05262014