pacote svg e incompatibilidade de sublegenda

pacote svg e incompatibilidade de sublegenda

Existe uma maneira de usar o pacote svg quando o pacote subcaption também está incluído? O pacote svg usa o pacote subfig, o que aparentemente leva a conflitos. Mas parece ser de bom senso que o pacote subcaption seja preferido ao pacote subfig.

Responder1

Emesta respostaa solução é suprimir a carga do subfigpacote desta forma

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

comando. Infelizmente, isso funciona para mim apenas até o TeX Live 2015.

Responder2

Enviei um email para o atual mantenedor do pacote svg e ele respondeu com a seguinte solução:

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

Funciona perfeitamente no MiKTeX no Windows, não tentei outro sistema operacional ou distribuição TeX. É provável que uma nova versão do svgpacote seja lançada em breve, na qual esse problema será corrigido.

Responder3

Solução alternativa extremamente grosseira:

Copie o svg.styarquivo para a pasta do seu projeto e simplesmente comente ou remova a seguinte linha (linha #40):

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

Até agora, isso não produz erros e compila corretamente os arquivos SVG. Também funciona quando eu \includesvgcoloco arquivos de imagem SVG dentro de um subcaptionambiente.

Responder4

Após cerca de 1 hora de trabalho, encontrei a solução na documentação oficial

Sublegenda do pacote:https://mirror.hmc.edu/ctan/macros/latex/contrib/caption/subcaption.pdf

Observação: este pacote é incompatível com os pacotes subfigure e subfig.

O seguinte código de látex para subfiguras. Mas antes disso você precisa incluir

\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}

Se você incluiu algum pacote como o seguinte

\usepackage{subfigure}
\usepackage{subfig}

Tudo que você precisa é comentar o acima; subfiguree subfignão são compatíveis com subcaption. Removê-los resolverá seu problema.

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

informação relacionada