연도별이 아닌 제1저자(모든 이름 아님)별로 정렬하거나 biblatex의 부분 항목별로 정렬

연도별이 아닌 제1저자(모든 이름 아님)별로 정렬하거나 biblatex의 부분 항목별로 정렬

첫 번째 저자만을 기준으로(저자 제목 스타일) 내 biblatex 항목을 정렬해야 하지만 참고문헌의 전체 저자 목록이 필요합니다. 나는 다음과 같은 것을 사용할 수 있습니다

\DeclareSortingScheme{mio}{
 \sort{\field{author}}
}

그런데 어떻게 제1저자만 추출할 수 있나요? 그렇지 않으면 bibtex 항목(예를 들어 첫 번째 저자)에서 부분 정보를 어떻게 추출할 수 있습니까?

누구든지 나를 도와줄 수 있나요?

감사합니다

나는 biblatex biber teklive를 사용합니다

여기서 참조 순서는 반대여야 합니다.

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

예:

\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{filecontents}
\usepackage[natbib = true, backend = biber, style = authoryear, sorting = nyt]{biblatex}

\begin{filecontents}{\jobname.bib}

@article{A2014,
author={A,B and C,D},
title={Test},
year = {2014}
}

@article{A2000,
author={A,B and D,E},
title={Test},
year = {2000}
}

\end{filecontents} 

\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
\printbibliography

\end{document}

업데이트

지금 당장 답을 얻었지만 이것이 나와 같은 초보자에게 일반적인 문제일 수 있다고 생각하고 인터넷에서 예를 찾지 못했기 때문에 어쨌든 질문을 편집했습니다.

그러므로 제가 배우는 데 도움이 되도록 sortname의 사용에 대한 세부 정보도 제공하여 이 질문에 답변해 주시기 바랍니다 .\DeclareSourcemap \DeclareSortingScheme

답변1

귀하의 질문에 내가 언급한 방법에 따르면 참고문헌 항목을 정렬하는 데는 두 가지 가능성이 있습니다.

첫 번째: 첫 번째 저자의 성만 사용

사용방법은 (biblatex.pdf. 59페이지) biber로 사용하시면 됩니다 . labelalpha를 사용하면 labelalpha작성자를 한 명만 사용할 수 있습니다 maxalphanames. 그런 다음 1biber 로 설정된 경우 labelalpha. 마지막 labelalpha으로 예를 들어 anyt(페이지 254, biblatex.pdf)을 사용하는 정렬 방식을 지정해야 합니다 . 그런 다음 biblatex다음을 로드합니다.

\usepackage[maxalphanames=1,labelalpha,maxbibnames=99, sorting=anyt, style=authoryear, natbib=true,  backend=biber]{biblatex}

MWE

\documentclass{article}
\begin{filecontents}{MWE.bib}
@article{A2014,
author={A,B and C,D},
title={Test},
year = {2014}
}

@article{A2000,
author={A,B and D,E},
title={Test},
year = {2000}
}

\end{filecontents}
\usepackage[maxalphanames=1,labelalpha,maxbibnames=99, sorting=anyt, style=authoryear, natbib=true,  backend=biber]{biblatex}
\addbibresource{MWE.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}

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

maxbibanames=99참고문헌의 전체 저자를 인쇄하기 위한 것입니다 .

두 번째: 제1저자의 성명을 사용하는 것

를 사용하면 가능합니다 DeclareStyleSourcemap. 필드를 biblatex사용할 수 있는 대부분의 기본 알파벳 정렬 방식입니다 sortname. 그러면 DeclareStyleSourcemap해당 분야의 첫 번째 저자의 이름을 복사하여 사용할 수 있습니다 sortname. 설명을 보려면 설명서를 Regular Expressions읽어보세요.perl여기.

\DeclareStyleSourcemap{
    \maps[datatype=bibtex]{
      \map{
        \step[fieldsource=author, match=\regexp{(.+)\sand}, final]
        \step[fieldset=sortname, fieldvalue=$1, final]  }
}}

MWE

\documentclass{article}
\begin{filecontents}{MWE.bib}
@article{A2014,
author={A,Bo and M,M},
title={Test},
year = {2014}
}

@article{A2000,
author={A,Co and D,E},
title={Test},
year = {2000}
}

\end{filecontents}

\RequirePackage[maxbibnames=99, sorting=nyt, style=authoryear,  backend=biber]{biblatex}

\DeclareStyleSourcemap{
    \maps[datatype=bibtex]{
      \map{
        \step[fieldsource=author, match=\regexp{(.+)\sand}, final]
        \step[fieldset=sortname, fieldvalue=$1, final]  }
}}

\addbibresource{MWE.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}

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

관련 정보