Sformatuj pole „adnotacja” w biblatex

Aug 28 2020

Używam biblatex do tworzenia listy lektur z adnotacjami. W przypadku dłuższych adnotacji opcje formatowania dostępne w polu adnotacji są ograniczone. Obecnie używam, \paraby uzyskać nowy akapit w adnotacji na liście do przeczytania. Czy jest możliwe, aby normalne akapity działały ( <CR><CR>) wewnątrz adnotacji? Dzięki temu zewnętrzne pliki adnotacji byłyby znacznie bardziej elastyczne.

Odpowiedzi

2 moewe Aug 28 2020 at 13:09

Biber analizuje wszystkie znaki nowego wiersza na zwykłe spacje (tak jak myślę, że BibTeX), więc nie można uzyskać nowego akapitu z pustą linią w .bibpliku. \parwydaje się najprostszą opcją.

Ale powiedziałbym, że .bibplik może po prostu nie być najlepszym miejscem do pisania długich adnotacji o twoich wpisach.

Jeśli chcesz dodać większe adnotacje do swoich .bibwpisów, wygodniej byłoby użyć zewnętrznego .texpliku do przechowywania tych adnotacji (gdzie możesz użyć pustych wierszy \par). Zobacz także Jak osadzić recenzję w biblatexie? , §3.13.8 Abstracts i Adnotacje zewnętrzne i §4.11.3 Abstracts zewnętrzne i adnotacje z obsługi .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}


Aby uzyskać cięższe znaczniki akapitu, możesz je dostosować

\setlength{\bibparsep}{0.5\baselineskip plus 2pt}

lub po prostu zmień ustawienia akapitu przed wydrukowaniem annotation(normalnie prawdopodobnie nie ustawiłbyś obu \parskipi \parindentwartości niezerowych, ale to tylko w celach demonstracyjnych)

\renewbibmacro{finentry}{%
  \setunit{%
    \finentrypunct
    \renewcommand*{\finentry}{}%
    \par}%
  \setlength{\parskip}{0.5\baselineskip plus 2pt}%
  \setlength{\parindent}{1em}%
  \usebibmacro{annotation}%
  \finentry
}

(Nie przepadam za ustawieniami formatowania takimi jak ten tylko w bibmacro, ale to był najłatwiejszy sposób, aby je naprawić, ponieważ działają na akapitach.)