如何在具有相同参考书目文件的两个独立文档中获得相同的引用编号?

如何在具有相同参考书目文件的两个独立文档中获得相同的引用编号?

我正在准备向一家期刊提交论文,该期刊要求我将表格作为单独的 pdf 文件提交。我将表格编译为独立文档,其参考书目文件与主要论文相同。表格 pdf 中的大多数引用(例如\cite{foo}和)\cite{bar}被替换为不同的数字,这些数字与主要论文中的数字不同。这是意料之中的,但这不是我需要的。我希望表格 pdf 中的引用编号与论文中的主要参考文献相匹配。目前我有以下临时解决方案:

  • 将表格与主文件一起编译,但\pagebreak将表格页从文件中删除并单独保存。

这不符合我的口味。有什么方法可以在两个单独编写的不同文档中强制使用相同的引用编号吗?

我正在biblatex与 lualatex 一起使用。

梅威瑟:

table.bbl从编译另一个文档后生成的 bbl 文件复制而来的文件。

\begin{thebibliography}{10}

\bibitem{hebb_organization_2005}
Hebb DO (2005) {\em The {Organization} of {Behavior}: {A} {Neuropsychological}
  {Theory}}.
\newblock (Psychology Press).
\newblock Google-Books-ID: uyV5AgAAQBAJ.

\bibitem{takeuchi_synaptic_2014}
Takeuchi T, Duszkiewicz AJ, Morris RGM (2014) The synaptic plasticity and
  memory hypothesis: encoding, storage and persistence.
\newblock {\em Phil. Trans. R. Soc. B} 369(1633):20130288.
\newblock 00078.

\end{thebibliography}

table.tex文件。

\documentclass[crop=false]{standalone}
\usepackage{fontenc}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{colortbl}

\newcommand\SEB[1]{\textsubscript{#1}}
\def\RC{\rowcolor{gray!10}}
\renewcommand{\arraystretch}{1.2}
\usepackage[ ]{biblatex}

% This trick is from https://tex.stackexchange.com/a/426982/8087
\makeatletter
\newcommand*{\importbibfrom}[1]{%
  \def\blx@bblfile{%
    \blx@secinit
    \begingroup
    \blx@bblstart
    \InputIfFileExists{#1.bbl}
      {\blx@info@noline{... file '#1.bbl' found}%
       \global\toggletrue{blx@bbldone}}
      {\blx@info@noline{... file '#1.bbl' not found}%
       \typeout{No file #1.bbl.}}%
    \blx@bblend
    \endgroup
    % global sorting as this is called at BeginDocument
    \csnumgdef{blx@labelnumber@\the\c@refsection}{0}}}
\global\let\blx@rerun@biber\relax
\makeatother

\importbibfrom{table}

\begin{document}

\begin{tabular}{llp{0.1\linewidth}p{.15\linewidth}}
    \toprule
    \textbf{Symbol} & \textbf{Parameter} & \textbf{Value} & \textbf{Ref/Notes}\\
    \midrule
    A & B & C & \cite{hebb_organization_2005}\cite{takeuchi_synaptic_2014}
   \bottomrule
\end{tabular}
\end{document}

答案1

如果两个文档(您要从中导入参考书目的文档和您要导入参考书目的文档)使用相同的参考书目设置,则可以在某些情况下制定一些可行的方法。请参阅如何导入/打印从单独/外部文档创建的参考书目?

您的问题是,您有一个.bbl由 创建的文件pnas-new.bst ,并想将其导入到使用 的文档中biblatex。但这样做不行,因为biblatex.bbl文件和.bblBibTeX.bst样式生成的文件完全不兼容,而且无法相互理解。

在这种情况下,解决方案是不biblatex加载table.tex

\documentclass[crop=false]{standalone}
\usepackage{fontenc}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{colortbl}
\usepackage[numbers]{natbib}
\newcommand\SEB[1]{\textsubscript{#1}}
\def\RC{\rowcolor{gray!10}}
\renewcommand{\arraystretch}{1.2}


\begin{document}
\begin{tabular}{llp{0.1\linewidth}p{.15\linewidth}}
    \toprule
    \textbf{Symbol} & \textbf{Parameter} & \textbf{Value} & \textbf{Ref/Notes}\\
    \midrule
    A & B & C & \cite{hebb_organization_2005}\cite{takeuchi_synaptic_2014}\\
   \bottomrule
\end{tabular}

\input{table.bbl}
\end{document}

给出

在此处输入图片描述

table.bbl如果在与问题相同的文件夹中进行编译。

biblatex无论如何,如果您从其他地方导入,那么您实际上无法使用大多数高级功能.bbl,因此您只能从natbib这里开始。

相关内容