Renew Figure Окружающая среда Природа Documentclass

Renew Figure Окружающая среда Природа Documentclass

Я хочу обновить figureсреду, потому что я хочу, чтобы заголовок был Supplementary Figureвместо Figure. Я использую naturedocumentclass и нашел фрагмент кода:

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

в nature.cls. Моя идея была включить код

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

в моем документе, но очевидно, что это не работает. Есть ли способ изменить среду рисунка только для конкретного документа?

решение1

Ваш патч отлично работает здесь:

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

Результат: «Дополнительный рисунок 1 Рисунок».

Поскольку вы предоставили нам только фрагменты кода вместо полного документа (MWE), трудно сказать, что вы сделали неправильно.

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