合并到另一个 tex 后,如何保留图形索引号/样式和 \hyperref?

合并到另一个 tex 后,如何保留图形索引号/样式和 \hyperref?

要包含到另一个文档(main.tex)中的文档(supp.tex)具有以“S”开头的索引样式:

\renewcommand{\thefigure}{S\arabic{figure}}

添加到主文本后如何保留这种命名风格?

它包含在standalone包中,主要文本的 MWE:

\documentclass[review, authoryear]{elsarticle}

\usepackage{standalone}

\begin{document}
    \include{supp}
\end{document}

(比如main.tex中有图1、2、3,supp.tex中有图S1、S2、S3,将supp.tex包含到main.tex中之后,这些图就变成了图4、5、6,但是我想保留这些图的名称为图S1、S2、S3。)

答案1

figure可以定义一个新的计数器,用于在包含之前存储计数器的旧值supp.tex,并在退出包含之后恢复为之前的值和样式:

文件main.tex

\documentclass[review, authoryear]{elsarticle}

\usepackage[hidelinks, colorlinks, unicode]{hyperref}
\usepackage{standalone}

\begin{document}

    \begin{figure}[h]
        \centering
        \includegraphics[width=.1\textwidth]{img1.jpeg}
        \caption{test}
        \label{fig:fig_1}
    \end{figure}

    Here, a test \hyperref[fig:fig_1]{Figure 1}, and a test for \hyperref[fig:fig_s1]{Figure S1}, and a test for \hyperref[fig:fig_2]{Figure 2}.

    \newcounter{tmpfigure}
    \setcounter{tmpfigure}{\value{figure}}
    \input{supp}
    \renewcommand{\thefigure}{\arabic{figure}}
    \setcounter{figure}{\value{tmpfigure}}

    \begin{figure}[h]
        \centering
        \includegraphics[width=.1\textwidth]{img1.jpeg}
        \caption{test}
        \label{fig:fig_2}
    \end{figure}

\end{document}

文件supp.tex

\documentclass[review, authoryear]{elsarticle}

\usepackage{graphicx}
\usepackage[hidelinks, colorlinks, unicode]{hyperref} 

\begin{document}

    % add "S" before figure index and let hyperref recognize
    \renewcommand{\thefigure}{S\arabic{figure}}
    \renewcommand{\theHfigure}{S\arabic{figure}} 

    % index figure from 1
    \setcounter{figure}{0}

    \begin{figure}
        \includegraphics[width = \textwidth]{figure/fmri}
        \caption{For example}
        \label{fig:fig_s1}
    \end{figure}

\end{document}

结果是:

在此处输入图片描述

请注意,我替换\include\input(并添加[h]到环境figure)以避免分页。

相关内容