특정 참조 부분을 인쇄하는 데 문제가 있음

특정 참조 부분을 인쇄하는 데 문제가 있음

저는 이력서를 작성하고 기술 보고서에 대한 섹션을 갖고 있지만 이 섹션과 다른 특정 섹션을 출력 문서에 포함시키는 데 문제가 있습니다.

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

대신 한 줄에는 제목을, 다음 줄에는 저자를 명확하게 표시하면 저자, 제목의 표준 형식으로 인쇄됩니다.

왠지 명령을 오해하고있는 것 같습니다 \printbibliography. 누구든지 이 오해를 바로잡도록 도와줄 수 있나요?

답변1

세 가지 실수!.

  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에 대한 항목을 사용합니다 . 그리고 해당 항목이 또는 인 경우 해당 필드를 사용하여 선택할 수 있습니다 . with 가 정의 되면 이를 항목 으로 '변환' 하고 필드를 다음으로 정의합니다.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}

여기에 이미지 설명을 입력하세요

관련 정보