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, Супермодераторы



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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