7-лекция. Работа с объектами в документе План: 1. Объекты. 2. Объекты.и их размещение в документе. Ключевые слова: WYSIWYG, SEE, GET, опыт, разделы, очередь, Last, NOT, chris, DVI, device independence, AUX, реализм, memory size Как уже говорилось, наличие визуальных элементов облегчает понимание документа читателем и способствует привлечению внимания. В предыдущей статье мы рассмотрели возможности LaTeX для работы с графическими изображениями, а в этой поговорим о создании таблиц средствами LaTeX. Но после того как вы добавите несколько подобных "сторонних" объектов в текст, необходимо будет внимательно контролировать их размещение в документе, чтобы избежать проблем при финальной вёрстке. Поэтому в каталоге пакетов LaTeX присутствует множество пакетов для работы с "плавающими" объектами. Доступ к данным В список возможностей 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 является подготовка научных текстов, его могучие возможности можно использовать и для решения прикладных задач. Так существуют пакеты, специально предназначенные для подготовки литературных, музыкальных, финансовых, шахматных и тому подобных произведений. Финансовые пакеты С помощью LaTeX вполне можно создавать финансовые документы начального уровня. calctab — оформление «экономических» таблиц, таких как счета и расходы с числовыми колонками, в которых нужно вычислять суммы. euro — операции с валютами и символ евро. invoice — пакет для формирования счётов. Литература Пакеты LaTeX могут успешно использоваться для подготовки не только научной, но и художественной литературы. «Литературная» составляющая LaTeX охватывает практически все возможные жанры. altverse из пакета shipunov используется для оформления стихов. dramatist — вывод пьесы в стихах или прозе. ednotes — печать комментариев к тексту. edfnotes — расширение возможностей пакета ednotes. edmargin — добавление критики вне основного текста, с автоматическими ссылками на критику на полях издания. eledmac — стиль с набором макросов для формирования издания с комментариями, также содержит расширение в виде стиля eledpar для печати параллельного текста. Является LaTeX-реализацией популярного TeXпакета edmac. Аналогичная функциональность доступна в пакете ledmac. play, thalie — простые пакеты с набором окружений и макросов для набора пьес. parrun — пакет, позволяющий печатать текст и над ним его перевод. poemscol — пакет, ориентированный на создание сборников стихов и критических заметок. poetrytex — создание стихотворных сборников. sides — класс с небольшим набором специализированных макросов для оформления текста пьесы, основанный на более простом классе plari. stage — класс для оформления пьес. verse — пакет для публикации стихов. gmverse исправляет некоторые из проблем пакета verse. Музыка Возможности LaTeX позволяют записывать и музыкальные партии. abc — поддержка LaTeX ABC-нотации (запись музыки ASCIIсимволами), требуется установка сторонней программы abcm2ps. concprog — класс для написания простых концертных программок. cd, cd-cover, papercdcase и simplecd — классы для создания обложек CD/DVD-дисков. guitar — подпись гитарных аккордов над текстом песен. guitarchordschemes, gchords — схемы гитарных аккордов. gtrcrd — приписывание аккордов к текстам. musictex — устаревший пакет MusicTeX. musixtex — пакет MusiXTeX, ориентированный на набор нот средствами LaTeX, который призван заменить пакет musictex. Пакет содержит стили musixcrd и musixlyr для добавления к нотам аккордов и текстов песен соответственно. musixguit — добавление гитарных аккордов к нотам или тексту. piano — рисует пару фортепианных октав и подсвечивает указанные клавиши. songbook — печать песенных сборников с возможностью добавления аккордов над текстом. Рецепты Первый набор макросов для подготовки рецептов был написан самим Дональдом Э. Кнутом по просьбе его жены. Подробнее об этих макросах можно прочитать в статье «Макро, написанные для Джил», опубликованной в сборнике «Компьютерная типография». cooking — несколько простых макросов для оформления сборника рецептов. Ингредиенты описываются рядом с действием по их использованию. cookingsymbols — некоторое число символов для рецептов. cuisine — чуть более современный аналог cooking. recipe — ещё один класс для набора рецептов. recipecard — карточки рецептов. xcookybooky — рецепты с упором на красивое оформление. Шахматы Платформа LaTeX предлагает различные пакеты, специально предназначенные для подготовки шахматных публикаций. chess — шрифты для оформления шахматных диаграмм. chess-problem-diagrams — содержит стиль с не очень удачным именем diagram, который используется для отображения шахматных позиций. chessboard — вывод шахматной доски. skak — пакет позволяет печатать шахматные партии с использованием PGN-нотации (Portable Game Notation) и визуализировать шахматные позиции. skaknew содержит векторные шрифты, полученные из шрифтов skak. xskak — расширение пакета skak. texmate — печать партий с возможностью аннотаций и отображением шахматных позиций. Логические игры С помощью LaTeX можно создавать самые различные логические игры и головоломки (кроссворды, судоку, лабиринты) crosswrd — пакет для создания кроссвордов. epsdice — векторное изображения граней игральных костей. hexgame — изображение доски и позиций математической игры Гекс. labyrinth — рисование двумерного лабиринта и поиск пути по нему. logicpuzzle — вывод полей и позиций для 27 головоломок типа Судоку. othello и othelloboard — пакеты для реверси. psgo — доски и позиции для игры в Го. psbao — доски и позиции для игры в Бао. rubik — кубик Рубика и всё, что с ним связано. sudoku, sudokubundle — головоломка sudoku. Заключение Мы завершили обсуждение темы, начатой в предыдущей статье: добавление визуальных элементов (графические изображения, таблицы) в документ и их последующее размещение. В следующей статье мы перейдём к рассмотрению процесса вёрстки: как с помощью LaTeX собрать документ из уже имеющихся элементов (текста, изображений, таблиц и т.д.). В этой и предыдущих статьях мы рассматривали пакеты LaTeX предназначенные для создания документов конкретных типов (от заметки до диссертации) для самых различных областей (от ядерной физики до кроссвордов). Начиная со следующей статьи, мы изучим пакеты LaTeX, предназначенные для форматирования отдельных фрагментов документов (изображений, таблиц и т.д.). Список литератур: 1. С. М. Львовский. Набор и вёрстка в системе LATEX. 3-е издание, исправленное и дополненное. Москва. -448 ст. 2003 г. 2. T.X. Xolmatov, N.I. Taylakov, U.A.Nazarov Informatika va Hisoblash texnikasi. «Uzbekiston milliy entsiklopediyasi» Davlat ilmiy nashriyoti, T 2001 3. Симонович С.В ва бошкалар “Общая информатика”, ”Специальная информатика”, ”Практическая информатика”, Москва, 2000 . 4. www.ziyonet.uz 5. https://www.ibm.com/developerworks/ru/library/latex_styles_02/