Несовместимость пакета svg и субтитров

Несовместимость пакета svg и субтитров

Есть ли способ использовать пакет svg, когда пакет subcaption также включен? Пакет svg использует пакет subfig, что, по-видимому, приводит к конфликту. Но, похоже, здравый смысл подсказывает, что пакет subcaption предпочтительнее пакета subfig.

решение1

Вэтот ответрешение состоит в том, чтобы подавить нагрузку пакета subfigэтим

\expandafter\def\csname [email protected]\endcsname{}

команда. К сожалению, у меня это работает только до TeX Live 2015.

решение2

Я отправил электронное письмо текущему ответственному за пакет svg, и он ответил следующим решением:

\RequirePackage{scrlfile}
\PreventPackageFromLoading{subfig}
\documentclass{article}
\usepackage{subcaption}
\usepackage{svg}
\usepackage{hyperref}
\begin{document}
test
\end{document}

Работает как по маслу на MiKTeX на Windows, я не пробовал другие ОС или дистрибутив TeX. Новая версия пакета, svgвероятно, будет выпущена очень скоро, в которой эта проблема будет исправлена.

решение3

Крайне грубый обходной путь:

Скопируйте svg.styфайл в папку вашего проекта и просто закомментируйте или удалите следующую строку (строка №40):

\@ifpackageloaded{subfig}{}{\RequirePackage{subfig}}%

Пока что это не приводит к ошибкам и корректно компилирует файлы svg. Также работает, когда я размещаю \includesvgфайлы изображений svg внутри subcaptionсреды.

решение4

Примерно через час работы я нашел решение в официальной документации.

Подзаголовок пакета:https://mirror.hmc.edu/ctan/macros/latex/contrib/caption/subcaption.pdf

Обратите внимание: этот пакет несовместим с пакетами subfigure и subfig.

Следующий код latex для подрисунков. Но перед этим нужно включить

\usepackage{subcaption} 

\begin{figure}
    \begin{minipage}[b]{.5\linewidth}
        \centering
        \includegraphics[]{fig-1.pdf}
        \subcaption{A subfigure}\label{fig:1a}
    \end{minipage}%
    \begin{minipage}[b]{.5\linewidth}
        \centering
            \includegraphics[]{fig-2.pdf}
        \subcaption{Another subfigure}\label{fig:1b}
    \end{minipage}
    \caption{A figure}\label{fig:1}
\end{figure}

Если вы случайно включили какой-то пакет вроде следующего

\usepackage{subfigure}
\usepackage{subfig}

Все, что вам нужно, это прокомментировать выше; subfigureи subfigне совместимы с subcaption. Их удаление решит вашу проблему.

   %\usepackage{subfigure}
    %\usepackage{subfig}

Связанный контент