Как вставить картинку в техе
LaTeX для новичков. Часть 5:Вставка картинок
Автор таки вышел из пост-дипломного запоя и отпуска. На очереди экзамены в магистратуру и ещё два года ада.
На этот раз рассмотрим вставку картинок и других вкусностей в документы LaTeX.
Работа с картинками в LaTeX значительно отличается от привычных массам офисных пакетов тем что:
1) Картинки нельзя впихнуть в текстовый файл, картинки кладутся отдельными файлами и при передаче проекта требуется передать картинки тоже
2) Картинки встраивается при каждой пересборке проекта, что облегчает их обновление. Требуется лишь заменить картинку на новую с тем же именем. При работе с графиками из CAS возможно получить автоматическую синхронизацию графиков с проектом (настроить автосохранение графиков в файл).
4) Позиционирование картинок LaTeX делает сам. Пользователь может высказывать пожелания где их расположить. Есть режимы для форсирования положения, но они не рекомендуются к использованию.
Для поддержки вставки картинок в современных форматах требуется добавить в преамбулу следующие пакеты:
\usepackage
\usepackage
Для вставки картинки используем следующий код:
Картинки при вставке возможно вращать командой опцией angle (угол, против часовой стрелки в градуса), origin задают точку относительно которой вращается картинка (с соответствует центру)
Больше примеров возможно найти по следующей ссылке и в документации пакета graphics.
Вставка рисунков в документ LaTeX
Мы расскажем о том:
Пакеты и настройка
Для вставки рисунков понадобится пакет graphicx. Его, как и другие пакеты LaTeX, необходимо указать в преамбуле документа:
Значение аргумента argument может быть следующим:
Теперь укажем путь к графическим файлам. Пусть они помещаются в подкаталог pictures текущего каталога
(текущим считается тот каталог, где находится наш файл *.tex).
Кроме того, в преамбуле можно указать список расширений, которые будут трактоваться как графические
Теперь, вставляя в документ файл одного из указанных выше типов, его расширение указывать не обязательно.
Итак, для вставки рисунков к преамбуле документа нужно добавить:
Команда вставки графического файла
В текст документа графический файл вставляется командой \includegraphics :
Например, рисунок chick.png вставляется так:
Команда \includegraphics может иметь список аргументов
Вот некоторые из них
| Параметр | Описание |
|---|---|
| width=xx | Задаёт ширину рисунка равной xx |
| heigth=xx | Задаёт высоту рисунка равной xx (если задана только ширина или только высота, то рисунок масштабируется пропорционально) |
| scale=xx | Умножает размеры изображения на коэффициент xx |
| angle=xx | Поворачивает изображение на xx градусов по часовой стрелке |
переворачивает рисунок и уменьшает его размер вдвое.
Окружение figure
Получаем нечто вроде:
Добавление буквы p позволяет разместить картинку на отдельной странице:
Обратите внимание, что к подписи под рисунком добавлено «Рис. 1» (или какой-то другой номер). Автоматическую нумерацию рисунков можно отключить, используя пакет caption и «*»:
(не забудьте \usepackage
Пример
Читайте также
Комментарии
Дмитрий Храмов
Компьютерное моделирование и все, что с ним связано: сбор данных, их анализ, разработка математических моделей, софт для моделирования, визуализации и оформления публикаций. Ну и за жизнь немного.
Записки дебианщика
В этом блоге публикуются заметки и решения, найденные в процессе работы, освоения и жизни в дистрибутиве Debian GNU/Linux.
Иллюстрации и рисунки в LaTeX
Здесь приводятся базовые идеи и примеры, которые вам нужно освоить для вставки изображений и рисунков в LaTeX. Мы рассмотрим вставку нескольких рисунков в ряд и оформление групп рисунков, для чего будем пользоваться окружением minipage. Для набора дипломов по техническим специальностям приведённых сведений должно хватить.
После этого копируем полученный eps-файл в каталог, указанный в \graphicspath <
Теперь надо ссылаться на рисунок так: как показано на Рис.
Полезно запомнить, что ЛаТеХ рассматривает рисунок как одну большую букву. Поэтому в некоторых сложных случаях полезно применять грубую силу, т.е. например можно сделать интервал от подписи командой \vspace <1cm>— не очень изящно, зато действенно.
Здесь ширина рисунка указана 1 \linewidth то есть во всю строку, но строка теперь ширины 0.49 \linewidth так что рисунок будет во весь фрейм размера в половину строки. Кроме того, после каждого рисунка идётразрыв строки и буква, обозначающая рисунок. Нужно помнить, что ссылка и подпись под рисунками одна.
Результат, как всегда, логичен и приятен:

То есть теперь мы не падаем в обморок от просьбы вставить 12 рисунков по 3 в ряд. Все идеи те же самые, хотя едва ли в дипломе вам придётся столкнуться с большим количеством хитро расположенных рисунков.

Как видно, всё достаточно легко и просто. Не забываем проставлять нужные размеры minipage и рисунков, периодически посматривая на результат в kdvi и корректируя код по ходу дела.
Три рисунка с индивидуальными ссылками
Вариация на тему предыдущего случая, но через subfigure. При этом можно ссылаться на под-рисунки отдельными ссылками, например «см. Рис
\ref< fig:actuatorscouplingSheme _ decoupledcase > будет отображено как «Рис 2(а)». Добавляем в преамбулу:
\usepackage < subfigure >
и далее вставляем этот код:
Так что теперь в тексте можем ссылаться отдельно на рисунок 2а, 2b или 2c с помощью команды \ref <>. На самом деле, subfigures умеют намного больше.
Три рисунка разной высоты
Иногда случается такая партизанская засада, как разномасштабные рисунки, которые под один размер подгонять нехорошо по смыслу, и нужно сделать так, чтобы подписи к ним были в одну строчку. Иначе получается некрасиво: буквы под рисунками в разных положениях. Я не претендую на истину в последней инстанции, но вот выход, который я нашёл для себя:
Как это выглядит в документе:
Я немного забегаю вперёд и использую таблицы, которые будут описываться в другом разделе, но думаю, что человек с высшим образованием без труда переведёт слово tabular.
После этого у нас появляется замечательная возможность продемонстрировать свою невероятную оформительскую крутизну, используя окружение \begin < wrapfigure >. \end < wrapfigure >, когда нужно сделать обтекание рисунка:
theors.irkutsk
вторник, 11 октября 2011 г.
Рисунки в LaTeX документе
Вставка рисунков
Поговорим о том как и в каком формате вставлять рисунке в LaTeX документы.
Форматы рисунков
Самым часто используемым в LaTeX документах графическим форматом является формат EPS (Encapsulated PostScript). Второй по популярности и распространённости — это формат PDF (Portable Document Format). Традиционно формат EPS используют вместе с движком latex, тогда как формат PDF используют с движком pdflatex.
О движках
Первым появился движок latex, потом — движок pdflatex. Стоит отличать формат LaTeX и движок latex. Первый — это формальное описание команд, окружений, коллекции стандартных классов и приёмов для набора документов. Второе — обычная программа, используемая для вёрстки документа, набранного в формате LaTeX, в файл DVI (DeVice Independent). Документ в формате DVI можно преобразовать далее в PS или PDF файл и просмотреть его на экране монитора или распечатать. Обычно цепочка действий такова:
ps2pdf → PDF файл из PS,
Позже появилась программа, которая создавала сразу же PDF файл из LaTeX документа — движок pdflatex.
Кроме формата LaTeX есть обычный формат TeX (plain tex) и движок для него — tex, а движок для вёрстки документа в PDF формат — pdftex.
Вот известные движки:
latex — традиционный движок, верстает документ в DVI формат;
pdflatex — этот движок, как следует из названия, верстает документ в формат PDF, в остальном — ничем не отличается от latex;
xelatex — один из новых движок, верстает документ в PDF формат, поддерживает напрямую кодировку юникод, шрифты в форматах TTF, OTF и многое другое;
lualatex — новый движок, также верстает документ в PDF формат, но имеет встроенный язык программирования Lua, поддерживает напрямую кодировку юникод, шрифты в формате OTF и TTF;
dvilualatex — вариант движка lualatex, но в результате вёрстки выдаёт документ в формате DVI.
Пара dvilualatex и lualatex похожа на пару latex и pdflatex в том, что первая программа в паре верстает документ в DVI, вторая — в PDF.
Формат ConTeXt
Кроме форматов LaTeX и (plain) TeX также распространён формат ConTeXt. Этот формат может работать с движками pdftex, xetex, так называемый формат MkII, и с движком luatex — формат MkIV. ConTeXt позволяет использовать рисунки в форматах PDF, EPS, MPS, SVG. Но об этом не в этой заметке.
Как вставлять рисунки в документ
В зависимости от используемого движка в документе можно использовать либо рисунки в формате EPS, либо в формате PDF. Именно, если движок верстает документ в DVI, тогда следует использовать только формат EPS (см. детали ниже), если движок верстает документ в PDF — следует использовать рисунки в формате PDF.
Стандартный способ вставки рисунков в документ предполагает использование пакета graphicx и команды \includegraphics. Пример ниже.
Можно использовать любой другой стандартный класс документа, см. документацию.
Обязателен при вставки рисунков в документ.
Эта команда вставит рисунок в данном месте документа. Здесь image1 — это первичное имя файла, например для рисунка в формате EPS полное имя файла — image1.eps, для рисунка в формате PDF — image1.pdf.
«Детские» вопросы
«А как же движок узнает полное имя файла?»
Ответ очень простой — никак, он не делает никаких предположений относительно полного имени файла, он просто пытается вставить файл с указанным названием. Всё дело в пакете graphicx, он достаточно «сообразительный», он «знает», что для движка latex нужен файл image1.eps, а для движка pdflatex — image1.pdf. Если имеются два файла — image1.eps и image1.pdf, то движок latex будет использовать файла image1.eps, а движок pdflatex — файл image1.pdf!
«Ну и в чём преимущество, выгода, использовать только первичное имя файла?»
А в том, что можно сверстать один и тот же документ, ничего не изменив в нём как в DVI/PS, так и в PDF формат, воспользовавшись либо движком latex, либо движком pdflatex. НИЧЕГО НЕ ИЗМЕНИВ! Кстати, часто встречаются ситуации, когда на разных этапах или разным людям нужны документы в разных форматах. Это — решение для таких ситуаций.
Небольшое техническое отступление и исследование
«Всё течёт, всё изменяется» и в описанной схеме появляются интересные подробности. Первое о чём следует сказать, это что движок xelatex позволяет вставлять рисунки не только в формате PDF, но и EPS! Дело в том, что в действительности движок xelatex не верстает документ непосредственно в PDF формат, а создаёт промежуточный файл в формате XDV (eXtended DeVice independent), который сразу же преобразуется с помощью программы xdvipdfmx в PDF документ. На стадии работы программы xdvipdfmx рисунок EPS автоматически преобразуется в формат PDF. Но происходит это незаметно для пользователя.
Может быть к неудовольствию части пользователей LaTeX, такого преобразования над EPS файлами движки pdflatex и lualatex не делают, поэтому напрямую вставлять рисунки в формате EPS они не могут. Пользователю следует самостоятельно преобразовать EPS рисунки в PDF формат. Для этого есть небольшая программа epstopdf. Пример использования программы ниже.
После чего появится файл image1.pdf.
Для того, чтобы упростить переход пользователей к движку pdflatex и сделать совместное использование движков latex и pdflatex более простым был разработан пакет epstopdf (не путать с программой epstopdf), который позволяет на лету преобразовать рисунок в EPS формате в PDF и вставить его в документ. Типичный пример документа и ситуации его использования описаны ниже.
Допустим, что мы работаем над документом в формате LaTeX, вставляем рисунки в формате EPS, так что у нас все рисунки в этом формате. Всё работает нормально, движок latex верстает документ в DVI, а программа dvips выдаёт из DVI файла — PS документ, который мы просматриваем на экране и выводим на печать. Если вдруг потребуется перевести документ в PDF формат, то преобразование PS в PDF выполнит программа ps2pdf. Но что делать, если потребуется сверстать документ с помощью pdflatex? Что делать с рисунками? О варианте с преобразованием EPS в PDF при помощи программы epstopdf говорилось выше, а если файлов много? Воспользуемся пакетом epstopdf как в примере. Что же произойдёт? При вёрстке движком pdflatex пакет на лету преобразует файлы EPS в PDF (с помощью той же программы epstopdf), после чего PDF рисунки будут вставлены в документ.
Ранее пакет при преобразовании из файла image1.eps создавал файл image1.pdf, независимо от того, был файл с таким именем или нет. Сейчас пакет для файла image1.eps создаёт image1-eps-converted-to.pdf.
Поддержка пакета epstopdf разными дистрибутивами
Чтобы определить степень поддержки разными дистрибутивами TeX пакета epstopdf было проведено тестирование на 4 документах. В тестировании участвовали:
MiKTeX 2.9 (обновлённый по состоянию на 06-10-2011), установленный в Windows;
TeX Live 2011 (обновлённый по состоянию на 06-10-2011), установленный в ОС Linux и в Windows;
TeX Live 2009, установленный из репозиториев в дистрибутиве Ubuntu; версия TL2009 появилась в Ubuntu начиная с Lucid (10.04) и доступна в текущей ветке Natty (11.04);
TeX Live 2007, установленный из репозиториев в дистрибутиве Fedora 15.
TeX Live 2011 проверялся тремя способами: непосредственно в Linux, непосредственно в Windows и подключением ресурса с Linux машины с доступными win32 программами (samba share и net use).
Как оформить статью в LaTeX
Потребность набрать статью в TeX/LaTeX всегда возникает срочно. И срочность эта тем выше, чем меньше будущий автор знаком с LaTeX (или TeX). Поэтому не будем тратить время на исторический экскурс, установление разницы между TeX и LaTeX, и тонкости произношения названий, а сразу приступим к оформлению статьи.
Для этого нужно: 1) установить TeX и редактор для работы с ним, например, Texmaker или TeXstudio (я использую последний) или 2) воспользоваться онлайновым TeX-редактором, например Overleaf или ShareLaTeX (потребуется бесплатная регистрация).
Статья, которую мы хотим написать, выглядит так
Будем оформлять её постепенно.
1. Создадим простейший документ LaTeX:
Всё, что находится между \begin
Перед \begin
Она говорит, что созданный документ — статья (article).
В LaTeX существует множество классов, задающих то или иное оформление документа: статья, отчёт, книга, презентация и т. п.
Многие солидные журналы предлагают собственные классы для оформления статей. Например, публикации в журналах Американского физического общества оформляются при помощи класса revtex:
(четвёрка означает номер версии класса).
2. Добавим в документ произвольный текст, оттранслируем его
Как видно, набранный на русском языке текст не отображается в готовом документе. Исправим это.
3. Добавим в преамбулу следующие строки
4. При наборе текста, абзацы нужно разделять пустой строкой. В качестве примера наберём следующий текст:
5. Теперь укажем название ( \title ), автора ( \author ) и дату создания статьи ( \date ):
Разумеется, можно указывать не все, а только часть этих данных.
Команда \maketitle отображает указанные данные в документе (можете убрать её и посмотреть, что получится).
В качестве даты мы указали сегодняшнее число ( \today ), поэтому результаты трансляции у нас с вами будут немного отличаться.
6. Добавим команды, управляющие начертанием шрифта и его размером:
Поначалу кажется, что все эти команды будет трудно запомнить. На практике же, то что используются часто, запоминается сами собой. Для остальных команд существует меню
и панели инструментов
которые есть в любом редакторе для работы с TeX.
7. Наберём следующий текст:
8. Займёмся структурой документа. Мы уже немного умеем набирать текст — вот и поместим его в отдельный раздел. Остальные разделы зарезервируем под примеры вставки формул и рисунков.
так, чтобы получилось следующее:
Вынесенные в отдельный абзац, так называемые выключные формулы, окружаются \[ и \] или \begin
Добавим в раздел «Немного математики» следующий текст:
TeX автоматически сжимает внутритекстовые формулы так, чтобы они занимали меньше места по высоте. Вы можете проверить это, поместив внутрь абзаца интеграл из последней формулы.
Чтобы упростить набор формул, в редакторах TeX’а существуют панели инструментов с «подсказками»:
10. Рисунки, выполненные в виде файлов графических форматов (PNG, JPEG, PDF и т.п.), вставляются в документ при помощи команды \includegraphics :
В нашем случае, помимо вставки рисунка, выполняется уменьшение его размеров в 2 раза.
Файл TeX_lion.jpg должен находится в одном каталоге с текстом статьи.
Чтобы всё это сработало, нужно указать в преамбуле документа:
— что означает «подключить пакет graphicx».
Пакеты — это тематические наборы функций, расширяющие возможности TeX в том или ином направлении. Мы уже использовали их, когда нужно было обеспечить поддержку кириллицы.
11. Вставленный рисунок нужно центрировать и добавить к нему заголовок. Сделать это можно, поместив нужные команды в окружение figure :
12. Чтобы сослаться на какой-то объект — рисунок, таблицу, раздел или уравнение — нужно пометить этот объект командой \label <имя_объекта>. Ссылка выполняется командой \ref <имя_объекта>.
Изменим текст раздела Иллюстрации следующим образом:
Обработка документа со ссылками происходит в два этапа: сначала транслятор сохраняет имена объектов и рассчитывает соответствующие им номера, затем он заменяет команды \ref этими номерами. Поэтому такой документ нужно, вообще говоря, транслировать дважды. Некоторые редакторы TeX’а достаточно «умны» и автоматически транслируют документ нужное число раз.
13. Статья почти готова. Теперь можно добавить аннотацию
и заняться оформлением документа в целом, то есть размерами шрифтов, полей страницы и т. п.
Подобные классы обычно основываются на базовом классе article, к которому добавлены некоторые настройки.
В качестве примера мы настроим: 1) базовый размер шрифта, а также 2) размер страницы и величину полей документа.
Увеличим размер базового шрифта с 10 пунктов (pt), принятых по умолчанию, до 12 пунктов
При этом соответственно увеличатся и все относительные размеры, заданные командами вроде \tiny и \Huge ).
Настройку параметров страницы выполним с помощью пакета geometry:
a4paper задаёт размер страницы (А4), остальные параметры задают размеры полей документа: левого, правого, верхнего и нижнего (в сантиметрах).
Транслируем документ и получим
— то, что и требовалось.
Мы можем легко изменить оформление документа, использовав для этого другие классы. Например, разработанный в Германии пакет KOMA-Script предлагает использовать для оформления статей класс scrartcl.
Заменив в \documentclass article на scrartcl, получим
15. Примеры оформления статей и правила хорошего «типографического» тона можно найти в руководстве, подготовленном издательством ФИЗМАТЛИТ, и сборнике примеров.
Читайте также
Комментарии
Дмитрий Храмов
Компьютерное моделирование и все, что с ним связано: сбор данных, их анализ, разработка математических моделей, софт для моделирования, визуализации и оформления публикаций. Ну и за жизнь немного.






















