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 techreport
in meiner .bib
Akte 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 keyword
und type
unabhängig voneinander zu verwenden, aber das funktioniert bei mir nicht. Seltsamerweise wird article
stattdessen 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!
- Die
\printbibliography
Option (Schlüssel)type
dient nicht zum Filtern der Einträge nach dem Feldtype
, sondern zum Drucken des bibitem nachentry names
. es bedeutet,@book
,@article
, usw... (ohne@
). Das Beispiel bibitemtry ist ein ,@article
wenn es geändert wird in ,@techreport
funktioniert es, wenn dietype
Option (\printbibliography
) istBericht.
Zum Filtern nach Feld (anders als bei Schlüsselwörtern) können Sie check
die Option und verwenden \defbibcheck
. Zum Filtern nach type
ist gleichTechnikbericht.
\defbibcheck{techreport}{%
\iffieldundef{type}
{\skipentry}
{\iffieldequalstr{type}{techreport}
{}
{\skipentry}}}
Und
\printbibliography[check=techreport]
Das Bibtex-Feld ist
keywords
nichtStichwort. Der Beispiel-Bibtex-Eintrag verwendetStichwort.Standardmäßig
biblatex
wird der Eintrag nicht verwendetphdthesis
. Es wird derthesis
Eintrag fürphdthesis
und verwendetmastersthesis
. Und es ist möglich, dastype
Feld für Auswahlmöglichkeiten zu verwenden, wenn der Eintragmasterthesis
oder ist. Wenn ein mitphdthesis
definiert ist , „konvertieren“ Sie es in einen Eintrag und definieren Sie das Feld fürentry
@pdfthesis
biblatex
thesis
type
Doktorarbeit.
Im Beispiel in der Frage ist es notwendig, den thesis
Treiber neu zu definieren und das title
Eingabeformat 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}