如何使用 bibtex 和子文件

如何使用 bibtex 和子文件

我是新手,我一直在寻找解决方案。但是,如果我将子文件用于单独的文件,我该如何在引用全局参考书目的子文件中进行引用?比如,如果我在主 tex 文件中插入参考书目,这将包括我在每个子文件中的每个引用?

非常感谢!

答案1

子文件中的引用指向主文件中设置的全局参考书目,其工作方式与没有子文件时完全相同。

以下是main.tex不包含任何\cite命令但打印参考书目的文件。

\documentclass{report}
\usepackage{filecontents}
\usepackage{subfiles}
\begin{filecontents}{\jobname.bib}
@book{key,
  author = {Author, A.},
  year = {2001},
  title = {Title},
  publisher = {Publisher},
}
\end{filecontents}

\begin{document}
\subfile{chapter1.tex}
\bibliographystyle{unsrt}
\bibliography{\jobname}
\end{document} 

以下是chapter1.tex包含唯一\cite命令的文件。

\documentclass[main.tex]{subfiles}
\begin{document}
\chapter{title}
\cite{key}
\end{document}

为了获得所需的结果,您可以main.tex使用 PDFLaTeX、BibTeX、PDFLaTeX、PDFLaTeX 进行编译。


\include使用该包的替代方法subfiles

以下是使用\include{filename}命令而不是subfiles包的 MWE:

main.tex

\documentclass{report}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{key,
  author = {Author, A.},
  year = {2001},
  title = {Title},
  publisher = {Publisher},
}
\end{filecontents}
\begin{document}
some test
\ref{chapter}

\include{chapter1}
\bibliographystyle{unsrt}
\bibliography{\jobname}
\end{document}

chapter1.tex

\chapter{title}
\label{chapter}
some text
\cite{key}

使用这种方法,TeXMaker 可以在两个文件中自动完成\cite并发出命令。\ref

请注意章节文件与subfiles方法之间的差异。还请记住,前后\include{filename}有区别。\clearpage\include{filename}

更多信息:何时应使用 \input 和 \include?

相关内容