在参考书目标题和第一个 bibitem 之间添加文本

在参考书目标题和第一个 bibitem 之间添加文本

我想在标题之后和第一个 bibitem 之前将文本添加到参考书目中,以便它的结构如下:

参考文献和进一步阅读

这个和那个可以在 [1] 中找到。其他内容在 [2] 和 [3] 中有特别详细的解释。...

[1]...[2]...

(正如您所看到的,我也希望标题写着“参考文献和进一步阅读”,而不是“参考书目”,但我已经通过更新命令做到了这一点\bibname。)

这里讨论并回答了一个类似的问题:参考书目列表内的标题。最简单的解决方案是使用命令添加文本\item,例如: \item[]\hspace{-\labelwidth}\hspace{-\labelsep}Here is the text.虽然这对标题有效,但它对一段或几段文本无效,因为布局很乱。

有人能告诉我怎么做吗?如果有一个简单的解决方案我会很高兴,但我很乐意得到任何帮助,谢谢!:)

关于我的文档的更多信息:我使用AMSbook类。文档由三部分组成,每部分都有自己的参考书目,由环境创建thebibliography。我确实使用了该\hyperref包,并希望所有参考书目都能在目录中正确显示(可点击),现在它运行良好。

编辑-对 Gonzalo Medina 和 Guido 的答案的评论:

这两种方法都有效,谢谢!我选择使用 Guido 的方法,因为只要使用该natbib软件包没有问题,这种方法就更简单。无论如何,这两种方法都能产生同样好的结果,并且直接满足我的需求,谢谢!:)

答案1

natbib包有一个\bibpreamble钩子。您可以用 填充文本\renewcommand{\bibpreamble}{<text>}

\documentclass{amsbook}
\usepackage[numbers]{natbib}
\renewcommand{\bibfont}{\small}

\begin{document}

\renewcommand{\bibpreamble}{First. This and that can be found in~\cite{testa}. 
  The other stuff is particularly well explained in~\cite{testb} 
  and~\cite{testc}.}
\begin{thebibliography}{9}
\bibitem{testa} Test A.
\bibitem{testb} Test B.
\bibitem{testc} Test C.
\end{thebibliography}

\renewcommand{\bibpreamble}{Second. This and that can be found in~\cite{testd}. 
  The other stuff is particularly well explained in~\cite{teste} 
  and~\cite{testf}.}
\begin{thebibliography}{9}
\bibitem{testd} Test A.
\bibitem{teste} Test B.
\bibitem{testf} Test C.
\end{thebibliography}

\renewcommand{\bibpreamble}{Third. This and that can be found in~\cite{testg}. 
  The other stuff is particularly well explained in~\cite{testg} 
  and~\cite{testi}.}
\begin{thebibliography}{9}
\bibitem{testg} Test A.
\bibitem{testh} Test B.
\bibitem{testi} Test C.
\end{thebibliography}
\end{document}

编辑 对于字体,\renewcommand{\bibfont}{\small}会改变参考书目的字体(大小)(但不改变序言)。

答案2

一种可能的解决方案;在下面的代码中,我定义了一个\bibNote命令,允许在标题之后和第一个 bibitem 之前放置文本;可以通过重新定义命令\Notefont(默认值\normalsize)来更改此注释的字体。重新定义\bibname允许更改标题。

\documentclass{amsbook}

\renewcommand\bibname{References and further reading}

\makeatletter
\newcommand\Notefont{\normalsize}
\long\def\bibNote#1{\gdef\@bibNote{\item[]{\Notefont#1}}}
\renewenvironment{thebibliography}[1]{%
  \@xp\chapter\@xp*\@xp{\bibname}%
  \normalfont\footnotesize\labelsep .5em\relax
  \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty
  \list{\@biblabel{\theenumiv}}{\@bibNote\settowidth\labelwidth{\@biblabel{#1}}%
    \leftmargin\labelwidth \advance\leftmargin\labelsep
    \usecounter{enumiv}}%
  \sloppy \clubpenalty\@M \widowpenalty\clubpenalty
  \sfcode`\.=\@m
}{%
  \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
  \endlist
}
\makeatother

\bibNote{This and that can be found in~\cite{testa}. The other stuff is particularly well explained in~\cite{testb} and~\cite{testc}.}

\begin{document}

\begin{thebibliography}{9}
\bibitem{testa} Test A.
\bibitem{testb} Test B.
\bibitem{testc} Test C.
\end{thebibliography}

\end{document}

在此处输入图片描述

如果babel正在使用,则\bibname必须使用重新定义\addto\captions<language>;例如,如果文档包含

\usepackage[english]{babel}

必须说

\addto\captionsenglish{%
  \renewcommand\bibname{References and further reading}}

答案3

我认为这应该可行:

\renewcommand\bibname{References\\
\normalsize{} Citation data collected from Scopus 
(Elsevier) Sep. 6 2017.}

一个例子:

\documentclass\[a4paper,12pt\]{report}

\renewcommand\bibname{List of books\\ \vspace{10mm} \normalsize{} Note: Strindberg has also written other books.}

\bibliographystyle{plain}

\begin{document}

One book written by Strindberg is Hems\"{o}borna \cite{book1}.

\begin{thebibliography}{9}

\bibitem{book1}
    August Strindberg, \textit{Hems\"{o}borna}, 1887.
\end{thebibliography}

\end{document}

在此处输入图片描述

相关内容