Страница PDF в виде графики

includegraphics с выбором страницы и pdfpages для приложений.

Страница PDF в виде графики

PDF — лучший формат рисунков, который может использовать LaTeX. В отличие от PNG или JPG, PDF-файл хранит векторные данные, поэтому линии и метки остаются четкими при любом уровне масштабирования, а шрифты внутри него перемещаются вместе с файлом. Такие инструменты, как Matplotlib, Inkscape и draw.io, экспортируют PDF, а это означает, что диаграмма, которую вы нарисовали в другом месте, может попасть прямо в ваш документ. Но PDF-файлы имеют одну особенность, которой нет у изображений: PDF-файл может содержать много страниц, и вам нужно указать LaTeX, какая из них вам нужна.

Вытягивание одной страницы из многостраничного PDF-файла

Пакет \includegraphics пакета graphicx принимает параметр page наряду с обычными ключами изменения размера:

\includegraphics[page=1,width=\textwidth]{diagram.pdf}

Здесь page=1 выбирает первую страницу diagram.pdf, а width=\textwidth масштабирует эту страницу до полной ширины текстового блока. Если вы опустите page, LaTeX автоматически использует первую страницу, что обычно и является тем, что вам нужно, но может вас удивить, когда сценарий построения графиков записывает несколько фигур в один файл. Вы можете включить один и тот же PDF-файл несколько раз с разными значениями page, по одному разу для каждой среды рисунка, каждый со своим собственным заголовком и меткой.

Оберните команду в обычную среду figure, чтобы она получила заголовок и номер, точно так же, как для любого другого изображения. Включенная страница обрезается до собственной ограничивающей рамки, поэтому, если исходный PDF-файл имеет большие поля, фигура будет выглядеть заполненной. Повторно экспортируйте с плотной ограничивающей рамкой или обрежьте его один раз с помощью такого инструмента, как «pdfcrop», вместо того, чтобы бороться с пробелами с помощью отрицательного интервала.

Вставка целых документов с pdf-страницами

Иногда фигуру вообще не хочется. Вы хотите, чтобы в ваш документ были дословно вставлены целые страницы: дополнительный PDF-файл, подписанная форма, опубликованная анкета в приложении к диссертации. Это задача пакета pdfpages:

\usepackage{pdfpages}
\includepdf[pages=-]{supplement.pdf}

Значение pages=- означает каждую страницу. Вы также можете написать pages=2-5 для диапазона или pages={1,3,7} для определенного списка. Каждая вставленная страница заполняет собственную выходную страницу, сохраняет исходный макет и участвует в нумерации страниц вашего документа, поэтому приложение читается непрерывно. Добавьте параметр pagecommand={}, если верхние или нижние колонтитулы из вашего класса документа печатаются поверх вставленных страниц, и вы хотите их подавить или настроить.

Какой инструмент для какой работы

Используйте \includegraphics[page=...], когда содержимое PDF должно вести себя как рисунок, то есть оно плавает, имеет подпись и на него есть ссылки из текста. Используйте \includepdf, когда страницы должны стоять отдельно в полном размере. Распространенной ошибкой является использование pdfpages для диаграммы, что дает вам полную страницу без подписи и ссылки, которую вы не можете цитировать с помощью \ref. Если читатели когда-нибудь увидят фразу «см. рисунок 3», значит, она принадлежит к среде рисунков.

Вернуться к Флоат-хирургия