Probleme beim Drucken bestimmter Refsections

Probleme beim Drucken bestimmter Refsections

Ich stelle einen Lebenslauf zusammen und habe einen Abschnitt für technische Berichte, habe jedoch Probleme, diesen Abschnitt und bestimmte andere Abschnitte in das Ausgabedokument aufzunehmen.

\begin{refsection} % This is a custom heading for those references marked as "Technical Report" 
\nocite{*}
\printbibliography[sorting=chronological, type=techreport, title={technical reports}, keyword={Technical Report}, heading=subbibliography]
\end{refsection}

Ich habe auf jeden Fall Folgendes techreportin meiner .bibAkte vermerkt:

@article{Natarajan2011,
author = {Natarajan, Nagarajan and Singh-Blom, Ulf Martin and Tewari, Ambuj and Woods, John O and Dhillon, Inderjit S and Marcotte, Edward M},
file = {:Users/jwoods/Downloads/Papers/Natarajan2011.pdf:pdf},
journal = {UTCS Technical Report},
title = {{Predicting gene\textendash disease associations using multiple species data.}},
volume = {TR-11-37},
year = {2011},
type = {techreport},
keyword = {Technical Report}

Ich habe versucht, die Parameter keywordund typeunabhängig voneinander zu verwenden, aber das funktioniert bei mir nicht. Seltsamerweise wird articlestattdessen der technische Bericht im Abschnitt angezeigt, obwohl ich darauf geachtet habe, technische Berichte auszuschließen:

\begin{refsection} % Articles that aren't in preparation
\nocite{*}
\printbibliography[sorting=chronological, type=article, title={articles}, notkeyword={In Preparation}, notkeyword={Technical Report}, heading=subbibliography]
\end{refsection}

In einigen Fällen scheint es auch meine Befehle zu ignorieren \DeclareBibliographyDriver, beispielsweise bei meiner Dissertation:

\RequirePackage[style=verbose, maxnames=99, sorting=ydnt]{biblatex}

\DeclareFieldFormat[patent]{title}{#1\par}
\DeclareFieldFormat[article]{title}{#1\par}
\DeclareFieldFormat[book]{title}{#1\par}
\DeclareFieldFormat[inproceedings]{title}{#1\par}
\DeclareFieldFormat[phdthesis]{title}{#1\par}

%
% ... other declarations, which do work ...
%

\DeclareBibliographyDriver{phdthesis}{%
  \printfield{title}%
  \newblock%
  \printnames{author}%
  \par%
  \newblock%
  {%
    \footnotesize\addfontfeature{Color=lightgray}%
    \printfield{title}%
    \setunit{\addcomma\space}%
    \printfield{year}%
    %\setunit{\addcomma\space}%
    %\printlist{location}%
    \newunit%
  }
  \par\vspace{0.3\baselineskip}
}

Stattdessen wird es im Standardformat Autor – Titel gedruckt, obwohl ich in einer Zeile eindeutig den Titel und in der nächsten den Autor angegeben habe.

Es scheint, als würde ich die Befehle irgendwie missverstehen \printbibliography. Kann mir jemand helfen, dieses Missverständnis zu korrigieren?

Antwort1

Drei Fehler!

  1. Die \printbibliographyOption (Schlüssel) type dient nicht zum Filtern der Einträge nach dem Feld type, sondern zum Drucken des bibitem nach entry names. es bedeutet, @book, @article, usw... (ohne @). Das Beispiel bibitemtry ist ein , @articlewenn es geändert wird in , @techreportfunktioniert es, wenn die typeOption ( \printbibliography) istBericht.

Zum Filtern nach Feld (anders als bei Schlüsselwörtern) können Sie checkdie Option und verwenden \defbibcheck. Zum Filtern nach typeist gleichTechnikbericht.

\defbibcheck{techreport}{%
\iffieldundef{type}
 {\skipentry}
 {\iffieldequalstr{type}{techreport}
    {}
    {\skipentry}}}

Und

\printbibliography[check=techreport]

  1. Das Bibtex-Feld ist keywordsnichtStichwort. Der Beispiel-Bibtex-Eintrag verwendetStichwort.

  2. Standardmäßig biblatexwird der Eintrag nicht verwendet phdthesis. Es wird der thesisEintrag für phdthesisund verwendet mastersthesis. Und es ist möglich, das typeFeld für Auswahlmöglichkeiten zu verwenden, wenn der Eintrag masterthesisoder ist. Wenn ein mit phdthesisdefiniert ist , „konvertieren“ Sie es in einen Eintrag und definieren Sie das Feld fürentry@pdfthesisbiblatexthesistypeDoktorarbeit.

Im Beispiel in der Frage ist es notwendig, den thesisTreiber neu zu definieren und das titleEingabeformat anzugeben thesis.

\DeclareFieldFormat[thesis]{title}{#1\par}

\DeclareBibliographyDriver{thesis}{%
  \printfield{title}%
  \newblock%
  \printnames{author}%
  \par%
  \newblock%
  {%
    \printfield{title}%
    \setunit{\addcomma\space}%
    \printfield{year}%
    \newunit%
  }
  \par\vspace{0.3\baselineskip}}

MWE:

\documentclass{article}
\RequirePackage[style=authoryear, maxnames=99]{biblatex}
\begin{filecontents}{MWE.bib}
    @techreport{Natarajan2011,
    author = {Natarajan, Nagarajan and Singh-Blom, Ulf Martin and Tewari, Ambuj and Woods, John O and Dhillon, Inderjit S and Marcotte, Edward M},
    file = {:Users/jwoods/Downloads/Papers/Natarajan2011.pdf:pdf},
    journal = {UTCS Technical Report},
    title = {{Predicting gene\textendash disease associations using multiple species data.}},
    volume = {TR-11-37},
    year = {2011},
    type = {techreport},
    keywords = {Technical Report}}

    @phdthesis{thesis000,
    author = {Author Name},
    title = {Title of the thesis},
    type= {phdthesis},
    year = {2011}}
\end{filecontents}

\addbibresource{MWE.bib}

\defbibcheck{techreport}{%
\iffieldundef{type}
 {\skipentry}
 {\iffieldequalstr{type}{techreport}
    {}
    {\skipentry}}}

\DeclareFieldFormat[thesis]{title}{#1\par}

\DeclareBibliographyDriver{thesis}{%
  \printfield{title}%
  \newblock%
  \printnames{author}%
  \par%
  \newblock%
  {%
    \printfield{title}%
    \setunit{\addcomma\space}%
    \printfield{year}%
    \newunit%
  }
  \par\vspace{0.3\baselineskip}}

\begin{document}

\begin{refsection} 
\nocite{*}
\printbibliography[type=report,title=Printing the {\it reports} entries]
\printbibliography[check=techreport,title=Filtering by {\it type} field equals to techreport]
\printbibliography[keyword=Technical Report,title=Filtering by keyword]
\printbibliography[title=Editing the {\it thesis} driver, type=thesis]
\end{refsection}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen