Eingerückte Anhänge mit BibLaTeX-Quellkarten

Eingerückte Anhänge mit BibLaTeX-Quellkarten

Ich versuche, eine kommentierte Bibliografie mit einem zusammenfassenden Absatz für jeden Eintrag zu erstellen, sodass der Nachtrag für jeden Eintrag in einer neuen Zeile eine Einrückungsebene tiefer als der Eintrag selbst erscheint.

Für jeden Eintrag mit

addendum = {Text.}

Folgendes scheint gut zu funktionieren und erzeugt genau das Ausgabeformat, das ich sehen möchte:

addendum = {\paragraph\indent{Text.}\\}

Ich versuche, eine automatische Konvertierung wie folgt durchzuführen:

\DeclareSourcemap{
    \maps[datatype=bibtex]{
        \map{
            \step[fieldsource=addendum, 
                match=\regexp{(.*)},
                fieldset=addendum,
                replace={\\paragraph\{\\indent $1\} \\}
            ]
        }
    }
}

Allerdings gelingt es mir nicht, die Zeichen im Ersetzungsfeld richtig zu maskieren, und LaTeX erzeugt den Fehler:

Undefined control sequence.
\\  ->\let \reserved@e 
                       \relax \let \reserved@f \relax \@ifstar {\let \reserv...
l.68 }

Ich komme damit nicht klar – definiere ich den Ausgabe-Regex falsch?

BEARBEITEN: Minimales funktionierendes Beispiel:

test.bib

@article{test,
  author    = {Luigi P. Cordella and
               Pasquale Foggia and
               Carlo Sansone and
               Mario Vento},
  title     = {A (Sub)Graph Isomorphism Algorithm for Matching Large Graphs},
  journal   = {{IEEE} Trans. Pattern Anal. Mach. Intell.},
  volume    = {26},
  number    = {10},
  pages     = {1367--1372},
  year      = {2004},
  doi       = {10.1109/TPAMI.2004.75},
  timestamp = {Sat, 12 Mar 2016 09:04:02 +0100},
  addendum = {This is a test of simple annotations.}
}

@article{test2,
  author    = {Luigi P. Cordella and
               Pasquale Foggia and
               Carlo Sansone and
               Mario Vento},
  title     = {A (Sub)Graph Isomorphism Algorithm for Matching Large Graphs},
  journal   = {{IEEE} Trans. Pattern Anal. Mach. Intell.},
  volume    = {26},
  number    = {10},
  pages     = {1367--1372},
  year      = {2004},
  doi       = {10.1109/TPAMI.2004.75},
  timestamp = {Sat, 12 Mar 2016 09:04:02 +0100},
  addendum = {\paragraph\indent{\textbf{Annotation:} This is a test of simple annotations using biblatex.}\\}
}

test.tex

\documentclass[a4]{article}
\usepackage[backend=biber]{biblatex}

\bibliography{test}

% Sourcemap is placed here.

\begin{document}

Test 1 \cite{test}
Test 2 \cite{test2}

\printbibliography

\end{document}

wobei Test 1 die Zitierung vor der Transformation und Test 2 die gewünschte Ausgabe ist.

Antwort1

Sie müssen nicht verwenden \DeclareSourcemap, ein einfaches

\DeclareFieldFormat{addendum}{\paragraph\indent{\textbf{Annotation:}\addspace#1}\\}

ist ausreichend:

\documentclass{article} % [a4] is not a correct option
\usepackage[english]{babel}
\usepackage{filecontents}
\begin{filecontents}{test.bib}
@article{test,
    author    = {Luigi P. Cordella and
        Pasquale Foggia and
        Carlo Sansone and
        Mario Vento},
    title     = {A (Sub)Graph Isomorphism Algorithm for Matching Large Graphs},
    journal   = {{IEEE} Trans. Pattern Anal. Mach. Intell.},
    volume    = {26},
    number    = {10},
    pages     = {1367--1372},
    year      = {2004},
    doi       = {10.1109/TPAMI.2004.75},
    timestamp = {Sat, 12 Mar 2016 09:04:02 +0100},
    addendum = {This is a test of simple annotations.}
}
@article{test2,
    author    = {Luigi P. Cordella and
        Pasquale Foggia and
        Carlo Sansone and
        Mario Vento},
    title     = {A (Sub)Graph Isomorphism Algorithm for Matching Large Graphs},
    journal   = {{IEEE} Trans. Pattern Anal. Mach. Intell.},
    volume    = {26},
    number    = {10},
    pages     = {1367--1372},
    year      = {2004},
    doi       = {10.1109/TPAMI.2004.75},
    timestamp = {Sat, 12 Mar 2016 09:04:02 +0100},
    addendum = {This is a test of simple annotations using biblatex.}
}
\end{filecontents}

\usepackage[backend=biber]{biblatex} 
\usepackage{csquotes} % added
% New format for addendum field
\DeclareFieldFormat{addendum}{\paragraph\indent{\textbf{Annotation:}\addspace#1}\\}
\addbibresource{test.bib} % Not \bibliography{test}

\begin{document}

Test 1 \cite{test}
Test 2 \cite{test2}

\printbibliography

\end{document}

Bildbeschreibung hier eingeben

PS = Ich habe auch einige Codezeilen Ihres MWE geändert, siehe Kommentare.

verwandte Informationen