Консультация № 89839
03.06.2007, 18:51
0.00 руб.
0 2 2
Уважаемые эксперты, объясните, пожалуйста, как правильно вставить рисунок .bmp в tex документ, чтобы после компиляции рисунок был виден в pdf.
До начала документа вставил
usepackage{graphicx}
DeclareGraphicsRule{.bmp}{bmp}{}{} % обязательная команда
Картинку в текст вставил так: includegraphics[width=11.72cm,height=2.79cm]{ris1.bmp} - в результате в файле dvi картинка есть, а в pdf нету, даже если конвертировать dvi в pdf.
Пользуюсь MikTex+WinEdit.

Заранее спасибо!

Обсуждение

Неизвестный
03.06.2007, 23:51
общий
это ответ
Здравствуйте, Устинов С.Е.!

Просто нет драйвера который умел бы конвертировать данный формат в eps-формат.
При загрузки пакетов надо в не обязательном аргументе команды \usepackage указать драйвер или, другими словами, программу, которая «понимает» команды из этих пакетов. Драйвером по умолчанию задан dvips . Программа dvips, которую написал Tomas Rokicki, переводит dvi-файл, полученный послеобработки LateX-ом входного файла, в файл,в котором документ описан
на языке PostScript. ps-файл можно с помощью программы GhostScript просмотреть на экране монитора и распечатать на обычном принтере. Кроме того, GhostScript умеет конвертировать ps-файл в файл формата PDF. Еслиже вы создаёте документ в формате PDF непосредственно с помощью pdfLateX’а, то вам следует при загрузки пакетов указывать в видеопции драйвер pdftex.
Остальные драйверы, которые в настоящее время декларированы для пакетов из коллекции graphics: xdvi, dvipdf, dvipdfm, dvipsone, dviwindo, emtex, dviwin, pctexps, pctexwin, pctexhp, pctex32, truetex, tcidvi, vtex, oztex, textures.

Посему предлагаю Вам такой выход из ситуации, Ваш BMP-файл необходимо конвертировать в JPEG это можно сделать при помощи классического Paint-a либо другого графического редактора.
Далее скачиваете <a href=http://ftp.at.vim.org/publishing/tex/tex-utils/jpeg2ps/>конвертер JPEG в EPS</a>.

Программа jpeg2ps.exe преобразует файл в формате JPEG в eps-файл. При этом сам рисунок не конвертируется в формат EPS. jpeg2ps записывает в заголовок eps-файла информацию о параметрах рисунка, а затем копирует туда JPEG-данные. Распаковка данных осуществляется интерпретатором PostScript’а, например, программой GhostScript, на этапе просмотра или печати рисунка. Для преобразования jpg-файла в eps-файл достаточно выполнить следующую командную строку:
<b><font color=purple>jpeg2ps -r 0 -o outputfile.eps inputfile.jpg</font></b>
Опция "-o" переводит программу jpeg2ps в режим записи выходных данных в файл на диске. Опция "-r 0" задаёт размер Bounding Box, равным размеру рисунка в пикселах.
<code>%%BoundingBox: llx lly urx ury
где целые числа llx, lly, urx и ury — это x- и y-координаты в больших пунктах левого нижнего и
правого верхнего углов области, внутри которой находится рисунок на «воображаемой» странице. Именно эта часть страницы импортируется в документ.</code>

Для Вашей картинки нужно произвести такие манипулиции:
1) Преобразовать BMP в JPEG (получите файл ris1.jpg).
2) Преобразовываем JPEG в EPS:
<b>jpeg2ps -r 0 -o ris1.eps ris1.jpg</b>
3) В документ вставляете такую строку (\DeclareGraphicsRule - уже не понадобиться):
\includegraphics[width=2in,height=2in]{ris1.eps}
Компилируем - получаем DVI-файл, а из него Ваш долгожданный PDF-файл.

Good Luck!!!
Неизвестный
03.06.2007, 23:55
общий
это ответ
Здравствуйте, Устинов С.Е.!
К сожалению мне (у меня MiKTeX 2.4) также не удалось добиться полностью корректной работы с растровыми изображениями (bmp, jpeg, gif...) - они просматриваются только в dvi и их нет после конвертации в ps или pdf.
1 способ: Из dvi печатаю на Adobe PDF (виртуальный принтер, ставящийся вместе с полноценным Adobe Acrobat). Иногда печать на Adobe PDF не очень корректна - верхнее поле съезжает до нуля.
2 способ: преобразую картинку в EPS (я это делаю в Corel Draw). Затем dvi конвертирую в ps и только затем в pdf. Если сразу делать pdflatex, то картинка также пропадает.
Форма ответа