我在打印书末的参考书目时遇到了问题。主 .tex 文件是
\documentclass[a4paper,12pt]{book}
\usepackage{amsmath, amsthm, amssymb}
\usepackage{url}
\usepackage[algoruled,vlined]{algorithm2e}
\usepackage{graphicx,subfigure}
\usepackage{booktabs}
\usepackage[usenames,dvipsnames]{color}
\usepackage[font=small,format=plain,labelfont=bf,up,textfont=it,up]{caption}
% fancy headers and footers
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0.1pt} % for upper line
\renewcommand{\footrulewidth}{0.1pt} % for lower line
\fancyhead[LE,RO]{\itshape \nouppercase \rightmark}\fancyhead[LO,RE] {\itshape \nouppercase \leftmark}
\fancyfoot[C]{\thepage}
\usepackage[semicolon]{natbib}
\usepackage{fancybox}
\usepackage{xcolor}
\usepackage{framed}
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}
\newenvironment{myfancybox}{%
\def\FrameCommand{\fboxsep=\FrameSep \fcolorbox{black}}%
\color{black}\MakeFramed {\FrameRestore}}%
{\endMakeFramed}
\usepackage{rotating}
\usepackage{sectsty}
\allsectionsfont{\itshape}
\setlength{\headheight}{15pt}
\parskip1ex
\begin{document}
\include{forTest}
\bibliographystyle{plainnat}
\bibliography{refs}
\end{document}
在文件 forTest.tex 中放入
\chapter{abs}
\label{ch:grid}
\section{asdf }
As stated in \citep{ads}.
以及与其他文件位于同一文件夹中的 refs.bib 文件的内容:
@inproceedings{ads,
author = "adfsdf, k.",
title = "adf",
booktitle = "sdaf",
series = "adsf",
pages = "19",
publisher = "sda",
year = 2008
}
我打开 pdflatex 后,citation adf 未定义。请注意,bib 文件非常大,我不应该调整该文件。我想知道是否有其他方法可以将其包含在内。
答案1
第一次运行乳胶时,您总会认为交叉引用是未定义的。
如果使用 bibtex,您需要运行 (pdf)latex 一次(将所需引用列表写入文件aux
),然后您需要运行 bibtex(生成bbl
包含参考书目的 LaTeX 代码的文件),然后您需要再运行 (pdf)latex 两次来解析对生成的参考书目的所有交叉引用。