如何自定义补充材料的标题?

如何自定义补充材料的标题?

我有两个 tex 文件,即main.texsupplementary.tex

对于supplementary.tex,我有三个要求:

  1. 图表标题以前缀“图 S”开头。因此我设置了,
\documentclass{article}
\usepackage{xr-hyper}
\usepackage{hyperref}
\usepackage{cleveref}
\renewcommand{\figurename}{Figure S}
\begin{document}
% some supplementary materials
\end{document}
  1. 标题前缀和索引之间没有空格。具体来说,我希望标题中有“图 S1”而不是“图 S 1”。所以我设置,
\def\fnum@figure{\figurename\thefigure}
  1. 图表的引用以“补充图表”开头。也就是说,当我们引用一个图表时,比如说第一个图表,我想要“补充图表 1”,在这里我使用\autoref命令并设置
\renewcommand{\figureautorefname}{Supplementary Figure}

当我引用一个数字时,我确实

\autoref{figurelabel}

对于此supplementary.tex文件,所有要求均已实现。

对于main.tex,我有两个要求:

  1. 补充资料中的图表引用也以前缀“图 S”开头。因此我设置
\documentclass{article}
\usepackage{xr-hyper}
\usepackage{hyperref}
\usepackage{cleveref}
\externaldocument[supp-]{supplementary} % for cite the external supplementary tex file
\renewcommand{\figureautorefname}{Figure S}

当我在这个主文件中引用补充资料中的数字时,我确实

\autoref{supp-figurelabel}

然而,这导致属于的图形的引用main.tex也以“图 S”而不是“图”开头

  1. 补充资料中的图表引用前缀和标题之间没有空格。我无法做到这一点,原因与上一个案例类似。

综上所述,对于supplementary.tex,一切似乎都很好。但我该如何实现 的要求呢main.tex

答案1

感谢您澄清的结构supplementary.tex并指出Supplementary Figure 1Supplementary Figure 2等将出现在章节标题中,而不是“普通”的交叉引用标注中。

由于 中的交叉引用需求supplementary.tex定义非常狭窄,我认为设置一个额外的计数器变量并\refstepcounter在每个\caption语句后增加它(通过 ),并将一个单独的 关联\label到额外计数器的每个值是有意义的。如下面的代码所示,这相当容易实现,而且非常重要的是,它不会以任何方式干扰通常的\label\autoref\cref措施。

那么,下面是我设置的方法supplementary.tex

在此处输入图片描述

\documentclass{article}
\usepackage{xr-hyper}
\usepackage[colorlinks,allcolors=blue]{hyperref}
\usepackage[nameinlink,noabbrev,capitalize]{cleveref}

\renewcommand\thefigure{S\arabic{figure}} % modify \thefigure, *not* \figurename
\newcounter{myfig} % create an extra counter variable

\begin{document}

\section*{Supplementary Figure \ref*{myfig:a}}
\begin{figure}[h]
\caption{A supplementary figure}
\label{fig:a} 
\refstepcounter{myfig}\label{myfig:a} % <-- increment and \label the extra counter
\end{figure}

\section*{Supplementary Figure \ref*{myfig:b}}
\begin{figure}[h]
\caption{Another supplementary figure}
\label{fig:b} 
\refstepcounter{myfig}\label{myfig:b} % <-- increment and \label the extra counter
\end{figure}

\end{document}

当然,如果您想通过呼叫来交叉引用数字\cref,您当然可以这样做。


以下是我的结构main.tex

在此处输入图片描述

\documentclass{article}
\usepackage{xr-hyper}
\usepackage[colorlinks,allcolors=blue]{hyperref}
\usepackage[nameinlink,noabbrev,capitalize]{cleveref}
\externaldocument[supp-]{supplementary} 

\begin{document}
\noindent
\cref{fig:1}, \cref{supp-fig:a,supp-fig:b}

\begin{figure}[h]
\caption{A main figure}
\label{fig:1}
\end{figure}
\end{document}

相关内容