我正在使用 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.bib
mini.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"
}