特定の参照セクションを印刷できない

特定の参照セクションを印刷できない

私は履歴書を作成中で、技術レポートのセクションがあるのですが、このセクションと他の特定のセクションを出力ドキュメントに含めるのに問題があります。

\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}

私のファイルtechreportには確かに次の内容が記載されています:.bib

@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}

keywordとパラメータを個別に使用してみましたtypeが、うまくいきませんでした。奇妙なことに、article技術レポートを除外するように注意したにもかかわらず、代わりに セクションに技術レポートが表示されます。

\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}

\DeclareBibliographyDriverまた、場合によっては、私のコマンドを無視するようです。たとえば、私の論文の場合です。

\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}
}

代わりに、1 行目にタイトル、次の行に著者を明記したにもかかわらず、著者、タイトルの標準形式で印刷されます。

どうやら私はコマンドを誤解しているようです\printbibliography。この誤解を正すのを手伝ってくれる人はいませんか?

答え1

3つの間違い!

  1. オプション\printbibliography(キー) は、type フィールド でエントリをフィルタリングするのではなくtype、 で bibitem を印刷しますentry names。つまり、、、@bookなど@article( なし@) を意味します。例の bibentry は です@articleが、 に変更すると@techreport、オプションtype( \printbibliography) が報告

checkフィールドによるフィルタリング(キーワードとは異なります)には、オプションとを使用できます\defbibcheck。たとえば、次の値typeに等しいフィルタリングをするには、技術レポート

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

そして

\printbibliography[check=techreport]

  1. bibtexフィールドkeywordsキーワード. 例のbibtexエントリでは、キーワード

  2. デフォルトではbiblatexエントリ は使用されませんphdthesis。 および のエントリを使用します。thesisまた、エントリがまたは の場合、フィールドを選択肢に使用できます。 がでと定義されている場合は、エントリに「変換」してフィールドをと定義します。phdthesismastersthesistypemasterthesisphdthesisentry@pdfthesisbiblatexthesistype博士論文

質問の例では、thesisドライバーを再定義し、エントリtitleの形式を宣言する必要があります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}

ここに画像の説明を入力してください

関連情報