저는 이력서를 작성하고 기술 보고서에 대한 섹션을 갖고 있지만 이 섹션과 다른 특정 섹션을 출력 문서에 포함시키는 데 문제가 있습니다.
\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
세 가지 실수!.
- 옵션
\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]
bibtex 필드는
keywords
그렇지 않습니다.예어. 예제 bibtex 항목은 다음을 사용하고 있습니다.예어.기본적으로
biblatex
항목을 사용하지 않습니다phdthesis
. 및thesis
에 대한 항목을 사용합니다 . 그리고 해당 항목이 또는 인 경우 해당 필드를 사용하여 선택할 수 있습니다 . with 가 정의 되면 이를 항목 으로 '변환' 하고 필드를 다음으로 정의합니다.phdthesis
mastersthesis
type
masterthesis
phdthesis
entry
@pdfthesis
biblatex
thesis
type
박사학위논문.
문제의 예에서는 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}