使用 \bibentry 和 \natbib(适用于 astron 引用样式)时,文内引用出现在页面顶部

使用 \bibentry 和 \natbib(适用于 astron 引用样式)时,文内引用出现在页面顶部

我目前正在尝试为一个课程编写一份文献综述,该课程要求我使用与我的领域相关的引用格式。我希望能够将我所讨论的引用和来源分析放在其下,并在论文末尾附上最终参考书目。一切似乎都运行正常,引用也符合我想要的格式,但在我的第一页顶部出现了所有来源的文内引用列表。

看起来像是文内引用。

我已经看到了有关的一些注释\nocite{*},但它似乎没有对我的文档做出任何改变。

\documentclass[12pt,letterpaper]{article}

% Set margins to 1.5in
\usepackage[margin=0.75in]{geometry}

% for crimson text
\usepackage{crimson}
\usepackage[T1]{fontenc}

% setup parameter indentation
\setlength{\parindent}{15pt}
\setlength{\parskip}{6pt}

% for 1.15 spacing between text
\renewcommand{\baselinestretch}{1.15}

% For defining spacing between headers
\usepackage{titlesec}
% Level 1
\titleformat{\section}
  {\normalfont\fontsize{18}{0}\bfseries}{\thesection}{1em}{}
% Level 2
\titleformat{\subsection}
  {\normalfont\fontsize{14}{0}\bfseries}{\thesection}{1em}{}
% Level 3
\titleformat{\subsubsection}
  {\normalfont\fontsize{12}{0}\bfseries}{\thesection}{1em}{}
% Level 4
\titleformat{\paragraph}
  {\normalfont\fontsize{12}{0}\bfseries\itshape}{\theparagraph}{1em}{}
% Level 5
\titleformat{\subparagraph}
  {\normalfont\fontsize{12}{0}\itshape}{\theparagraph}{1em}{}
% Level 6
\makeatletter
\newcounter{subsubparagraph}[subparagraph]
\renewcommand\thesubsubparagraph{%
  \thesubparagraph.\@arabic\c@subsubparagraph}
\newcommand\subsubparagraph{%
  \@startsection{subsubparagraph}    % counter
    {6}                              % level
    {\parindent}                     % indent
    {12pt} % beforeskip
    {6pt}                           % afterskip
    {\normalfont\fontsize{12}{0}}}
\newcommand\l@subsubparagraph{\@dottedtocline{6}{10em}{5em}}
\newcommand{\subsubparagraphmark}[1]{}
\makeatother
\titlespacing*{\section}{0pt}{12pt}{6pt}
\titlespacing*{\subsection}{0pt}{12pt}{6pt}
\titlespacing*{\subsubsection}{0pt}{12pt}{6pt}
\titlespacing*{\paragraph}{0pt}{12pt}{6pt}
\titlespacing*{\subparagraph}{0pt}{12pt}{6pt}
\titlespacing*{\subsubparagraph}{0pt}{12pt}{6pt}

% Set caption to correct size and location
\usepackage[tableposition=top, figureposition=bottom, font=footnotesize, labelfont=bf]{caption}

% set page number location
\usepackage{fancyhdr}
\fancyhf{} % clear all header and footers
\renewcommand{\headrulewidth}{0pt} % remove the header rule
\rhead{\thepage}
\pagestyle{fancy}

% Overwrite Title
\makeatletter
\renewcommand{\maketitle}{\bgroup
   \begin{center}
   \textbf{{\fontsize{18pt}{20}\selectfont \@title}}\\
   \vspace{10pt}
   {\fontsize{12pt}{0}\selectfont \@author} 
   \end{center}
}
\makeatother

% For full citations inline
\usepackage{bibentry}
\nobibliography*

% For making hanging indents under citations
\usepackage{hanging}
\newcommand\hangbibentry[1]{%
    \smallskip\par\hangpara{1em}{1}\bibentry{#1}\smallskip\par %{indent}{afterline}
}

% For indenting the first paragraph of every line
\usepackage{indentfirst}

% For use of astron citation package
\usepackage{natbib} 

\begin{document}

\thispagestyle{fancy}


\subsection*{\hangbibentry{Soderblom2010TheStars}}

This source outlines the various methods astrophysicists utilize to estimate the ages of stars.

\bibliographystyle{astron}
\bibliography{mnemonic.bib,bib.bib}

\end{document}

这篇文章的引用如下:

@article{Soderblom2010TheStars,
    title = "The Ages of Stars",
    year = "2010",
    journal = aar,
    author = "Soderblom, David R.",
    month = "3",
    volume = "48",
    pages = "581--629",
    url = "http://arxiv.org/abs/1003.6074 http://dx.doi.org/10.1146/annurev-astro-081309-130806",
    doi = "10.1146/annurev-astro-081309-130806",
}

我有一个警告,内容如下:

软件包 Fancyhdr 警告:\headheight 太小(12.0pt):至少将其设置为 14.49998pt。我们现在将其设置为与文档其余部分一样大。但是,这可能会导致页面布局不一致。

还有两个错误,内容如下:

未定义控制序列。

编译器无法理解您使用的命令。请检查命令拼写是否正确。如果命令是软件包的一部分,请确保您已使用 \usepackage{...} 将该软件包包含在您的前言中。

了解更多

<argument> \protect \astroncite 
                                {Soderblom}{2010}
l.3 ...te{Soderblom}{2010}]{Soderblom2010TheStars}
                                               The control sequence at the end of the top line of your error message was never

\def'ed。如果您拼错了(例如,\hobx'), typeI')和正确的拼写(例如,`I\hbox')。否则继续,我会忘记未定义的部分。

LaTeX 错误:缺少 \begin{document}。

未找到 \begin{document} 命令。请确保已在序言中包含 \begin{document},并且主文档已正确设置。

了解更多 请参阅 LaTeX 手册或 LaTeX Companion 了解说明。输入 H 可立即获得帮助。

...

l.3 ...te{Soderblom}{2010}]{Soderblom2010TheStars}
                                               You're in trouble here.  Try typing  <return>  to proceed. If that doesn't work, type  X

退出。

我目前正在使用 Overleaf。

答案1

第一个错误\headheight is too small (12.0pt): Make it at least 14.49998pt.是因为你创建的 header viafancyhdr比当前使用的更大12pt。因此只需添加

\setlength{\headheight}{15pt}

到你的序言中去掉它。

您收到的第一条错误消息<argument> \protect \astroncite是由于使用astron.bst和而产生的astron.sty,其中包含以下行:

\def\cite{\@ifstar{\citeyear}{\citefull}}
\def\citefull{\def\astroncite##1##2{##1, ##2}\@internalcite}
\def\citeyear{\def\astroncite##1##2{##2}\@internalcite} 

这个文件相当旧了,我不知道,但是使用例如

\bibliographystyle{plainnat}

让我使用bibentry,并且natbib没有错误,你可以用以下 MWE 进行测试

\begin{filecontents*}{mybib.bib}
@article{Soderblom2010TheStars,
    title = "The Ages of Stars",
    year = "2010",
    journal = aar,
    author = "Soderblom, David R.",
    month = "3",
    volume = "48",
    pages = "581--629",
    url = "http://arxiv.org/abs/1003.6074 http://dx.doi.org/10.1146/annurev-astro-081309-130806",
    doi = "10.1146/annurev-astro-081309-130806",
}
\end{filecontents*}


\documentclass{article}

\usepackage{bibentry}
\nobibliography*

\usepackage{natbib} 


\begin{document}
text
%\bibentry{Soderblom2010TheStars}
\subsection*{\bibentry{Soderblom2010TheStars}}
text

\bibliographystyle{plainnat} % plain astron
\bibliography{mybib}
\end{document}

请注意,我已.bib在参考书目调用中删除了扩展名。

结果是(没有采取任何措施来破坏 URL,请忽略这一点):

在此处输入图片描述

对我来说,现在的主要问题是,您能否省略使用过时的astron.bst,或者将其用于我不知道的特殊类?如果可能的话,请省略它或向该样式/日志的维护者提交错误报告。

相关内容