Renovar Figura Ambiente Natureza Documentclass

Renovar Figura Ambiente Natureza Documentclass

Quero renovar o figureambiente porque quero que a legenda seja Supplementary Figureem vez de Figure. Estou usando a naturedocumentclass e encontrei o trecho de código:

\renewenvironment{figure}{\let\caption\NAT@figcaption}{}
    
\newcommand{\NAT@figcaption}[2][]{\AtEndDocument{%
    \refstepcounter{figure}
    \ifthenelse{\value{figure}=1}{
        \newpage\noindent%
%        \rule{\textwidth}{1pt}
    }{
        \par\vfill
    }
    \sffamily\noindent\textbf{Figure \arabic{figure}}\hspace{1em}#2}
    }

no nature.cls. Minha ideia era incluir o código

\renewenvironment{figure}{\let\caption\NAT@figcaption}{}
\renewcommand{\NAT@figcaption}[2][]{\AtEndDocument{%
    \refstepcounter{figure}
    \ifthenelse{\value{figure}=1}{
        \newpage\noindent%
%        \rule{\textwidth}{1pt}
    }{
        \par\vfill
    }
    \sffamily\noindent\textbf{Supplementary Figure \arabic{figure}}\hspace{1em}#2}
    }

no meu documento, mas obviamente isso não funciona. Existe uma maneira de alterar o ambiente da figura apenas para um documento específico?

Responder1

Seu patch funciona bem aqui:

\documentclass{nature}

\makeatletter
\renewcommand{\NAT@figcaption}[2][]{\AtEndDocument{%
    \refstepcounter{figure}
    \ifthenelse{\value{figure}=1}{
        \newpage\noindent%
%        \rule{\textwidth}{1pt}
    }{
        \par\vfill
    }
    \sffamily\noindent\textbf{Supplementary Figure \arabic{figure}}\hspace{1em}#2}
    }
\makeatother

\begin{document}
Some text
\begin{figure}
\caption{A figure}
\end{figure}
\end{document}

O resultado é: "Figura Suplementar 1 Uma figura"

Como você nos forneceu apenas trechos de código em vez de um documento completo (MWE), é difícil dizer o que você fez de errado.

informação relacionada