첫 번째 저자만을 기준으로(저자 제목 스타일) 내 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
. 그런 다음 1
biber 로 설정된 경우 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}