Natbib 和 bibhang 与数字或超级不合拍

Natbib 和 bibhang 与数字或超级不合拍

我正在使用 natbib.sty chicago.bst 作为我的 bibtex 样式表。

我的 natbib 电话看起来像

\usepackage[numbers,sort&compress,super]{natbib}

当我尝试更改参考书目中的悬挂缩进时,什么也没有发生:

\setlength \bibhang{1in}

但是,如果我从选项中删除numberssuper选项natbib,会出现悬挂缩进吗?这似乎bibhang不适用于数字和超级选项?有什么线索可以解释这里发生了什么吗?我被难住了,花了大半个下午的时间寻找答案。

答案1

根据natbib文献,

作者-年份样式的参考文献列表使用悬挂缩进格式:每个参考文献的第一行与左侧对齐,后面几行从左边距缩进。此缩进是默认设置,但可以通过重新定义(使用)长度参数1em来更改。\setlength\bibhang

这表明将对\bibhang作者年份方案产生影响,但您正在使用该numbers选项,因此\bibhang不会产生任何影响。

一种可能的解决方法是重新定义thebibliography在 中实现的环境report.cls。以下是您必须添加到序言中的内容(\mybibindent根据需要更改 的值):

\newlength\mybibindent
\setlength\mybibindent{1in}
\makeatletter
\renewenvironment{thebibliography}[1]
     {\chapter*{\bibname}%
      \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
      \list{\@biblabel{\@arabic\c@enumiv}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \leftmargin\labelwidth
            \advance\leftmargin\dimexpr\labelsep+\mybibindent\relax\itemindent-\mybibindent% new
            \@openbib@code
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}
\makeatother

相关内容