Как изменить подпись к рисунку латех

подпись рисунка

 

подпись рисунка

Сообщение03.11.2007, 11:29 

Аватара пользователя


24/10/05
400

Вставил рисунок в вставленный в Tex. Подскажите, пожалуйста, как можно подписать рисунок слева?

Профиль  

reader_st 

Сообщение03.11.2007, 14:26 

Заслуженный участник
Аватара пользователя


03/03/06
648

antoshka1303

Лично я не испытывал подобную необходимость. Единственное, что могу посоветовать это почитать вот этот файлик C:texmfdoclatexcaption, то на странице 20. Вроде там надпись справа от рисунка. Я для себя открыл это файлик благодаря myshka-masha

, с ним не работал ввиду отсутствия нужды, но по аналогичному опыту думаю, что должно получиться. Если будуте что-то менять в исходниках не забудь сконфигурировать TeX заново —имею ввиду запуск двух файлов.

Профиль  

antoshka1303 

Сообщение03.11.2007, 15:28 

Аватара пользователя


24/10/05
400

там уменя все на немецком и ничего не ясно.

я нашел вот что.

Код:

includegraphics[scale=1.1]{picture.eps}
begin{tabular}{rrr}
rotatebox{90}{Рисунок 1.}
end{tabular}

Но у меня подпись под рисунком получается съехавшая. не по центру рисунка:(. Что я не так делаю??

Добавлено спустя 2 минуты 1 секунду:

там уменя все на немецком и ничего не ясно.
я нашел вот что.

Код:

includegraphics[scale=1.1]{picture.eps}
begin{tabular}{rrr}
rotatebox{90}{Рисунок 1.}
end{tabular}

Но у меня подпись под рисунком получается съехавшая в низ рисунка.а нужно, чтобы надпсь была по центру рисунка права. Что я не так делаю??

Профиль  

reader_st 

Сообщение03.11.2007, 17:20 

Заслуженный участник
Аватара пользователя


03/03/06
648

antoshka1303

Цитата:

там уменя все на немецком и ничего не ясно.

Что-то неясно где это на немецком. (Миттельбах-то немец). В том файле-help все на анг.

Вечером повожусь, может что и выйдет.

Профиль  

antoshka1303 

Сообщение06.11.2007, 00:36 

Аватара пользователя


24/10/05
400

reader_st писал(а):

antoshka1303

Цитата:

там уменя все на немецком и ничего не ясно.

Что-то неясно где это на немецком. (Миттельбах-то немец). В том файле-help все на анг.

Вечером повожусь, может что и выйдет.

ура! у меня все получилось:))

не подскажите, как избавиться от двоеточия после номера рисунка в подписе рисунка в документе?

[code]

caption{Модель агрегата}

[code]

Профиль  

Someone 

Сообщение06.11.2007, 01:00 

Заслуженный участник
Аватара пользователя


23/07/05
17973
Москва

antoshka1303 писал(а):

не подскажите, как избавиться от двоеточия после номера рисунка в подписе рисунка в документе?

Из конференции fido7.ru.tex:

FAQ писал(а):

Q. Как изменить ‘:’ в подписи рисунка на ‘.’ — т.e. ‘Рис.1:’ на ‘Рис.1.’

A. [DM] Пакеты ccaption или caption (caption2 устарел):
usepackage{ccaption}
% заменяем для рисунков ‘:’ после номера рисунка на ‘.’
captiondelim{. } % после точки стоит пробел!
Этот пакет обладает совместимостью с caption2, достаточно указать
usepackage[caption2]{ccaption}

Цитата:

EL> Хочу поменять Рис:1 на Рис.1 в подписях к рисункам. Раньше я делал
так

EL> usepackage[caption2]{ccaption}
EL> renewcommand{captionlabeldelim}{. }

EL> теперь(обновление системы) на это выдается ошибка

EL> ! LaTeX Error: captionlabeldelim undefined.
я сделал так:
usepackage{caption}
DeclareCaptionLabelSeparator{dot}{. }
captionsetup{justification=centering,labelsep=dot}

centering по желанию

Профиль  

photon 

Сообщение26.11.2007, 15:25 

Экс-модератор
Аватара пользователя


23/12/05
11827

Someone писал(а):

Из конференции fido7.ru.tex:

А можно переопределить команду @makecaption.

Об этом есть у Львовского в разделе 7.1. Оформление подрисуночной подписи

Профиль  

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы

Мы расскажем о том:

  • какие пакеты нужны для того, чтобы вставить рисунок в документ LaTeX;
  • как вставить рисунок в документ;
  • как поместить рисунок в нужную часть страницы, снабдить его подписью и сделать на него ссылку.

Пакеты и настройка

Для вставки рисунков понадобится пакет graphicx. Его, как и другие пакеты LaTeX, необходимо указать в преамбуле документа:

usepackage[argument]{graphicx}

Значение аргумента argument может быть следующим:

  • dvips (аргумент по умолчанию при компиляции с помощью latex), если вы собираетесь компилировать документ при помощи latex для получения DVI-файла.
  • dvipdfm, если документ компилируется latex, и полученный в результате DVI-файл предполагается конвертировать в PDF при помощи dvipdfm.
  • pdftex (аргумент по умолчанию при компиляции с помощью pdflatex), если документ предполагается компилировать pdftex, чтобы непосредственно получить PDF-файл.

В дальнейшем мы будем использовать для компиляции документа pdflatex, поэтому в преамбуле запишем:

безо всяких опций.

Теперь укажем путь к графическим файлам. Пусть они помещаются в подкаталог pictures текущего каталога

graphicspath{{pictures/}}

(текущим считается тот каталог, где находится наш файл *.tex).

Кроме того, в преамбуле можно указать список расширений, которые будут трактоваться как графические

DeclareGraphicsExtensions{.pdf,.png,.jpg}

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

Итак, для вставки рисунков к преамбуле документа нужно добавить:

usepackage{graphicx}
graphicspath{{pictures/}}
DeclareGraphicsExtensions{.pdf,.png,.jpg}

Команда вставки графического файла

В текст документа графический файл вставляется командой includegraphics:

includegraphics{imagename}

Например, рисунок chick.png вставляется так:

(предполагается, что .png перечислено в списке расширений графических файлов). Это даёт, в результате:

chick.png

Команда includegraphics может иметь список аргументов

includegraphics[attr1=val1, attr2=val2, ..., attrn=valn]{imagename}

Вот некоторые из них

Параметр Описание
width=xx Задаёт ширину рисунка равной xx
heigth=xx Задаёт высоту рисунка равной xx (если задана только ширина или только высота, то рисунок масштабируется пропорционально)
scale=xx Умножает размеры изображения на коэффициент xx
angle=xx Поворачивает изображение на xx градусов по часовой стрелке

Примеры:

includegraphics[scale=0.5]{chick}

chick.png

includegraphics[width=1.5cm]{chick}

chick.png

Для указания размеров можно использовать переменные документа:
ширину строки linewidth, ширину текста нас странице textwidth, высоту текста на странице textheight и т. п.:

includegraphics[width=linewidth]{chick}
includegraphics[width=textwidth]{chick}
includegraphics[height=textheight]{chick}

Команда

includegraphics[scale=0.5, angle=180]{chick}

переворачивает рисунок и уменьшает его размер вдвое.

Окружение figure

Если нужно не просто поместить картинку в документ, но — в нужное место документа, снабдить картинку подписью, а также иметь возможность сослаться на нее, то это можно сделать с помощью окружения figure:

begin{figure}[h]
center{includegraphics[scale=0.5]{lena.jpg}}
caption{Тестовый рисунок "Лена"}
label{fig:image}
end{figure}
  • Опция h означает «here» и рекомендует TеX’у разместить картинку «здесь», то есть в том месте, где встретилась команда inludegraphics.
  • Команда center центрирует рисунок по горизонтали.
  • Опция scale задает масштаб отображения рисунка: 50% от действительных размеров рисунка.
  • Подпись под рисунком вставляется с помощью caption.
  • label задает метку рисунка, что позволяет ссылаться на него.

Получаем нечто вроде:

Рис. 1: Тестовый рисунок "Лена"

Наличие опции h вовсе не означает, что рисунок действительно будет вставлен «здесь» — окончательное решение остается за TeX’ом, и принимается, исходя из заполненности страницы. Есть и другие подобные опции: t (top) — вверху страницы; b (bottom) — внизу страницы и т. п. Эти опции можно использовать в комбинации. Например, если вы хотите поместить рисунок непосредственно в месте вставки или же вверху страницы, то укажите

Добавление ! к опции позволяет игнорировать установки TeX’а и вставить рисунок именно там, где указываете вы:

begin{figure}[h!] % хочу здесь, и точка!

Добавление буквы p позволяет разместить картинку на отдельной странице:

begin{figure}[pt!] % только вверху и на отдельной странице

Обратите внимание, что к подписи под рисунком добавлено «Рис. 1» (или какой-то другой номер). Автоматическую нумерацию рисунков можно отключить, используя пакет caption и «*»:

caption*{Заголовок без Рис. и номера}

(не забудьте usepackage{caption} в преамбуле документа).

На наш рисунок можно ссылаться с помощью команды ref. Указав в тексте «…как показано на Рис. ref{fig:image}» мы получим, после двухкратной компиляции: «…как показано на Рис. 1». Нужно только следить, чтобы метки рисунков не повторялись, и были, по возможности, осмысленными.

Важно использовать команду caption{} перед label{}, иначе в документе будет указана ссылка не на рисунок, а на текущую subsection. Итак: метка идёт после заголовка.

Пример

documentclass[a4paper,12pt]{article}
usepackage[T2A]{fontenc}
usepackage[utf8]{inputenc}
usepackage[russian,english]{babel}

usepackage{graphicx}
graphicspath{}
DeclareGraphicsExtensions{.pdf,.png,.jpg}

begin{document}

Пример вставки рисунка в документ LaTeX.

begin{figure}[h]
center{includegraphics[scale=0.5]{lena.jpg}}
caption{Тестовый рисунок "Лена"}
label{fig:image}
end{figure}

end{document}

Примечание. Если вас не устраивает вид подрисуночной подписи (например, вместо «Рис. 1:» необходимо «Рис. 1 — «), используйте пакет caption. В частности, для установки тире в качестве разделителя, вставьте в преамбулу документа следующий код:

RequirePackage{caption}
DeclareCaptionLabelSeparator{defffis}{ --- }
captionsetup{justification=centering,labelsep=defffis}

Одним из самых часто задаваемых вопросов о LaTeX является вопрос о
вставке картинок. Рисунки чаще всего помещаются в так называемые
плавающие объекты (floats). То, как ЛаТеХ размещает эти
объекты, уже обсуждалось в одном из предыдущих постов
из серии «ЛаТеХ для продвинутых». Теперь же стоит уделить внимание
содержанию плавающего объекта: расположению картинок и подписей к
ним внутри объекта float.

Одним из самых продвинутых средств в этой области является пакет
floatrow. Он
предоставляет удобный интерфейс для

  • изменения взаимного расположения подписи и рисунка или таблицы (подпись
    сверху, снизу, сбоку) без «ручного» перемещения команды
    caption{};
  • выравнивания картинки/таблицы и подписи по горизонтали (влево, вправо,
    центрированно) и контроля полей;
  • расположения нескольких плавающих объектов в ряд и их
    взаимного выравнивания по вертикали;
  • дополнительных элементов оформления, таких как линий,
    рамок и теней, отделяющих объект от основного текста или картинку
    от подписи, и т.д., и т.п.

Целью данного поста является продемострировать
возможности
предоставляемые floatrow для контроля
над расположением подписей к рисункам и таблицам.

Все примеры из поста могут быть найдены
здесь
и
здесь
в виде tex-файлов готовых к компиляции. Документация к пакету
floatrow доступна на
русском и
английском языках.

Для нетерпеливых

После загрузки пакета

01:  usepackage{floatrow}

настройка параметров плавающих объектов осуществляется командой

01:  floatsetup[тип флоат]{параметр=значение,параметр=значение,...}

где тип флоат может быть, например,
figure или
table.

Наиболее интересные параметры, значение которых рассмотренно
подробнее далее в тексте, приведены в таблице ниже

Параметр Значения, примеры Пояснения
capposition top, bottom, beside, TOP. Напр., capposition=top Положение подписи сверху, снизу, либо сбоку от картинки/таблицы.
capbesideposition {right/left/inside/outside, top/bottom/center}.
Напр., capbesideposition= {right,bottom}
Если подпись сбоку, её положение относительно картинки/таблицы.
capbesidewidth 10cm, 0.3textwidth, sidefil.
Напр., capbesidewidth= 0.5textwidth
Если подпись сбоку, её ширина
floatwidth 10cm, 0.3textwidth. Напр., floatwidth= 0.5textwidth Ширина, отводящаяся на весь флоат. Если подпись сбоку, ширина картинки.
margins raggedright, raggedleft, centering.
Напр., margins= raggedright
Положение («выключка») всего плав. объекта по горизонтали на странице (см. рис.).
justification raggedright, raggedleft, centering.
Напр., justification= raggedright
Положение картинки внутри плав. объекта по горизонтали (см. рис.).

Подпись сверху, подпись снизу

Подпись к рисунку, схеме или таблице можно располагать сверху, снизу
или сбоку от самого объекта. Традиционно, подписи к таблицам располагают
над ними, тогда как рисунки подписывают снизу. Конечно, этого можно
добиться переставляя команду caption{} соответствующим
образом вручную. Однако в мире ЛаТеХа действия «руками» являются
моветоном, и поэтому floatrow полностью автоматизирует процесс
с помощью команды floatsetup{}. Например, вот такой
код в преамбуле

01:  
02:  usepackage{floatrow}
03:  usepackage{graphicx,wrapfigure}
04:  
05:  floatsetup[table]{capposition=top}
06:  floatsetup[wrapfigure]{capposition=bottom}
07:  floatsetup[figure]{capposition=beside,
08:               capbesideposition={right,bottom},
09:               capbesidewidth=0.3textwidth,
10:        capbesidesep=quad
11:  }

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

Уделим немного внимания команде floatsetup[]{}.
Она принимает два аргумента. Первый, необязательный,
задаёт тип плавающего
объекта. Если он не указан, то опции, следующие во втором (обязательном)
аргументе будут применены ко всем типам floats в документе.

В данном случае мы использовали опцию

capposition, которая
может принимать значения
top, bottom, TOP и
beside.
Первые два варианта приводят к очевидному эффекту. Параметр
TOP имеет смысл только когда несколько объектов расположены
в ряд и поэтому мы сейчас не будем останавливатся на нём в подробностях.
Параметру beside стоит уделить чуть болeе внимания.

В комбинации с

capbesideposition он позволяет разместить
подпись слева capbesideposition={left,..} или справа
capbesideposition={right,..} от рисунка. В случае
двусторонней печати, можно использовать inside и
outside: тогда подпись будет расположена, соответственно,
на стороне «корочки» переплёта или на внешней стороне страницы.
Помимо этого, capbesideposition контролирует и
вертикальное положение подписи относительно рисунка.
Надо лишь указать top, bottom или
center.
Например,

01:  floatsetup[figure]{capposition=beside,
02:       capbesideposition={right,bottom}
03:  }

поместит подпись сбоку справа внизу.

Параметры

capbesidewidth и capbesidesep
контролируют ширину и отступ от рисунка. Ширину можно указывать
в абсолютных величинах (например, 5cm), в
долях от какой-либо длины (например, 0.3textwidth),
либо с помощью специального параметра sidefil,
который выделит под подпись всю оставшуюся часть ширины страницы.
Например,

01:  floatsetup[figure]{capposition=beside,
02:       floatwidth=0.6textwidth,
03:       capbesidewidth=sidefil
04:  }

выделит на картинку 60% страницы, а всё остальное отдаст под
подпись. Заметьте, что здесь был использован ещё один параметр
floatwidth. Обычно этот параметр задаёт ширину
отводящуюся под весь флоат. Однако, если подпись находится
сбоку, то floatwidth задаёт ширину отведённую под
непосредственно саму картинку, вставленную,
например, посредством includegraphics{}.

Опции необязательно задавать глобально. Если использовать
thisfloatsetup{} вместо floatsetup{},
то параметры будут применены только к одному плавающему объекту, который
первым следует за этой командой.

Пропуски, поля и выравнивание

Всемогущая команда floatsetup{} позволяет
настроить расстояние между картинкой и подписью и в случае, если
подпись находится сверху или снизу. Делается это с помощью ключа
captionskip=<длина>.

01:  floatsetup[figure]{capposition=bottom,
02:              captionskip=5ex,
03:       floatwidth=0.5textwidth,
04:       margins=raggedright
05:  }

Кроме того, в примере задана ширина floatwidth
всего float равной половине ширины текста и заказано разместить
весь float слева: margins=raggedright (напомним, что
по умолчанию и без floatrow, ЛаТеХ выравнивает плавающий
объект по центру горизонтали).

Параметр
margins принимает также значения
centering (по умолчанию), raggedleft
и др.

Если параметр margins регулирует, по сути, горизонтальное
выравнивание всего float (картинка плюс подпись), то
выравнивание по горизонтали картинки в пределах плавающего объекта
контролируется с помощью justification.
Обратите внимание, что если
используется пакет floatrow, то не нужно
явно задавать горизонтальное выравнивание картинки
(centering сразу после
begin{figure}) поскольку по умолчанию
justification=centering.
Другие значения, которые может принимать этот параметр, включают
raggedright, raggedleft и
justified. Первые два выравнивают картинку по
левому и правому краю плавающего объекта, соответственно.
justified для самой картинки просто означает, что она
будет находиться слева. Однако, если внутри float есть текст
(не относящийся к подписи!), то он будет набран, как параграф выравненный
по всей ширине плавающего объекта.
Например,

01:  floatsetup[figure]{capposition=bottom,
02:               floatwidth=0.6textwidth,
03:               margins=raggedright,
04:               justification=raggedleft
05:  }

приводит к такому результату

Все параметры схематически изображены на рисунке ниже.

Выравниваем подпись по ширине картинки

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

Сделать это можно с помощью команды ffigbox{}{} для
figure или
ttabbox{}{} для table. Здесь мы не
будем обсуждать все возможности этой мощной команды, а приведём
конкретный пример

01:  begin{figure}
02:   ffigbox[FBwidth]{caption{...}label{...}}
03:                      { includegraphics{...} }
04:  end{figure}

Трюк здесь состоит в том, что первый, необязательный, аргумент команды
задаёт ширину плавающего объекта, а значит и подписи. Пакет
floatrow определяет длину FBwidth, которая
равна ширине текущего объекта.

Для таблиц, просто заменяем ffigbox на
ttabbox.

Во всей своей мощи и красе ffigbox и FBwidth
предстают при расположении плавающих объектов в ряд. Но об этом в
следующий раз.

Стили

Пакет позволяет создавать стили, которые могут впоследствие быть
использованы как

01:  floatsetup[тип флоат]{style=стиль}

Мы не будем здесь рассматривать создание собственных стилей

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

Стили можно комбинировать с другими командами, например

01:  floatsetup[тип флоат]
02:   {style=ruled,floatwidth=0.6textwidth,...}

Заключение

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

Осуществляется это посредством команд floatsetup
(для глобальных установок или установок в пределах блока) и
thisfloatsetup (только для первого следующего объекта):

01:  floatsetup[тип флоат]{параметр=значение,...}

где тип флоат может быть, например,
figure,
table,
wrapfigure, и т.п. Список наиболее интересных параметров
можно найти в таблице приведённой выше.

Основным достоинством floatrow по сравнению с «ручными»
способами, вроде использования minipages, является гибкий интерфейс,
позволяющий одной командой floatsetup настроить
параметры всех плавающих объектов в документе.

Во всей своей красе floatrow проявляет
себя при расположении
плавающих объектов в ряд. Но об этом в следующий раз.

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

Документация к пакету
floatrow доступна на
русском и
английском языках.

Понравилась статья? Поделить с друзьями:
  • Как изменить подпись жесткого диска
  • Как изменить подпись гмаил
  • Как изменить подпись вконтакте
  • Как изменить подпись samsung pay
  • Как изменить подпись outlook 2019