我正在使用以下代码:
\documentclass[12pt,a4paper]{article}
%------------------------------------------------------------
\usepackage{amsmath,amssymb,amsthm}
\usepackage{color}
\usepackage{url}
%------------------------------------------------------------
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
%----------------------------------------------------------
\usepackage{geometry}
\geometry{left=2cm,right=2cm,top=2cm,bottom=2cm}
% ------------------------------------------------------------
\newtheorem{theorem}{Theorem}[section]
\newtheorem{definition}{Definition}[section]
\newtheorem{definitions}{Definitions}[section]
\newtheorem{notation}{Notation}[section]
\newtheorem{corollary}{Corollary}[section]
\newtheorem{proposition}{Proposition}[section]
\newtheorem{lemma}{Lemma}[section]
\newtheorem{remark}{Remark}[section]
\newtheorem{example}{Example}[section]
\numberwithin{equation}{section}
%%%%%%%%%%%%% hyperref %%%%%%%%%%%%%%%%%%%%
\usepackage[colorlinks=true,pagebackref=true]{hyperref}
\hypersetup{urlcolor=blue, citecolor=red , linkcolor= blue}
\date{}
\begin{document}
\section{1}
\begin{thebibliography}{9}
\bibitem{26}{W. Arendt, C.J.K. Batty, M. Hieber, and F. Neubrander:}
{Vector-Valued Laplace Transforms and Cauchy Problems,} Monographs in
Mathematics, 2001.
\bibitem{4}{W. Arendt, J.R. Goldstein, and J.A. Goldstein:}
{Outgrowths of Hardy's inequality,} Contemp. Math. 412 (2006), pp.
51-68.
\end{thebibliography}
%---------------------------------
\end{document}
我有两个问题:
为什么我们在 中写数字 9 \begin{thebibliography}{9}
?
有什么方法可以减少 bib 条目之间的间距?如何减小 References 字的大小?
答案1
要回答你的问题,你必须看看thebibliography
环境是如何定义的。以下是来自article.cls
(类似于你在book.cls
和report.cls
):
1: \newenvironment{thebibliography}[1]
2: {\section*{\refname}%
3: \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
4: \list{\@biblabel{\@arabic\c@enumiv}}%
5: {\settowidth\labelwidth{\@biblabel{#1}}%
6: \leftmargin\labelwidth
7: \advance\leftmargin\labelsep
8: \@openbib@code
9: \usecounter{enumiv}%
10: \let\p@enumiv\@empty
11: \renewcommand\theenumiv{\@arabic\c@enumiv}}%
12: \sloppy
13: \clubpenalty4000
14: \@clubpenalty \clubpenalty
15: \widowpenalty4000%
16: \sfcode`\.\@m}
17: {\def\@noitemerr
18: {\@latex@warning{Empty `thebibliography' environment}}%
19: \endlist}
为了便于参考,我给每行都标了号。以下是一些解释性细节:
第 1 行首先定义
thebibliography
环境以接受单个强制参数。因此,您必须使用\begin{thebibliography}{<something>}
而不是仅仅 来调用它\begin{thebibliography}
。第 2 行将参考书目设置为
\section*
使用 title\refname
。如果你想改变这一点,你可以\renewcommand{\refname}{My BiBLioGRaPHy}
在\begin{thebibliography}{.}
.book
和report
uses之前添加\bibname
。参见如何更改“图形”、“目录”、“参考书目”、“附录”等文档元素的名称?第 3 行更新运行标题,左标题和右标题均设置为 中的大写版本
\refname
。第 4-11 行以 开始
\list
。是的,参考书目设置为列表,因此如果您想更改格式,所有与列表相关的更改都可以应用于参考书目。\list
需要 2 个强制参数。第一个参数在第 4 行设置: 。这定义了如何设置\@biblabel{\@arabic\c@enumiv}
每个的“标签” 。具体来说,每个都设置一个项目标签,这个标签将是,它转换为计数器(环境的第四级)的阿拉伯语表示,使用 框起来(默认定义是将其参数设置在..内)。\bibitem
\bibitem
\@biblabel{\@arabic\c@enumiv}
enumiv
enumerate
\@biblabel
[
]
因此,
\@biblabel{\@arabic\c@enumiv}
类似于 的输出[<num>]
,<num>
其中随着 而增加\bibitem
。第 5 行将设置
\labelwidth
为的宽度,\@biblabel{#1}
其中#1
是您提供给环境的参数thebibliography
。这回答了您关于的参数的问题thebibliography
- 它定义了环境中标签的宽度。因此,如果您计划使用少于 10 个书目元素,那么您可以使用\begin{thebibliography}{0}
(或x
,一些单字母元素)。如果您有更多但少于 100 个项目,您可以使用\begin{thebibliography}{00}
,或者\begin{thebibliography}{000}
对于更多但少于 1000 个项目,ETC。第 6-8 行设置列表环境的水平边距,
\@openbib@code
通常为空。第 9 行标识了每个枚举要使用的计数器
\bibitem
。在本例中,它将是enumiv
(环境的第四级enumerate
)。假设此计数器很少在该级别使用,尤其是在设置参考书目时。当在其他列表中嵌套三级时,您不太可能设置参考书目。第 10 行删除了计数器的任何
p
前缀enumiv
(因为嵌套的enumerate
s 通常会将其层次结构添加到枚举中)。第 11 行将计数器的表示更新
\theenumiv
为阿拉伯语。第 12-16 行更新惩罚和段落格式参数,因为参考书目不包含普通的文本内容。它通常包含名称(具有未知的连字符模式)、URL、城市和许多其他奇怪的东西。这些惩罚更新允许一些灵活性来设置可能有点
\sloppy
不同的东西。第 17-19 行结束
thebibliography
环境( 的定义)并执行两项操作。第一项是更新如果中\end{thebibliography}
没有任何 s 则报告错误的方式(第 17-18 行),最后一项是关闭在第 4 行期间打开的环境。\bibitem
thebibliography
list
\begin{thebibliography}
知道thebibliography
只是一个\list
,项目之间的垂直间距的调整是通过改变的值来实现的\itemsep
(参见第节55.2 垂直间距(跳过)(第 285 页)source2e
;类似的东西\setlength{\itemsep}{0pt}
会删除项目之间的所有垂直空间。
一个稍微干净一点的方法是在序言中更新这一点,如下例所示:
\documentclass{article}
\makeatletter
\g@addto@macro\@openbib@code{\setlength{\itemsep}{0pt}}
\makeatother
\begin{document}
\begin{thebibliography}{0}
\bibitem{abhn2001}
W. Arendt, C.J.K. Batty, M. Hieber, and F. Neubrander:
Vector-Valued Laplace Transforms and Cauchy Problems, Monographs in
Mathematics, 2001.
\bibitem{agg2006}
W. Arendt, J.R. Goldstein, and J.A. Goldstein:
Outgrowths of Hardy's inequality, Contemp. Math. 412 (2006), pp.\
51-68.
\end{thebibliography}
\end{document}
以下是使用 的\itemsep
相同参考书目:1cm
\begin{thebibliography}{000}
元素之间的间距更大,标签更宽。
可以通过将其设置为 以外的其他内容来更改参考书目标题的大小\section*
。例如,设置为\subsection*
。以下示例突出显示:
\documentclass{article}
\usepackage{etoolbox}
\patchcmd{\thebibliography}{\section}{\subsection}{}{}
\makeatletter
\g@addto@macro\@openbib@code{\setlength{\itemsep}{0pt}}
\makeatother
\begin{document}
\section*{\refname}
\begin{thebibliography}{0}
\bibitem{abhn2001}
W.\ Arendt, C.J.K.\ Batty, M.\ Hieber, and F.\ Neubrander:
Vector-Valued Laplace Transforms and Cauchy Problems, Monographs in
Mathematics, 2001.
\bibitem{agg2006}
W.\ Arendt, J.R.\ Goldstein, and J.A.\ Goldstein:
Outgrowths of Hardy's inequality, Contemp.\ Math.\ 412 (2006), pp.\
51-68.
\end{thebibliography}
\end{document}
答案2
为了控制条目之间的间距,您可以设置\setlength{\itemsep}{3cm}
(或任何您喜欢的值)。
这9
意味着数字 9 的宽度是为号码布条目前面的数字保留的。如果条目少于 10 个,这没问题;如果条目超过 10 个,则写为99
或 ,999
如果超过 100 个,则写为 等等。
\documentclass[12pt,a4paper]{article}
\begin{document}
\begin{thebibliography}{9}
\setlength{\itemsep}{3cm}
\bibitem{26}{W. Arendt, C.J.K. Batty, M. Hieber, and F. Neubrander:}
{Vector-Valued Laplace Transforms and Cauchy Problems,} Monographs in
Mathematics, 2001.
\bibitem{4}{W. Arendt, J.R. Goldstein, and J.A. Goldstein:}
{Outgrowths of Hardy's inequality,} Contemp. Math. 412 (2006), pp.
51-68.
\end{thebibliography}
\end{document}