
Я хочу обновить figure
среду, потому что я хочу, чтобы заголовок был Supplementary Figure
вместо Figure
. Я использую nature
documentclass и нашел фрагмент кода:
\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), трудно сказать, что вы сделали неправильно.