我使用 Biblatex 创建大学最近论文的参考书目。我的教授希望我们为参考书目设置单倍行距(其余文档为半行距)。不幸的是,当我使用
\begin{singlespace}
\printbibliography
\end{singlespace}
参考书目的标题也采用单倍行距。因此,它的高度与其他采用半倍行距的章节标题不同。
我怎样才能保留参考书目标题的半倍行距,并使参考书目条目保持单倍行距?
编辑:除了间距之外,参考书目条目还需要有字体大小小的。如何在不改变参考书目标题大小的情况下进行自定义?
答案1
我们可以在 中包含字体大小和行距变化\bibfont
。不幸的是setspace
,\singlespacing
也存在问题,当它用于测量标签宽度时\vskip
会导致问题,所以我们在没有它的情况下定义我们自己的副本。\bibfont
\vspace
\documentclass[british]{book}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[onehalfspacing]{setspace}
\usepackage[backend=biber, style=numeric]{biblatex}
\usepackage{lipsum}
\makeatletter
\newcommand{\noskipsinglespacing}{%
\setstretch {\setspace@singlespace}% normally 1
}
\makeatother
\renewcommand*{\bibfont}{\small\noskipsinglespacing}
\addbibresource{biblatex-examples.bib}
\begin{document}
\chapter*{Lorem ipsum dolor sit amet consectur}
\lipsum[2]
\chapter{Lorem}
Lorem
\autocite{sigfridsson,worman,nussbaum,geer}
\lipsum[1]
\printbibliography[title={Lorem ipsum dolor sit amet consectur}]
\end{document}
答案2
对于您的编辑,将参考书目字体大小更改为的首选方法\small
是使用\renewcommand*{\bibfont}{\small}
(图片来源:moewe)。可能有更好的方法来更改 biblatex 中各个条目的行距,但以下代码可以满足您的要求(假设您使用 的标题选项\printbibliography
):
\documentclass[oneside]{book}
\usepackage[backend=biber,natbib=true,style=numeric]{biblatex}
\usepackage{blindtext}
\usepackage{setspace}
\begin{filecontents}{\jobname.bib}
@article{one,
author = {Chi, Yu-Chou and Lee, Shou-Lun and Lai, Ching-Long and Lee, Yung-Pin and Lee, Shiao-Pieng and Chiang, Chien-Ping and Yin, Shih-Jiun},
journal = {Chemico-Biological Interactions},
pages = {134--141},
title = {{Ethanol oxidation and the inhibition by drugs in human liver, stomach and small intestine: Quantitative assessment with numerical organ modeling of alcohol dehydrogenase isozymes}},
volume = {258},
year = {2016}
}
@article{two,
author = {Adolf-Bryfogle, Jared and Teets, Frank D and Bahl, Christopher D},
journal = {Current Opinion in Structural Biology},
pages = {170--177},
title = {{Toward complete rational control over protein structure and function through computational design}},
volume = {66},
year = {2021}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\renewcommand*{\bibfont}{\small} % Answer to edit
\onehalfspacing
\begin{document}
\chapter{One}
\blindtext \cite{one, two}
% Answer to main question
\begingroup
\singlespacing
\printbibliography[title={\onehalfspacing Really long title so that it spans two lines so the line stretching can be observed}]
\endgroup
\end{document}
此示例在正文中产生了以下内容:
并在参考书目中给出了如下内容:
我曾经\begin{filecontents}{\jobname.bib}...\end{filecontents}
在示例中包含参考资料,但您不需要它,该包blindtext
已用于在第 1 章中创建填充文本,您可以将其更改\addbibresource
为参考文件。使用\begingroup
并\endgroup
保留本地内部发生的所有内容。希望这对您有所帮助。