Biblatex Biber: Suffix ohne Komma

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


Melissa

Biblatex Biber: Suffix ohne Komma

Beitrag von Melissa »

Hallo,

ich habe kein Minimalbeispiel parat, da es sich um eine generelle Frage handelt bzw. nicht akut ist.

Ich habe für die References immer Biblatex mit Biber benutzt (style = authoryear).

Dabei hatte ich 2 Probleme:

1)
\parencite[prefix][suffix]{ref} trennt den Suffix immer mit einem Komma:
(cf. Mustermann, 2010, on the...)

So sollte es ausschauen:
(cf. Mustermann, 2010 on the...)

Oder ist es mit Komma tatsächlich besser?

2)
\parencites{ref1, ref2} trennt Autoren durch ein Semikolon:
(Mustermann, 2010; Musterfrau, 2011)

So sollte es ausschauen (vereinzelt, also nicht für das ganze Dokument gültig):
(Mustermann, 2010 and Musterfrau, 2011)
oder:
(Mustermann, 2010, Musterfrau, 2011)

Ich weiß, die 2. Variante sieht eher bescheiden aus...

Ich wende mich an dieses Forum, weil ich durch Eigenrecherche und "Rumgebastel" auf keine (angemessene) Lösung gestoßen bin.

Gast

Beitrag von Gast »

Wenn das Suffix (die postnote) eine Seitenzahl ist, dann kann es schon sinnvoll sein, das durch ein Komma abzutrennen (besonders nach eine Jahreszahl oder in einem numerischen Stil). Dadurch wird schneller deutlicher was zum Kürzel gehört und was Kommentar/Seitenzahl ist.

Du scheinst einen längeren Text im Sinn zu haben. Irgendwann ist der Punkt erreicht, ab dem es klüger ist von den optionalen Argumenten zu echtem Text überzugehen.
(cf. \cite{sigfridsson} on the tech in tech)
Ich würde die optionalen Argumente wirklich nur für kurze einleitende Worte wie 'cf.', 'siehe' etc. sowie Seitenzahlen/Fundstellen verwenden. Große Erörterungen gehören dann eher in eine andere Kombination.

Es ist aber natürlich überhaupt kein Problem, das Komma in ein Leerzeichen umzuwandeln. \postnotedelim ist das Zauberwort.

Den Trenner zwischen zwei Zitaten kann man mit \multicitedelim steuern. Um es hinzubekommen, dass man ein 'and' oder ein Komma - je nach Anzahl an Quellen - bekommt, bedarf es aber einiger Griffe in die Trickkiste. Hier “And” between last and second last cite using the \footcites command and authoryear-icomp funktioniert für einige Standardfälle (insbesondere Stile, die nicht comp sind) schon ganz gut. Es müsste noch einen komplizierten Weg geben, bei der man im Grunde \textcite kopiert. Ich meine, ich hätte das schon mal gesehen, kann es aber gerade nicht finden. Ohne Minimalbeispiel kann ich aber eh nichts testen. Von daher mache ich mich jetzt nicht ans Basteln.

Melissa

Beitrag von Melissa »

Danke dir, das Komma ist nun weg (an dieser Stelle durch deinen 2. Lösungsvorschlag dargestellt). Hier ein (hoffentlich brauchbares?) Minimalbeispiel für das 2. Problem, an dem ich gerade sitze:
\documentclass[12pt, oneside]{article}

\usepackage[backend = biber, bibencoding=utf8, style=authoryear, uniquename=false]{biblatex}
\addbibresource{bibliography.bib}

\DeclareFieldFormat{postnote}{#1}
\renewcommand{\postnotedelim}{\addspace}
\renewcommand{\multicitedelim}{\addsemicolon\space}


\usepackage{filecontents} 
\begin{filecontents}{bibliography.bib} 
    
@Article{Rao,
  author  = {R. P. Rao and D. H. Ballard},
  title   = {Predictive coding in the visual cortex: A functional interpretation of some extra-classical receptive-field effects},
  journal = {Nature Neuroscience},
  year    = {1999},
  volume  = {2},
  number  = {1},
  pages   = {79-87},
} 

@InProceedings{Barlow,
  author    = {H. B. Barlow},
  title     = {Possible principles underlying the transformation of sensory messages},
  booktitle = {Sensory communication},
  year      = {1961},
  editor    = {W. A. Rosenblith},
  pages     = {217–234},
  publisher = {Cambridge, MA: MIT press},
} 

@Article{Ballard,
  author  = {D. H. Ballard and others},
  title   = {Parallel visual computation},
  journal = {Nature},
  year    = {1983},
  volume  = {306},
  number  = {5938},
  pages   = {21–26},
} 

\end{filecontents}


\begin{document}

\parencites[see also][on efficient coding and analysis by synthesis]{Barlow}[on Bayesian inversion and predictive coding]{Ballard, Rao}

\printbibliography

\end{document}
Die Ausgabe sieht folgendermaßen aus:
(see also Barlow, 1961 on efficient coding and analysis by synthesis; Ballard et al., 1983; Rao and Ballard, 1999 on Bayesian inversion and predictive coding)

Die letzten 2 Autoren sollten nicht durch ein Komma, sondern durch ein "und" getrennt werden, also:
(see also Barlow, 1961 on efficient coding and analysis by synthesis; Ballard et al., 1983 and Rao and Ballard, 1999 on Bayesian inversion and predictive coding)

Wobei hier 2 "und" hintereinander auch nicht besonders gut aussehen...

Gast

Beitrag von Gast »

Für den von Dir verwendeten [d]authoryear[/d]-Stil sind die Anpassungen erträglich. Wir kopieren einfach Teile der Definition von \textcite an die richtige Stelle.

Für \cite brauchst Du
\DeclareCiteCommand{\cite}
  {\usebibmacro{prenote}}%
  {\usebibmacro{citeindex}%
   \iffirstcitekey
     {\setcounter{textcitetotal}{1}}
     {\stepcounter{textcitetotal}%
      \textcitedelim}%
   \usebibmacro{cite}}
  {}
  {\usebibmacro{postnote}}
Für \parencite
\DeclareCiteCommand{\parencite}[\mkbibparens]
  {\usebibmacro{prenote}}%
  {\usebibmacro{citeindex}%
   \iffirstcitekey
     {\setcounter{textcitetotal}{1}}
     {\stepcounter{textcitetotal}%
      \textcitedelim}%
   \usebibmacro{cite}}
  {}
  {\usebibmacro{postnote}}
Für \footcite
\DeclareCiteCommand{\footcite}[\mkbibfootnote]
  {\usebibmacro{prenote}}%
  {\usebibmacro{citeindex}%
   \iffirstcitekey
     {\setcounter{textcitetotal}{1}}
     {\stepcounter{textcitetotal}%
      \textcitedelim}%
   \usebibmacro{cite}}
  {}
  {\usebibmacro{postnote}}
Bei anderen Stilen (z.B. [d]authoryear-icomp[/tt]) sind die erforderlichen Änderungen deutlich komplexer.

Wie bereits erwähnt, würde ich Dir in dem Beispielsatz eher dazu raten, nicht \parencite zu nutzen. Was ist verkehrt mit
(see also \cite{Barlow} on efficient coding and analysis by synthesis, \cite{Ballard, Rao} on Bayesian inversion and predictive coding)
oder
\mkbibparens{see also \cite{Barlow} on efficient coding and analysis by synthesis, \cite{Ballard, Rao} on Bayesian inversion and predictive coding}
wenn Du automatische Klammern möchtest?

Melissa

Beitrag von Melissa »

Ich hatte mich gefragt, ob das im Kontext der postnote möglich ist, werde aber tatsächlich davon ablassen und habe mich dementsprechend für deine 2. Variante entschieden. Dennoch auch gut zu wissen, wie der Code aussehen müsste, würde ich mit \parencite arbeiten wollen. Besten Dank für deine ausführliche Antwort, ich habe den Status auf beantwortet gesetzt.

Antworten