TEX

Gattsu

Народ, подскажите, как в TEXе вставлять картинки из файла (Miktex 2.1 ). Очень нужно. Спасибо.

Landstreicher

\usepackage{graphics} или \usepackage{graphicx}
затем
\includegraphics[scale=число]{имяфайла}

Gattsu

А в каких форматах может быть файл?

solteron

Рекомендуется использовать eps или ps. Кроме этого, pcx и bmp вроде понимает.

Gattsu

А что это значит?
! LaTeX Error: Cannot determine size of graphic in fig.bmp (no size specifed).
See the LaTeX manual or LaTeX Companion for explanation.
И так со всеми форматами (я их в фотошопе конвертировал).

yolki

Картинки в чистом EPS можно под виндой делать в Mayura Draw. последний хочет регистрации, которую можно пропустить. (его картинки с расширением .md на самом деле -- EPS)
также в чистый EPS умеет сохранять Visio 2000(2002) (это тот, который уже куплен микрософтом). Однако надписи в картинках получаются только латиницей плюс всякие апострофы-умляуты. Как я ни бился, сделать их русскими не получалось. Также там надо повозиться с настройками, потому что не всякий уровень постскрипта, в котором умеет сохранять визио умеет понимать гхостскрипт.
В свое время КЮБ обещал большие бонусы тому человеку, который сможет "русифицировать" psfig, т.е. сделать так, чтобы надписи, сделанные на русском в xfig (после чего .fig конвертится в .eps при помощи psfig) нормально отображались в eps.

yolki

В фотошопных EPS надо руками подправить BoundingBox. У фотошопа координаты с плавающей точкой, в то время как в основном стандарте они целые.
Маза еще надо отключить сохранение Thumbnail.
Помнится фотошоп еще какую-то муть вставляет в начало файла.
Например, файл должен начинатся с


%!PS-Adobe-3.0 EPSF-3.0
%%Creator: Adobe Photoshop Version 5.0
%%Title: r1.eps
%%CreationDate: Sat Apr 14 2001 19:52:48
%%BoundingBox: 0 0 225 112
%%HiResBoundingBox: 0 0 225.12 112.08
%%SuppressDotGainCompensation
%%DocumentProcessColors: Black
%%EndComments
%%BeginProlog
%%EndProlog
%%BeginSetup
%%EndSetup


или что-то в этом духе. по стандарту, в EPS должны быть только ASCII символы (коды с 32 по 127) ну и еще символ перевода строки и табуляция. Если есть другие -- это не совсем стандартный EPS и он може и не пониматься ТеХом.
Когда я делал картинки в фотошопе мне приходилось ручками вырезать "текстовую" часть из его EPS. т.е. фотошоп вставлял какую-то бинарную часть до "настоящего" EPS и после него. позднее я разобрался, что один из кусков - это TIFF изображение thumbnail'a.

eduard615

Под виндой (да и под унихом нормальный eps делает open draw и gimp. на счет чистоты не знаю, но tetex и miktex их жрет без всяких проблем. и с русским проблем там нет

Landstreicher

под виндой в \includegraphiсs можно также писать wmf
А eps много кто умеет делать. Я довольно часто его своими прогами пишу, т.к. формат очень простой и удобный (спасибо ребятам из Adobe)

VitMix

Насколько я знаю, единственное, что TeX извлекает их файла с картинкой -- размер. Все остальное он игнорирует. Таким образом весь вопрос в том, какие форматы понимает программа, которая будет читать DVI файлы. Обычно DVI файлы приходится читать программе dvips. Это программа понимает EPS.

sany79

TeX извлекает из файла с картинкой размер. В PostScript картинках (.ps, .eps) этот размер записан в строке комментария:
%%BoundingBox: 0 0 421 596
Для бинарных форматов (совершенно неважно, каких -- .jpeg, .pcx, .msp, .bmp, .tiff, .gif) нужно самому создать одноимённый файл с суффиксом .bb с единственной строчкой указанного вида. Размеры, записанные в этом файле не обязаны совпадать с реальным размером картинок.
Будут ли видны при просмотре или печати иллюстрации, зависит от программы просмотра или печати. Например, просмотрщик dviscr из EmTeX'а не покажет .ps и .jpg, но покажет .msp, .gif и .pcx. А yap из MiKTeX'а показывает постскрипт.
Кроме того, dviscr хоть и покажет картинку, но не станет её масштабировать и поворачивать.
На мой взгляд, лучше всего делать постскриптовские рисунки, если надо, удалять мусор в начале (до места '%!PS-Adobe.....') и вставлять при помощи \includegraphics, а затем из .dvi-файла делать многостраничный постскрипт программой dvips (в EmTeX'е она называется dvips32).
Кстати, к стилевику graphics прилагаются файлы с подробнейшим описанием
texmf/doc/......./graphics/*.dvi,
texmf/doc/......./graphics/*.ps

sany79

Забыл написать: размеры в строке BoundingBox -- в адобовских пунктах (ровно 1/72 дюйма, дюйм=2.54 сантиметра).

sany79

И ещё. непонятные TeX'у графические форматы пакет graphics закулисным образом преобразует всё к тому же постскрипту при помощи внешней программы (в Юниксах это convert из пакета ImageMagic детали зависят от конфигурации пакета graphics. Есть ли такая халява в MiKTeX'е, я не знаю.

Landstreicher

Я в таких тонкостях не разбираюсь, похоже на правду. Только виндовый dvips похоже еще чего-то понимает кроме eps, так как без глюков встраивает туда wmf. Или он все-таки конвертит?

bobking

Ну, pdflatex в *N*X хавает jpg сразу.

sany79

Насколько мне известно, даже и невиндовый dvips понимает емтеховские вставки \special{em:graph kartinka.pcx}. Про другие форматы не знаю.
Как запускается внешняя программа-конвертер, точно не скажу, но, по-видимому, есть только 2 способа:
(1) запускать внешние команды из самого TeX'а, записывая их в дескриптор вывода номер18:
\immediate\write18{ls -lR}
Для этого TeX запускается с ключом --shell-escape, если он скомпилирован с поддержкой этой возможности. Есть ли такое в MiKTeX'е, не знаю.
(2) TeX изготавливает скрипт, из которого затем запускается конвертер.

Оба этих способа могут быть реализованы практически одним и тем же способом.

sany79

Возможно. Я писал только про TeX, с pdfTeX'ом я знаком совсем мало.

Gattsu

А скажите, пожалуйста, как там, например, делать обтекание текстом картинки и где про это можно почитать.

sany79

Для латеха есть пакет floatflt
texmf/doc/latex/floatflt/*.dvi
Никогда не пользовался, т. к. делал книги малого формата (A5 где картинки занимали больше половины ширины страницы. Картинки с обтеканием создают множество проблем.

Gattsu

спасибо!
Оставить комментарий
Имя или ник:
Комментарий: