Формат поля «аннотация» в biblatex

Формат поля «аннотация» в biblatex

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

Связанный контент