2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 LaTeX & Graphics
Сообщение11.12.2006, 23:59 


11/12/06
6
Добрый всем, кому день, а кому и ночь...

Предлагаю обсудить тему "универсальной" вставки графики в LaTeX. "Универсальной" подразумевает создание как DVI, так и PDF из одного LaTeX документа без изменений.

Для начала поделюсь своим опытом и основными проблемами:
  • PDFTEX прекрасно знает такие форматы, как PNG, PDF, JPG, MPS.
  • DVIPS знает лишь о EPS и PS.


С векторной графикой все вроде бы хорошо:

делаем примерно вот так:

Код:
...
\graphicspath{{images/eps/}{images/pdf/}}
...
\begin{document}
...
\begin{figure}
  \center
  \includegraphics{image-file}
  \caption{...}\label{...}
\end{figure}
...
\end{document}


При наличии image-file.eps и image-file.pdf соответственно в /images/eps/ и /images/pdf/
мы успешно соберем как PDF, так и DVI.

Но здесь одна проблема: EPS файлы жутко большие по размерам. Можно их сжать gzip-ом, но тогда мне придется создавать для каждого EPS файла в помощь еще и .BB файл, что не есть гут. Поясню почему: предположим мне захочется изменить рисунок, причем размеры его поменяются, а я забуду откорректировать .BB, что тогда я получу??? Правильно, не корректную картинку, например обрезанную.

Жутко хотелось бы иметь возможность встраивать SVG графику, но толкового метода я пока не нашел (svg2eps не предлагать - зависит от сторонних приложений, что не есть гут!!!).

Вопрос номер 2: Растровая графика. Здесь все еще гораздо хуже. Драйвер DVIPS понятия не имеет о растровой графике, встроить конечно можно, но придется создавать все те же .BB, чего не хочется делать (почему см. выше).

Может я чего упустил в вопросе вставки графики в LaTeX, так уж будьте добры подскажите.

 Профиль  
                  
 
 Re: LaTeX & Graphics
Сообщение12.12.2006, 00:30 
Модератор
Аватара пользователя


11/01/06
5710
Igor Mironchick писал(а):
[*]DVIPS знает лишь о EPS и PS.

Вот тут говорят, что это не так: http://dxdy.ru/viewtopic.php?p=39627#39627
Igor Mironchick писал(а):
Но здесь одна проблема: EPS файлы жутко большие по размерам.

Видимо, вы их как-то не так делаете. В моей последней статье 8 картинок в eps (в основном всякие графы), средний размер картинки 30 Kb.
Igor Mironchick писал(а):
Вопрос номер 2: Растровая графика. Здесь все еще гораздо хуже.

Растровую графику тоже в eps можно засунуть. Практически любым конвертером. Но здесь действительно файлы большого размера получаются.

 Профиль  
                  
 
 Re: LaTeX & Graphics
Сообщение14.12.2006, 18:18 


11/12/06
6
maxal писал(а):
Вот тут говорят, что это не так: http://dxdy.ru/viewtopic.php?p=39627#39627

Просто упущена сама суть моего высказывания. Имхо DVI может отображать растровую графику только благодаря своим плагинам, коих достаточно много. DVI не встраивает графику в себя, что позволяет ему отображать различные форматы. Для этого достаточно примерно следующего:
Код:
\includegraphics[bb=0 0 113 95,height=1.5cm,width=1.5cm]{image.png}

Однако подобные вставки я бы назвал "хардкодингом" - изменили картинку и о_О
maxal писал(а):
Видимо, вы их как-то не так делаете. В моей последней статье 8 картинок в eps (в основном всякие графы), средний размер картинки 30 Kb.
Растровую графику тоже в eps можно засунуть. Практически любым конвертером. Но здесь действительно файлы большого размера получаются.

Я имел ввиду именно преобразование растровой графики в EPS

 Профиль  
                  
 
 
Сообщение14.12.2006, 22:37 
Аватара пользователя


09/05/06
115
Подскажите пожалуйста по теме. Я вставляю скриншоты подобным включением .png картинки c использованием тега \includegraphics. Мне нужно вставить всего где-то с десяток скриншотов, но размер каждого получается от 150 Кб. Кажется я конвертил в PNG из фотошопа, предварительно сделав изображение серым (кстати, есть разница цветная картинка или серая? я привык просто заранее делать картинки такими, какими я хотел бы их видеть при печати дома - условный рефлекс от экономии краски на струйнике, сейчас лазерник имею). И вообще, где почитать про рекомендации по оптимизации при конвертировании форматов и вообще как оптимально вставлять изображения снятые с экрана? Если есть битовая картинка, где только 2 цвета, можно ли её векторизовать и имеет ли это смысл, если хочется сделать размер выходного pdf меньше?

 Профиль  
                  
 
 
Сообщение14.12.2006, 23:51 


11/12/06
6
uni писал(а):
Подскажите пожалуйста по теме. Я вставляю скриншоты подобным включением .png картинки c использованием тега \includegraphics. Мне нужно вставить всего где-то с десяток скриншотов, но размер каждого получается от 150 Кб. Кажется я конвертил в PNG из фотошопа, предварительно сделав изображение серым (кстати, есть разница цветная картинка или серая? я привык просто заранее делать картинки такими, какими я хотел бы их видеть при печати дома - условный рефлекс от экономии краски на струйнике, сейчас лазерник имею).

Для PNG нет разницы GrayScale или Colored изображение. В Фотошопе попробуй такую комбинацию, как Shift + Ctrl + Alt + S. В PNG выбери максималную степень сжатия (хотя здесь стоит ориентирваться на размер картинки в распечатанном виде).
uni писал(а):
И вообще, где почитать про рекомендации по оптимизации при конвертировании форматов и вообще как оптимально вставлять изображения снятые с экрана? Если есть битовая картинка, где только 2 цвета, можно ли её векторизовать и имеет ли это смысл, если хочется сделать размер выходного pdf меньше?

Векторизовать можно, но не факт, что результат будет "толковым". Нужно экспериментировать. А векторизовать растр может любой уважающий себя векторный графический редактор (из freware могу посоветовать Inkscape - чудная программка, хотя до у ма еще не доведенная, но качественно работать это не мешает :) ).
Еще совет, если глубина цвета маленькая, то стоит попробовать TIFF (например, где только 2 цвета)

 Профиль  
                  
 
 
Сообщение30.01.2007, 13:11 


22/12/06
58
Цитата:
Основополагающим в решении данного вопроса является следующий код в преамбуле документа: Код:

\ifx\pdfoutput\undefined % We're not running pdftex
\usepackage[dvips]{graphicx}
\else
\usepackage[pdftex]{graphicx}
\fi

А вот MikTeX такой код не воспринимает, если компилировать LaTeX'ом - картинки нет (даже если есть eps файл), а если pdfTeX'ом - все ОК (конечно если есть pdf или jpg картинка)

 Профиль  
                  
 
 
Сообщение30.01.2007, 18:30 


11/12/06
6
marishka82 писал(а):
А вот MikTeX такой код не воспринимает, если компилировать LaTeX'ом - картинки нет (даже если есть eps файл), а если pdfTeX'ом - все ОК (конечно если есть pdf или jpg картинка)

Я же ведь сказал, что "основополагающим при решении данного вопроса является следующее..."
Но я не сказал, что одного этого вполне достаточно. Суть в том, что это способно натолкнуть на мысль человека, и до всего остального он с успехом дойдет сам.

P.S. Если Вам интересно, как это реализовать практически, то вышлите мне Ваш документ, я отредактирую прембулу... (imironchick at gmail dot com)

 Профиль  
                  
 
 
Сообщение07.03.2007, 18:58 
Аватара пользователя


01/03/07
5
Россия, Ижевск
Помогите. Хочу научиться пользоваться драйвером pdftex т.к. имею предрасположение против eps файлов.
Код:
\documentclass[12pt,a4paper,oneside,fleqn]{article}

%
% Подключаем пакеты.
%
\usepackage[cp1251]{inputenc}       % Подключаем кодировку источника.
\usepackage[english,russian]{babel} % Подключаем кодировки приемника (а также правила переноса и специальные названия).
\usepackage{layout}                 % Подключаем пакет с помощью которого можно узнать текущие параметры листа.
\usepackage{fancyhdr}               % Подключаем пакет для оформления нестандартных колонтитулов.
\usepackage{verbatim}               % Подключаем пакет с расширением окружения verbatim.
\usepackage{shortvrb}               % Подключаем пакет для короткой вставки выражений типа verbatim.
\usepackage[pdftex]{graphicx}        % Подключаем пакет для вставки картинок (с драйвером dvips).
\usepackage{relsize}                % Подключаем пакет для указания относительного размера шрифта.


Код:
  \begin{center}
    \includegraphics{vodnik.png}
  \end{center}


Цитата:
Package graphics Warning: pdftex option does not work with standard TeX.

))) (Style.tex
Writing index file Modding.idx
) (Modding.aux) (F:\Projects\LANG\MiKTeX\tex\latex\cyrillic\t2acmr.fd)
(F:\Projects\LANG\MiKTeX\tex\context\base\supp-pdf.tex
(F:\Projects\LANG\MiKTeX\tex\context\base\supp-mis.tex
loading : Context Support Macros / Miscellaneous (2004.10.26)
)
loading : Context Support Macros / PDF (2004.03.26)
) (ModdingTitle.tex (F:\Projects\LANG\MiKTeX\tex\latex\cyrillic\t2acmtt.fd)
! Undefined control sequence.
\Gread@png ...\setbox \@tempboxa \hbox {\pdfimage
\noexpand \noexpand \noexp...
l.11 \includegraphics{vodnik.png}

? h
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.


Пакет MiKTeX 2.4, компилирую просто "latex %filename%".

 Профиль  
                  
 
 
Сообщение09.03.2007, 14:46 
Заслуженный участник
Аватара пользователя


03/03/06
648
Господа,

если я правильно все понял, то кое-какая информация о рассматриваемой проблеме есть вотздесь

Dogmeat

В директории (..\texmf\doc\dvipdfm), которую я указывал есть примерчик.

 Профиль  
                  
 
 
Сообщение13.03.2007, 04:02 
Аватара пользователя


01/03/07
5
Россия, Ижевск
Я уже разобрался со своей проблемой самостоятельно. Просто нужно было сказать мне, что использование драйвера по умолчанию (dvips) подразумевает компилирование посредством выполнения latex, а использование драйвера pdftex подразумевает компилирование посредством выполнения pdflatex.

P.S. При использовании драйвер pdftex рисунки можно хранить во многих популярных расширениях безо всяких указаний вроде BoundingBox (в т.ч. без *.bb файлов), например в PNG или JPEG.

P.P.S. reader_st, все это я рассматривал, "примерчики" я назвал бы дурными.

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

Доки

Наберите в поисковике "LaTeX Владимир Сюткин", он вам выдаст ссылки на несколько легких документов в PDF формате, в которых все очень компактно и лаконично описано.

 Профиль  
                  
 
 
Сообщение13.03.2007, 12:28 
Заслуженный участник
Аватара пользователя


03/03/06
648
Dogmeat

Примерчики действительно мудреные.

А за

Цитата:
Наберите в поисковике "LaTeX Владимир Сюткин", он вам выдаст ссылки на несколько легких документов в PDF формате, в которых все очень компактно и лаконично описано.


спасибо :wink:

 Профиль  
                  
 
 Re: LaTeX & Graphics
Сообщение14.07.2009, 15:08 


14/07/09
4
Привет всем.
Немного не разобрался всё же с графикой. У меня есть картинки как в pdf, png, так и в eps для верстки журнала. Исходник должен быть обязательно PDF - файл. Гм, что делать?

 Профиль  
                  
 
 Re: LaTeX & Graphics
Сообщение14.07.2009, 17:49 
Модератор
Аватара пользователя


11/01/06
5710
non
Используйте pdflatex и подключайте картинки в формате pdf.

 Профиль  
                  
 
 Re: LaTeX & Graphics
Сообщение15.07.2009, 09:23 


29/04/09
103
non в сообщении #228749 писал(а):
Немного не разобрался всё же с графикой. У меня есть картинки как в pdf, png, так и в eps для верстки журнала.

ИМХО, нужно держать графику в каком-то одном формате.
Если рисунок изначально векторный, то лучше eps.
Если рисунок растровый, то лучше в pdf.
В итоге, все векторые рисунки в eps, все растровые в pdf. Включение растровой графики в ps рассматривалось
когда-то как плохой тон, поэтому держать растровые рисунки в eps формате нецелесообразно. Если всё-таки нужно
вставлять в документ растровые рисунки, то лучше использовать pdflatex.

non писал(а):
Исходник должен быть обязательно PDF - файл. Гм, что делать?

Исходник не может быть в pdf. Для LaTeX'а исходником является обычный текстовой файл.
Возможно имелись в виду рисунки, тогда рекомендую такую последовательность:
Код:
(векторнй рисунок): eps              ->                pdf
                     ^                                  ^
                   оригинал       epstopdf     для работы с pdflatex.
(растровый рисунок): ANY             ->                pdf
                      ^                                 ^
                   орининал       convert       для работы с pdflatex.

Когда все рисунки в формате pdf их можно включать в документ и обрабатывать его с помощью pdflatex.

 Профиль  
                  
 
 Re: LaTeX & Graphics
Сообщение20.07.2009, 11:53 


14/07/09
4
Немного ошибся, файл, который нужно получить в итоге, должен быть в PDF формате, а не DVI.

-- Пн июл 20, 2009 13:35:13 --

maxal в сообщении #228784 писал(а):
non
Используйте pdflatex и подключайте картинки в формате pdf.


Дело в том, что я верстаю общий научный журнал, и мне присылают различные люди нацчные статьи вместе с картинками в архиве, и заставить 10-20 человек переделывать рисунки из .eps в .pdf или .png практически невозможно, как и самому конвертить порядка сотни изображений. Вот в этом то и проблема.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.

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



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group