我正在使用 biblatex 制作带注释的阅读列表。对于较长的注释,注释字段内可用的格式选项有限。目前,我正在使用在\par
阅读列表中的注释中获取新段落。是否可以在注释内使普通段落正常工作(<CR><CR>
)?这将使外部注释文件更加灵活。
答案1
Biber 将所有换行符解析为普通空格(我认为 BibTeX 也是如此),因此您无法在文件中获得带有空行的新段落.bib
。\par
似乎是最简单的选择。
但我想说该.bib
文件可能不是为您的条目撰写长注释的最佳位置。
如果您想在.bib
条目中添加更大的注释,使用外部文件来存储这些注释可能会更方便.tex
(您可以在其中使用空行\par
)。另请参阅如何在 biblatex 中嵌入评论?, §3.13.8外部摘要和注释和 §4.11.3外部摘要和注释的手册biblatex
。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, loadfiles, backend=biber]{biblatex}
\renewbibmacro{finentry}{%
\setunit{%
\finentrypunct
\renewcommand*{\finentry}{}%
\par}%
\usebibmacro{annotation}%
\finentry
}
\begin{filecontents}{\jobname.bib}
@book{appleby,
author = {Humphrey Appleby},
title = {On the Importance of the Civil Service},
date = {1980},
}
\end{filecontents}
\begin{filecontents}{bibannotation-appleby.tex}
Lorem ipsum \[x^2+y^2=z^2\] that was mathy.
Also $a+b=c$ and so forth.
Just a few words to make the next
paragraph stand out properly.
We can even have a new paragraph.
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{sigfridsson,appleby}
\printbibliography
\end{document}
对于更重的段落标记,你可以自定义
\setlength{\bibparsep}{0.5\baselineskip plus 2pt}
或者在打印之前更改段落设置annotation
(通常您可能不会将和都设置\parskip
为\parindent
非零值,但这只是为了演示目的)
\renewbibmacro{finentry}{%
\setunit{%
\finentrypunct
\renewcommand*{\finentry}{}%
\par}%
\setlength{\parskip}{0.5\baselineskip plus 2pt}%
\setlength{\parindent}{1em}%
\usebibmacro{annotation}%
\finentry
}
(我不太喜欢在 bibmacro 中拥有这样的格式设置,但由于它们作用于段落,所以这是最简单的正确方法。)