SVG в LaTeX: сохраните фигуры и наберите подписи
Выберите PDF или PDF вместе с LaTeX для SVG-иллюстрации. Сохраняйте редактируемые подписи, учитывайте зависимости Inkscape и проверяйте итоговый PDF документа.
На этой странице
- Выберите файлы для документа
- Способ 1: экспорт обычного PDF
- Способ 2: экспорт графики вместе с текстом LaTeX
- Способ 3: экспорт пакетом svg при компиляции
- Диагностируйте пропавшую часть перед сменой форматов
- Восстанавливайте лишь иллюстрацию, которой это нужно
- Проверьте собранный документ и сохраните источники
- Частые вопросы
- Источники
Чтобы использовать иллюстрацию SVG в LaTeX, решите, какими средствами будут набираться подписи. Экспортируйте обычный PDF, если существующая типографика иллюстрации подходит. Используйте PDF вместе с LaTeX, если подписи должен набирать LaTeX наряду с текстом документа.
Пакет svg может автоматизировать экспорт через Inkscape и затем включить полученные файлы. Он не устраняет преобразование, а управляет этим шагом за вас. Обзор пакета CTAN описывает разделение экспортированной графики и текста, отрисовываемого LaTeX.
Для подготовленной иллюстрации полезно спросить, сохранятся ли фигуры и слова при следующей правке. Храните SVG-оригинал, выберите обработку подписей и проверяйте собранный документ при нужном размере. Если документ генерируется на Python, следуйте отдельному процессу размещения графики SVG в PDF ReportLab с явными размерами и проверкой готового файла.
Выберите файлы для документа
| Ваше требование | Способ передачи | Что вы поддерживаете |
|---|---|---|
| Сохранить существующий вид иллюстрации | Экспорт обычного PDF и использование graphicx | SVG-оригинал и экспортированный PDF |
| Дать LaTeX набирать подписи рисунка | Экспорт PDF вместе с LaTeX | SVG-оригинал и соответствующая пара PDF/LaTeX |
| Обновлять экспорты при компиляции документа | Пакет svg с Inkscape | SVG-исходник и окружение компиляции |
Например, возьмём небольшую иллюстрацию линзы рядом с карточкой. Её две подписи — просто «Lens» и «Card». В примере нет размеров, измеренных лучей или результатов графиков.
Рецензент просит заменить «Card» на «Target card». Графику не нужно перерисовывать, но более длинной подписи требуется место. Это полезный тест правки: можно ли изменить слова без трассировки форм букв и помещается ли новая подпись?

Способ 1: экспорт обычного PDF
Используйте его, если подписи уже выглядят правильно и не должны наследовать типографику документа.
Руководство Inkscape по экспорту PDF описывает File → Save a Copy, выбор PDF и опций вывода текста. Сохраните исходный SVG. Для обычного текста с поиском проверьте встраивание шрифта; перевод букв в контуры фиксирует форму, но убирает их роль редактируемого текста.
Сохраните этот пример как lens-card.pdf рядом с основным .tex-файлом. В проекте LaTeX, создающем PDF, базовая схема включения:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics[width=0.7\linewidth]{lens-card.pdf}
\end{document}Пакет graphicx и \includegraphics — документированный способ включения изображений в руководстве Overleaf. Ширина здесь — пример макета, а не обязательный размер рисунка.
Откройте экспортированный PDF перед добавлением в документ. Убедитесь, что оба объекта и подписи присутствуют. После компиляции проверьте рисунок снова: подпись, читаемая на иллюстрации во всю страницу, может быть слишком мелкой в узкой колонке.
Если меняете подпись в SVG, экспортируйте PDF заново. Используйте однозначные имена, чтобы документ не продолжал брать старую копию для передачи.
Способ 2: экспорт графики вместе с текстом LaTeX
Используйте его, если подписи должен набирать LaTeX. Обзор PDF вместе с LaTeX объясняет раздельную обработку рисунка и текста, позволяющую тексту рисунка использовать типографику документа.
В диалоге экспорта PDF Inkscape выберите Omit text in PDF and create LaTeX file, как описано в руководстве экспорта. Храните полученные lens-card.pdf и lens-card.pdf_tex вместе. Открытие одного PDF не покажет исключённые подписи.
Руководство пакета svg, раздел 2.5, описывает \includeinkscape для уже экспортированных Inkscape файлов. Для пары рядом с основным .tex-файлом схема включения:
\documentclass{article}
\usepackage{svg}
\begin{document}
\includeinkscape[width=0.7\linewidth]{lens-card.pdf_tex}
\end{document}Она использует подготовленную пару, не поручая сборке документа экспорт SVG. Сохраняйте оба файла при переносе проекта.
Для примера с линзой и карточкой сравните размещение собранных подписей с оригиналом иллюстрации. Более широкий шрифт документа может сдвинуть «Target card» к линзе, хотя экспортированная геометрия не менялась. Оставляйте достаточно пространства около подписей и проверьте более длинную формулировку перед завершением макета.
Если буквы уже переведены в контуры, это геометрия графики. Сохраните или воссоздайте нужную подпись настоящим текстом в редактируемом оригинале, если хотите набор через LaTeX. Руководство по шрифтам SVG объясняет различие редактируемого текста и букв в контурах.
Способ 3: экспорт пакетом svg при компиляции
При повторных правках иллюстрации автоматизированный способ может быть удобен:
\documentclass{article}
\usepackage{svg}
\begin{document}
\includesvg[width=0.7\linewidth]{lens-card}
\end{document}Здесь исходник — lens-card.svg. Руководство пакета требует работающий исполняемый файл Inkscape для автоматического экспорта и описывает shell escape для его вызова. Для доверенного локального проекта документированный вызов:
pdflatex --shell-escape main.texShell escape разрешает внешние команды; используйте его только с доверенными исходниками проекта. Если окружение его не допускает, подготовьте экспорты вне сборки и используйте один из предыдущих способов.
Настройка пакета inkscapelatex=true отделяет текст для отрисовки LaTeX и используется по умолчанию. Задайте inkscapelatex=false у \includesvg, если нужен текст, экспортированный Inkscape. Выберите поведение осознанно перед настройкой размеров подписей.
Это документированные схемы включения. Проверьте выбранный способ в небольшой копии своего проекта перед применением к длинному документу или общему шаблону.
Диагностируйте пропавшую часть перед сменой форматов
| Что вы видите | Что проверить сначала |
|---|---|
| SVG существует, но созданного PDF нет | Выполнился ли экспорт, доступен ли Inkscape и правилен ли путь вывода |
| Графика появляется, а подписи отсутствуют | Не включён ли только PDF из пары PDF/LaTeX |
| Подписи перекрываются или имеют неожиданные интервалы | Выбранный процесс текста, шрифт документа и доступное место подписей |
| PDF даёт ошибки, похожие на текстовые | Не передан ли он в \input вместо команды включения изображения |
| У рисунка неожиданное пустое пространство или обрезка | Область экспорта и границы страницы графики |
Следуйте первой относящейся к проблеме ошибке компилятора перед изменением нескольких настроек. При отсутствии экспортированного файла проверьте его на диске. При неверном расположении подписи проверьте собранный рисунок. Это разные части процесса.
В проект Overleaf загрузите файлы выбранного способа. Подготовленный PDF или соответствующая пара экспортированных файлов избавляют от необходимости экспорта SVG при компиляции. Не предполагайте одинаковую доступность внешних инструментов в локальной установке, собственном сервере и размещённом проекте.
Восстанавливайте лишь иллюстрацию, которой это нужно
Если редактируемый SVG уже есть, используйте его. Если исходник — числовой график, заново создайте рисунок из данных и кода построения. Сохраняйте уравнения и научные подписи текстом; трассировка пикселей не восстанавливает смысл. Для рисунка на Python следуйте процессу композиции графика Matplotlib и SVG-графики, чтобы отдельный логотип оставался контурами перед экспортом документа.
Векторизация полезна в более узком случае: оригинальный рисунок утрачен и осталась лишь растровая копия простого иллюстративного объекта. Обрежьте копию до графики, исключив подписи и данные из трассировки. С векторизатором научных иллюстраций PerfectVector просмотрите графику в векторных фигурах и проверьте тонкие очертания, пустые отверстия и нежелательные фоновые области. Скачайте SVG, добавьте исходные подписи отдельно в редакторе и используйте выбранный способ передачи в LaTeX.
Для примера с линзой и карточкой восстановление касалось бы нарисованной линзы или очертания карточки. Слова принадлежат исходнику подписей. Векторный вариант всё ещё требует проверки после экспорта PDF и включения в документ; он не предоставляет измеренной геометрии и не гарантирует соответствия правилам публикации.
Руководство по подготовке линейной графики разбирает очистку растрового исходника. Если единственный сохранившийся файл — PDF, руководство PDF в SVG поможет отличить существующий вектор от сканированной страницы перед трассировкой. Общий выбор источника описан в статье что восстанавливает векторизация изображения.
Проверьте собранный документ и сохраните источники
Выполните тест правки только подписи в копии. Замените «Card» на «Target card», обновите экспорт при необходимости и скомпилируйте документ. Проверьте написание и положение текста при окончательной ширине рисунка. Затем восстановите нужную формулировку.
Также проверьте отверстия рисунка, тонкие линии и границы экспорта. Руководство Inkscape по экспорту PDF объясняет возможную растеризацию фильтров, поэтому одно расширение PDF не подтверждает векторную геометрию каждой видимой части.
Храните редактируемый SVG и файлы документа вместе. Для пары PDF/LaTeX передавайте оба файла. Заново откройте именно ту копию проекта, которой намерены делиться, и повторите проверку рисунка там.
Частые вопросы
Можно ли поместить SVG прямо в includegraphics? Для описанных процессов сначала экспортируйте поддерживаемый графический файл, например PDF, или используйте пакет svg для управления экспортом Inkscape. Пакет всё равно включает экспортированную графику.
Почему в экспортированном PDF нет подписей? Экспорт PDF вместе с LaTeX исключает текст подписей из PDF. Включите соответствующий компонент LaTeX для сборки рисунка либо экспортируйте обычный PDF, если нужен один автономный файл изображения.
Нужен ли Inkscape при каждой сборке документа? Автоматический экспорт SVG требует его в окружении сборки. Ранее экспортированный PDF или пара PDF/LaTeX могут включаться без выполнения этого экспорта при компиляции.
Стоит ли трассировать скриншот графика для LaTeX? Заново создавайте числовые графики из данных и исходника построения. Оставьте трассировку для подходящей иллюстративной графики с утраченным редактируемым исходником и поддерживайте подписи отдельно.
Источники
- CTAN — SVG package — Автоматический экспорт Inkscape и отдельный текст, отрисовываемый LaTeX.
- Inkscape — Exporting a PDF File — Копии PDF, варианты вывода текста, фильтры и область экспорта.
- Overleaf — LaTeX code for including images — Пакет graphicx и команды включения графики.
- CTAN — SVG and Inkscape workflow overview — Подход PDF вместе с LaTeX к типографике документа.
- Falk Hanisch and Philip Ilten — The svg package manual — Включение готового экспорта, требования автоматического экспорта и варианты отрисовки текста.
Выберите способ набора подписей, затем проверьте один полный рисунок в документе. Если осталась лишь растровая иллюстрация, подготовьте вариант векторной графики, проверьте фигуры, восстановите подписи отдельно и проверьте собранный PDF.
Ещё из блога

SVG в Typst: разместите графику и проверьте рисунок
Разместите SVG в Typst через нативные функции image и figure. Проверьте размеры, подписи, выравнивание в строке и экспортированный PDF перед передачей документа.

Текст SVG foreignObject: пропавшие подписи при экспорте
Исправьте подписи SVG, которые видны в браузере, но исчезают при экспорте. Сравните foreignObject с обычным текстом SVG, проверьте пространства имён и сохраните иллюстрацию.