子文件编译失败参考书目

子文件编译失败参考书目

我正在使用 overleaf,并尝试建立一个大型项目。当我编译 main.tex 时,会出现引用,但当我对 content/mini.tex 进行本地编译时,却没有出现。

有什么建议么?

我的 main.tex

\documentclass[9pt]{book}
\usepackage{subfiles}

\begin{document}

A citation\cite{someone1981}

\subfile{content/mini}


\bibliography{bib}
\bibliographystyle{apalike}
\end{document}

然后是子文件:content/mini

\documentclass[../main.tex]{subfiles}

\begin{document}

\section{In Subfile}
This cite is in the subfile \cite{10.1007/978-3-031-20738-9_128}

\end{document}

答案1

正如评论中提到的,您需要一个\bibliography命令来生成参考书目。在子文件中,使用命令\ifSubfilesClassLoaded使生成有条件。以下代码在本地运行时有效。

使用 Overleaf 时,存在处理时无法访问父文件夹中的文件的问题,因此 bibtex 会因无法找到的mini.tex错误而失败。(我认为这是因为 Overleaf在运行 latex+bibtex 之前将包含所有子文件夹的文件夹(但没有复制父文件夹)复制到了其他地方。)../bib.bibmini.tex

以下是在本地运行的代码:

% main.tex
\documentclass{book}
\bibliographystyle{apalike}
\usepackage{subfiles}
\begin{document}
A citation\cite{someone1981}
\subfile{content/mini}
\bibliography{bib}
\end{document}

% content/mini.tex
\documentclass[../main]{subfiles}
\begin{document}
\section{In Subfile}
This cite is in the subfile \cite{10.1007/978-3-031-20738-9_128}
\ifSubfilesClassLoaded{% <<<<<<<<<<<<<<<<<<<<<
  \bibliography{../bib}% <<<<<<<<<<<<<<<<<<<<<
}{}%                     <<<<<<<<<<<<<<<<<<<<<
\end{document}

% bib.bib
@Book{someone1981,
  author =   {S.O.Meone},
  title =    {The title},
  publisher =    {Publisher},
  year =     {1981},
}

@InProceedings{10.1007/978-3-031-20738-9_128,
author="Zhang, Zhe
and Wang, Shenhang
and Meng, Gong",
editor="Xiong, Ning
and Li, Maozhen
and Li, Kenli
and Xiao, Zheng
and Liao, Longlong
and Wang, Lipo",
title="A Review on Pre-processing Methods for Fairness in Machine Learning",
booktitle="Advances in Natural Computation, Fuzzy Systems and Knowledge Discovery",
year="2023",
publisher="Springer International Publishing",
pages="1185--1191",
isbn="978-3-031-20738-9"
}

相关内容