我想在标题之后和第一个 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}