Я использую 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, но это был самый простой способ сделать их правильными, поскольку они действуют на абзацы.)