编写参考书目 Latex 时出现的问题

编写参考书目 Latex 时出现的问题

我正在使用 TexStudio 中的博士论文模板。我发现打印参考书目时存在问题。这是我的代码:

   \documentclass[
11pt, % The default document font size, options: 10pt, 11pt, 12pt
%oneside, % Two side (alternating margins) for binding by default, uncomment to switch to one side
english, % ngerman for German
singlespacing, % Single line spacing, alternatives: onehalfspacing or doublespacing
%draft, % Uncomment to enable draft mode (no pictures, no links, overfull hboxes indicated)
%nolistspacing, % If the document is onehalfspacing or doublespacing, uncomment this to set spacing in lists to single
%liststotoc, % Uncomment to add the list of figures/tables/etc to the table of contents
%toctotoc, % Uncomment to add the main table of contents to the table of contents
%parskip, % Uncomment to add space between paragraphs
%nohyperref, % Uncomment to not load the hyperref package
headsepline, % Uncomment to get a line under the header
%chapterinoneline, % Uncomment to place the chapter title next to the number on one line
%consistentlayout, % Uncomment to change the layout of the declaration, abstract and acknowledgements pages to match the default layout
]{MastersDoctoralThesis} % The class file specifying the document structure
\usepackage[utf8]{inputenc} % Required for inputting international characters
\usepackage[T1]{fontenc} % Output font encoding for international characters
\usepackage[dvips]{epsfig,psfrag}
\usepackage{mathpazo} % Use the Palatino font by default
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{floatrow}
\usepackage[none]{hyphenat} % suppress hyphenation *globally*
\sloppy 
\newcommand{\HY}{\hyphenpenalty=25\exhyphenpenalty=25} 
% re-enable hyphenation locally inside "Z" columns
\newcolumntype{Z}{>{\HY\RaggedRight\arraybackslash\hspace{0pt}}X} 
%\usepackage[autostyle=true]{csquotes} % Required to generate language-dependent quotes in the bibliography
\usepackage{float}
\usepackage{lipsum}
\usepackage{subfig}
\usepackage{adjustbox}
\usepackage{tabularx,booktabs}
\usepackage{mathtools}
\usepackage{array}
\usepackage{dcolumn}
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{P}{>{\raggedright\arraybackslash}X}
\setlength\tabcolsep{2pt}
\captionsetup{
    justification = centering
}
\usepackage{amsmath}
\usepackage{geometry}
\usepackage{booktabs}
\usepackage{xurl}
\usepackage{hyperref}
\DeclareMathOperator{\Pa}{Pa}
\newcolumntype{d}[1]{D{.}{.}{#1}}
\setlength\tabcolsep{2pt}


\usepackage[backend=bibtex,style=authoryear,natbib=true]{biblatex} % Use the bibtex backend with the authoryear citation style (which resembles APA)
\addbibresource{bibliography.bib}
%----------------------------------------------------------------------------------------
%   MARGIN SETTINGS
%----------------------------------------------------------------------------------------

\geometry{
    paper=a4paper, % Change to letterpaper for US letter
    inner=2.5cm, % Inner margin
    outer=3.8cm, % Outer margin
    bindingoffset=.5cm, % Binding offset
    top=1.5cm, % Top margin
    bottom=1.5cm, % Bottom margin
    %showframe, % Uncomment to show how the type block is set on the page
}

%----------------------------------------------------------------------------------------
%   THESIS INFORMATION
%----------------------------------------------------------------------------------------

\thesistitle{Thesis Title} % Your thesis title, this is used in the title and abstract, print it elsewhere with \ttitle
\supervisor{} % Your supervisor's name, this is used in the title page, print it elsewhere with \supname
\examiner{} % Your examiner's name, this is not currently used anywhere in the template, print it elsewhere with \examname
\degree{} % Your degree name, this is used in the title page and abstract, print it elsewhere with \degreename
\author{ \textsc{}} % Your name, this is used in the title page and abstract, print it elsewhere with \authorname
\addresses{} % Your address, this is not currently used anywhere in the template, print it elsewhere with \addressname

\subject{} % Your subject area, this is not currently used anywhere in the template, print it elsewhere with \subjectname
\keywords{} % Keywords for your thesis, this is not currently used anywhere in the template, print it elsewhere with \keywordnames
\university{\href{}{}} % Your university's name and URL, this is used in the title page and abstract, print it elsewhere with \univname
\department{\href{}{}} % Your department's name and URL, this is used in the title page and abstract, print it elsewhere with \deptname
\faculty{\href{http://faculty.university.com}{}} % Your faculty's name and URL, this is used in the title page and abstract, print it elsewhere with \facname

\AtBeginDocument{
\hypersetup{pdftitle=\ttitle} % Set the PDF's title to your title
\hypersetup{} % Set the PDF's author to your name
\hypersetup{pdfkeywords=\keywordnames} % Set the PDF's keywords to your keywords
}

\begin{document}

\frontmatter % Use roman page numbering style (i, ii, iii, iv...) for the pre-content pages

\pagestyle{plain} % Default to the plain heading style until the thesis style is called for the body content

%----------------------------------------------------------------------------------------
%   TITLE PAGE
%----------------------------------------------------------------------------------------

\begin{titlepage}
\begin{center}

\vspace*{.06\textheight}
{\scshape\LARGE \univname\par}\vspace{1.5cm} % University name
\textsc{\Large Doctoral Thesis}\\[0.5cm] % Thesis type

\HRule \\[0.4cm] % Horizontal line
{\huge \bfseries \ttitle\par}\vspace{0.4cm} % Thesis title
\HRule \\[1.5cm] % Horizontal line

\begin{minipage}[t]{0.4\textwidth}
\begin{flushleft} \large
\emph{Author:}\\
\href{http://www.johnsmith.com}{\authorname} % Author name - remove the \href bracket to remove the link
\end{flushleft}
\end{minipage}
\begin{minipage}[t]{0.4\textwidth}
\begin{flushright} \large
\emph{Supervisor:} \\
\href{http://www.jamessmith.com}{\supname} % Supervisor name - remove the \href bracket to remove the link  
\end{flushright}
\end{minipage}\\[3cm]

\vfill

\large \textit{A thesis submitted in fulfillment of the requirements\\ for the degree of \degreename}\\[0.3cm] % University requirement text
\textit{in the}\\[0.4cm]
%\\\deptname\\[2cm] % Research group name and department name

\vfill

{\large \today}\\[4cm] % Date
\includegraphics[width = 40mm]{logo.png}\\[6ex] % University/department logo - uncomment to place it

\vfill
\end{center}
\end{titlepage}
\cleardoublepage


%----------------------------------------------------------------------------------------
%   DECLARATION PAGE
%----------------------------------------------------------------------------------------
\begin{declaration}
\addchaptertocentry{\authorshipname} % Add the declaration to the table of contents
\noindent I, \authorname, declare that this thesis titled, \enquote{\ttitle} and the work presented in it are my own. I confirm that:

\begin{itemize} 
\item This work was done wholly or mainly while in candidature for a research degree at this University.
\item Where any part of this thesis has previously been submitted for a degree or any other qualification at this University or any other institution, this has been clearly stated.
\item Where I have consulted the published work of others, this is always clearly attributed.
\item Where I have quoted from the work of others, the source is always given. With the exception of such quotations, this thesis is entirely my own work.
\item I have acknowledged all main sources of help.
\item Where the thesis is based on work done by myself jointly with others, I have made clear exactly what was done by others and what I have contributed myself.\\
\end{itemize}

\noindent Signed:\\
\rule[0.5em]{25em}{0.5pt} % This prints a line for the signature

\noindent Date:\\
\rule[0.5em]{25em}{0.5pt} % This prints a line to write the date
\end{declaration}

\cleardoublepage

%----------------------------------------------------------------------------------------
%   QUOTATION PAGE
%----------------------------------------------------------------------------------------

%\vspace*{0.2\textheight}

%\noindent\enquote{\itshape ..............}\bigbreak

%\hfill Elisa Mammoliti

%----------------------------------------------------------------------------------------
%   ABSTRACT PAGE
%----------------------------------------------------------------------------------------

\begin{abstract}
\addchaptertocentry{\abstractname} % Add the abstract to the table of contents

\end{abstract}

%----------------------------------------------------------------------------------------
%   ACKNOWLEDGEMENTS
%----------------------------------------------------------------------------------------

\begin{acknowledgements}
\addchaptertocentry{\acknowledgementname} % Add the acknowledgements to the table of contents
At first my acknowledgements are to my family and my friends, to support me in this long and difficult research project.\ldots
\end{acknowledgements}

%----------------------------------------------------------------------------------------
%   LIST OF CONTENTS/FIGURES/TABLES PAGES
%----------------------------------------------------------------------------------------

\tableofcontents % Prints the main table of contents

\listoffigures % Prints the list of figures

\listoftables % Prints the list of tables

%----------------------------------------------------------------------------------------
%   ABBREVIATIONS
%----------------------------------------------------------------------------------------

\begin{abbreviations}{ll} % Include a list of abbreviations (a table of two columns)
\textbf{BNs} & \textbf{B}ayesian \textbf{N}etworks\\
\textbf{DEM} & \textbf{D}igital \textbf{E}levation \textbf{M}odel\\ 
\textbf{L} & \textbf{L}eeb number\\ 
\textbf{R} & \textbf{R}ebound number\\
\textbf{SH} & \textbf{S}chmidt \textbf{H}ammer\\
\textbf{RQI} & \textbf{R}ock \textbf{M}ass \textbf{Q}uality  \textbf{I}ndex\\


\end{abbreviations}

%----------------------------------------------------------------------------------------
%   PHYSICAL CONSTANTS/OTHER DEFINITIONS
%----------------------------------------------------------------------------------------

\begin{constants}{lr@{${}={}$}l} % The list of physical constants is a three column table

% The \SI{}{} command is provided by the siunitx package, see its documentation for instructions on how to use it

Speed of Light & $c_{0}$ & \SI{2.99792458e8}{\meter\per\second} (exact)\\
%Constant Name & $Symbol$ & $Constant Value$ with units\\

\end{constants}

%----------------------------------------------------------------------------------------
%   SYMBOLS
%----------------------------------------------------------------------------------------

\begin{symbols}{lll} % Include a list of Symbols (a three column table)

$a$ & distance & \si{\meter} \\
$P$ & power & \si{\watt} (\si{\joule\per\second}) \\
%Symbol & Name & Unit \\

\addlinespace % Gap to separate the Roman symbols from the Greek

$\omega$ & angular frequency & \si{\radian} \\

\end{symbols}

%----------------------------------------------------------------------------------------
%   DEDICATION
%----------------------------------------------------------------------------------------

\dedicatory{} 

%----------------------------------------------------------------------------------------
%   THESIS CONTENT - CHAPTERS
%----------------------------------------------------------------------------------------

\mainmatter % Begin numeric (1,2,3...) page numbering

\pagestyle{thesis} % Return the page headers back to the "thesis" style

% Include the chapters of the thesis as separate files from the Chapters folder
% Uncomment the lines as you write the chapters

\include{Chapters/Introduction}
\include{Chapters/Chapter2} 
\include{Chapters/Chapter3}
\include{Chapters/Chapter4} 
\include{Chapters/Chapter5} 
\include{Chapters/Chapter6} 
\include{Chapters/Chapter7} 

%----------------------------------------------------------------------------------------
%   THESIS CONTENT - APPENDICES
%----------------------------------------------------------------------------------------

\appendix % Cue to tell LaTeX that the following "chapters" are Appendices

% Include the appendices of the thesis as separate files from the Appendices folder
% Uncomment the lines as you write the Appendices

\include{Appendices/AppendixA}
%\include{Appendices/AppendixB}
%\include{Appendices/AppendixC}
Stuff happened and it was cited \cite{hoek1992modified}
%----------------------------------------------------------------------------------------
%   BIBLIOGRAPHY
%----------------------------------------------------------------------------------------
\printbibliography[heading=bibintoc]

%----------------------------------------------------------------------------------------

\end{document}  

这是参考书目的一个例子。我的文件名为 bibliography.bib

@inproceedings{hoek1992modified,
    title={A modified Hoek--Brown failure criterion for jointed rock masses},
    author={Hoek, E and Wood, D and Shah, S},
    booktitle={Rock Characterization: ISRM Symposium, Eurock'92, Chester, UK, 14--17 September 1992},
    pages={209--214},
    year={1992},
    organization={Thomas Telford Publishing}
}
@article{bieniawski1973engineering,
    title={Engineering classification of jointed rock masses},
    author={Bieniawski, ZT},
    journal={Civil Engineer in South Africa},
    volume={15},
    number={12},
    year={1973}
}

Latex 说:

There were undefined references.

我尝试通过寻找类似的问题来避免该问题,但这些建议并没有帮助我解决问题。

提前致谢

答案1

这样就能得到答案了。

.log您发布的文件您尝试运行的文档显示几个错误。这些错误可能会对辅助文件产生影响,并且可能意味着参考书目不会按预期显示。

一般来说,你必须在文档上运行 LaTeX、Biber/BibTeX、LaTeX、LaTeX,如使用问号或粗体引用关键字代替引用编号。每次运行都必须无错误地完成,然后才能转到下一个命令。第一次和第二次 LaTeX 运行可能会产生有关未定义引用或更改标签的警告,但如果有错误,则必须先解决它们,然后才能继续执行下一个编译步骤。

特别是,它.log抱怨了至少三件事

  1. ! Undefined control sequence.
    <argument> \Elisa 
                      Mammoliti
    l.115 \begin{document}
    

    这可能是一个简单的拼写错误:\Elisa应该是Elisa

  2. ! Undefined control sequence.
    l.176 ...declare that this thesis titled, \enquote
                                                      {\ttitle} and the work pre...
    

    文档使用了csquotes命令\enquote,但未加载包。实际上,问题中显示的序言中已注释掉行 loading csquotes( )。\usepackage[autostyle=true]{csquotes}

  3. 最后一个错误有很多连锁反应。LaTeX 记录的投诉是

    Runaway argument?
    >{\raggedright \arraybackslash }p{P}\relax \NC@do d\@iwhilesw {\if@tempswa \ETC
    .
    ! Forbidden control sequence found while scanning use of \NC@find.
    <inserted text> 
                    \par 
    l.364 \end{tabularx}
    

    行号指的是文件Chapters/Chapter5.tex。这看起来像是表列声明有问题,但可能更微妙一些。

在运行 BibTeX/Biber 之前,必须解决所有这些错误。

理想情况下,您应该在解决错误后删除临时文件(.aux、、.bbl.bcf,然后重新运行序列 LaTeX、Biber/BIbTeX、LaTeX、LaTeX。

答案2

我打开了模板latextemplates.com直接从网站上在 Overleaf 中获取。

我将您的代码和参考书目文件复制到了 Overleaf 文档中。

我尝试编译,但它坏了。

我添加了以下几行:

\begin{document}
Stuff happened and it was cited \cite{hoek1992modified}

因此整个内容如下:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Masters/Doctoral Thesis 
% LaTeX Template
% Version 2.5 (27/8/17)
%
% This template was downloaded from:
% http://www.LaTeXTemplates.com
%
% Version 2.x major modifications by:
% Vel ([email protected])
%
% This template is based on a template by:
% Steve Gunn (http://users.ecs.soton.ac.uk/srg/softwaretools/document/templates/)
% Sunil Patel (http://www.sunilpatel.co.uk/thesis-template/)
%.
% Template license:
% CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%----------------------------------------------------------------------------------------
%   PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
%----------------------------------------------------------------------------------------
\documentclass[
11pt, % The default document font size, options: 10pt, 11pt, 12pt
%oneside, % Two side (alternating margins) for binding by default, uncomment to switch to one side
english, % ngerman for German
singlespacing, % Single line spacing, alternatives: onehalfspacing or doublespacing
%draft, % Uncomment to enable draft mode (no pictures, no links, overfull hboxes indicated)
%nolistspacing, % If the document is onehalfspacing or doublespacing, uncomment this to set spacing in lists to single
%liststotoc, % Uncomment to add the list of figures/tables/etc to the table of contents
%toctotoc, % Uncomment to add the main table of contents to the table of contents
%parskip, % Uncomment to add space between paragraphs
%nohyperref, % Uncomment to not load the hyperref package
headsepline, % Uncomment to get a line under the header
%chapterinoneline, % Uncomment to place the chapter title next to the number on one line
%consistentlayout, % Uncomment to change the layout of the declaration, abstract and acknowledgements pages to match the default layout
]{MastersDoctoralThesis} % The class file specifying the document structure
\usepackage[utf8]{inputenc} % Required for inputting international characters
\usepackage[T1]{fontenc} % Output font encoding for international characters
\usepackage[dvips]{epsfig,psfrag}
\usepackage{mathpazo} % Use the Palatino font by default
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{floatrow}
\usepackage[none]{hyphenat} % suppress hyphenation *globally*
\sloppy 
\newcommand{\HY}{\hyphenpenalty=25\exhyphenpenalty=25} 
% re-enable hyphenation locally inside "Z" columns
\newcolumntype{Z}{>{\HY\RaggedRight\arraybackslash\hspace{0pt}}X} 
\usepackage[backend=bibtex,style=authoryear,natbib=true]{biblatex} % Use the bibtex backend with the authoryear citation style (which resembles APA)
\addbibresource{bibliography.bib}

\begin{document}
Stuff happened and it was cited \cite{hoek1992modified}

\printbibliography[heading=bibintoc]

\end{document} 

...并且它顺利地编译通过(但有一些警告)。

相关内容