Избавьтесь от пустого пространства вокруг вывода PDF-файла с рисунком Matlab - PullRequest
49 голосов
/ 27 сентября 2010

Я хотел бы использовать PDF-версии своих графиков Matlab в документе LaTeX. Я сохраняю рисунки, используя команду «saveas» с опцией PDF, но я получаю огромное пустое пространство вокруг своих графиков в файлах PDF. Это нормально? Как я могу избавиться от этого? Автоматически, конечно, так как у меня «много» участков.

Ответы [ 16 ]

1 голос
/ 07 июля 2014

Для пользователей Linux следующая команда может помочь

ps2epsi <input.eps> <output.eps>

как предложено здесь

и если вы собираетесь использовать латекс, используйте латексную команду \includegraphics* вместо \includegraphics

1 голос
/ 11 апреля 2014

Вы также можете сделать это в самом латексе.

  1. открыть файл eps с помощью notpad
  2. перейти к первой строке (%! PS-Adobe-3.1 EPSF- 3.0 )

Если последний номер 3, поиск "rf" и затем прокомментируйте эту строку, набрав % в начале строки

иначе, если последний номер равен 2, поиск "pr", а затем прокомментировать эту строку, набрав % в начале строки

1 голос
/ 20 мая 2011

Это работает для отображения:

set(gca, 'LooseInset', get(gca, 'TightInset'));

Должно работать и для печати. ​​

0 голосов
/ 07 июля 2014

сохранить график в формате .eps в Matlab, затем выполнить команду esptopdf под Linux.Это не требует дополнительного кодирования.Нужна только машина Linux.

0 голосов
/ 05 июня 2014

Следующий двухэтапный подход работал для меня (используя pdfcrop). Предполагается, что у вас установлены все pdf-инструменты и PDFcrop (http://pdfcrop.sourceforge.net/)

В MATLAB введите

print -deps -r600 figure.eps

А потом в командной строке

./cropEpsFigure.sh figure

Используя следующий файл: cropEpsFigure.sh

#!/bin/bash
/usr/texbin/epstopdf "$1.eps"
/usr/texbin/pdfcrop "$1.pdf"
/usr/local/bin/pdftops -eps "$1-crop.pdf"`
0 голосов
/ 04 сентября 2012

Вы можете использовать эту команду с Inkscape, если у вас есть PDF-файлы с дополнительными пробелами.

Inkscape.exe --file SomePDFWithWhitespace.pdf --export-pdf=SomePDFWithWhitespaceRemoved.pdf --export-area-drawing

Хотя обратите внимание, что этот метод все еще оставляет некоторые пробелы, потому что «область рисования» самой экспортированной фигуры содержит некоторые пробелы.

Эффекты использования Inkscape показаны ниже:

До: (рисунок сохранен с помощью Файл -> Сохранить как)

image Save As">

После: (с использованием Inkscape)

PDF Cropped using the inkscape command shown above

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...