使用独立时出现 Natbib 未定义错误

使用独立时出现 Natbib 未定义错误

我正在做一个相当大项目。因此我决定与独立包。我在 overleaf 中工作,我的项目结构如下:

->Main.tex
->Folder Chap 1
--->Folder Figures
--->Chap 1.tex
->Folder Chap 2
--->Folder Figures
--->Chap 2.tex
->ref.bib

我想在我的第 1 章然后只需通过输入它来导入它主文本

我的第 1 章如下所示:

\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage[round]{natbib}
\bibliographystyle{apa}

\begin{document}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Nulla eget lacinia justo. Sed tincidunt elit nunc, 
vitae laoreet ipsum scelerisque et. 
Ut ex nisi, dapibus eget scelerisque vitae, 
varius in arcu\citep[][]{einstein2010}.

\end{document}

我的主文本如下:

\documentclass[8pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[round]{natbib}
\bibliographystyle{apa} 

\begin{document}

\input{Chap1/Chap1}

\newpage

\bibliography{ref}

\end{document}

在我的参考文献我有如下参考:

@ARTICLE{einstein2010,
author = {A. Einstein},
title = {Sed tincidunt elit nunc},
journal = {Sed tincidunt elit nunc},
volume = {58},
number = {Issue 6},
pages = {31-40},
year = {2010}
}

为什么引用不适用于第 1 章?它确实找到了引用,但编译时仍然出错。我是否必须把我的参考文献其他地方?我只是想引用我的第 1 章并最终创建一个参考书目主文本所有参考文献第 1 章第 2 章.tex等等。

答案1

[免责声明:我是 Overleaf 的支持人员。]

\documentclass{standalone}如果您的 Chap1.tex 仅包含一个,则效果很好tikzpicture;但如果它包含其他材料,例如文本段落,那么在仅编译 Chap1.tex 时,生成的 PDF 可能只有一行(或几行)非常长的单行输出。

subfiles和文档类可能更适合这里;您仍然可以用于standalone图纸。您可以找到有关和的tikz更多信息standalonesubfiles 这里这里

此外,apa.bst不再在 TeX Live 中分发,因此 BibTeX 将无法解析引文,因为它无法找到样式文件。您可能希望改用apacite

这是一个由 、 和main.tex组成ref.bib的小例子。Chap1/Chap1.texChap1/drawing1.tex


主文本

\documentclass{article}

\usepackage{subfiles}

\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{positioning,shapes}
\tikzset{special/.style={fill=cyan,ellipse}}

\usepackage[natbibapa]{apacite}
\bibliographystyle{apacite} 

% From https://en.wikibooks.org/wiki/LaTeX/Modular_Documents#Subfiles_and_bibtex
% To get citations working in both the main and sub files
\def\biblio{\bibliography{ref}}
\begin{document}
\def\biblio{}

This is the main file!!

\subfile{Chap1/Chap1}

\newpage

\bibliography{ref}

\end{document}

Chap1/Chap1.tex

除了将使用\documentclass[...]{subfiles}; 前言外,前言中不需要任何其他内容。此文件内的路径为main.tex关系到 Chap1/Chap1.tex

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

\begin{document}

\section{Test}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Nulla eget lacinia justo. Sed tincidunt elit nunc, 
vitae laoreet ipsum scelerisque et. 
Ut ex nisi, dapibus eget scelerisque vitae, 
varius in arcu \citep{einstein2010}.

\begin{figure}[hbt!]
\centering
\subfile{drawing1}
\caption{Hello World}
\end{figure}

\biblio
\end{document}

Chap1/drawing1.tex

这是一个绘图standalone文件tikz。您需要在此文件中添加必要的 TikZ 设置;仅编译此文件时不会从 main.tex 读取任何内容。

\documentclass[tikz]{standalone}

\usetikzlibrary{positioning,shapes}
\tikzset{special/.style={fill=cyan,ellipse}}

\begin{document}

\begin{tikzpicture}
\node[draw,special] (a) {Hello};
\node[draw,right=2cm of a] (b) {World};
\draw[->] (a) -- (b);
\end{tikzpicture}

\end{document}

编译drawing1.tex

编译 drawing1.tex

编译Chap1.tex

编译 Chap1.tex

编译main.tex

编译 main.tex


(您也可以standalone单独编译您的绘图,下载输出 PDF,然后重新上传它们,以便您可以\includegraphics在您的上使用它们Chap1.tex。如果您有很多 TikZ 绘图,这也有助于加快速度。)

相关内容