
Quero renovar o figure
ambiente porque quero que a legenda seja Supplementary Figure
em vez de Figure
. Estou usando a nature
documentclass 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.