仅为 apstemplate.tex 编译的参考书目

仅为 apstemplate.tex 编译的参考书目

我正在使用 APS 模板 apstemplate.tex(找到这里)。

我有一个名为 refs.bib 的 bib 文件,位于同一文件夹中,在 tex 文件中,如果我调用

\bibliography{refs}

所有参考文献都生成得很好(pdflatex、bibtex、pdflatex x2 等等)。太棒了!

但是,一旦我将 tex 文件的名称从 apstemplate.tex 更改为其他名称(例如“SomeOtherName.tex”),则输出中不会创建参考书目!

这真是令人惊讶和奇怪,为什么创建参考书目的能力应该与我所说的主 tex 文件相关联?tex 文件中的所有其他内容均保持不变。

如果有任何相关性,以下是正文内容:

\documentclass[aps,prl, reprint, superscriptaddress]{revtex4-1}
\pdfoutput=1

% You should use BibTeX and apsrev.bst for references
% Choosing a journal automatically selects the correct APS
% BibTeX style file (bst file), so only uncomment the line
% below if necessary.
%\bibliographystyle{apsrev4-1}


\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{bm}
\usepackage{color}
\usepackage{soul} 
\usepackage{amssymb}
\usepackage{wasysym}
\usepackage{dsfont}
%\usepackage[pstarrows]{curve2e}
\usepackage{multirow}
\usepackage{epsfig}
\usepackage{bm}
\usepackage{amsmath,amsthm,amssymb}
%\usepackage{mathtools}
\usepackage{array,booktabs,longtable}
%\usepackage{abstract}
\usepackage{mathrsfs}
%\usepackage[draft]{fixme}
%\usepackage[numbers]{natbib}
%\usepackage{caption}
\usepackage{subfigure}
\usepackage{color}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\usetikzlibrary{calc,shapes,positioning,arrows,snakes}
\usepackage{array}
\usepackage{verbatim}
%\usepackage{bbold}
\usepackage{dsfont}
\usepackage{ifthen}
%\usepackage{hyperref}


\DeclareMathOperator{\Tr}{Tr}


\makeatletter
\newcommand{\thickhline}{%
    \noalign {\ifnum 0=`}\fi \hrule height 1.25pt
    \futurelet \reserved@a \@xhline
}
\newcolumntype{"}{@{\hskip\tabcolsep\vrule width 1.25pt\hskip\tabcolsep}}
\makeatother


\begin{document}

%Title of paper
\title{Test}
\author{test name}
\begin{abstract}
...
\end{abstract}

\maketitle

\section{Section1}
I refer to Reference \cite{SomeArticle}.

\bibliography{refs}
\end{document}

答案1

好吧,我解决了自己的问题。但是,我不太明白为什么这是个问题。

事实证明,tex 文件的名称中不能有空格。我之前一直在文件命名时使用空格。例如,如果文件名为“apstemplate - Copy.tex”,则 aux 文件将有一行

\bibdata{"apstemplate - Copy"Notes,refs}

这会把事情搞砸,并且不会生成参考书目。

不过,这真的很奇怪,因为在另一台电脑上,同一个 aux 文件有一行内容是

\bibdata{apstemplate*-*CopyNotes,refs2}

一切进展顺利,参考书目已全部生成。

我能确定的唯一区别是操作系统(前者是 Windows 10,后者是 Windows 7)或 MikTeX 版本(但……两者都是 2.9),所以我真的不知道为什么一个版本的 MikTeX 可以很好地处理名称中的空格,而另一个版本却不行。错误……

相关内容