年順ではなく第一著者のみ(すべての名前ではない)で並べ替えるか、biblatex の部分的なエントリで並べ替えます。

年順ではなく第一著者のみ(すべての名前ではない)で並べ替えるか、biblatex の部分的なエントリで並べ替えます。

私は、Biblatexのエントリを第一著者のみ(authortitleスタイル)に基づいて並べ替える必要がありますが、参考文献には著者の完全なリストが必要です。次のようなものを使用できます。

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

しかし、第一著者だけを抽出するにはどうしたらいいのでしょうか? 言い換えると、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

あなたの質問にコメントしたように、参考文献のエントリを並べ替えるには 2 つの可能性があります。

1つ目: 第一著者の姓のみを使用する

の使用方法については、 (biblatex.pdf、59 ページ)biberを使用できます。 を使用すると、 で 1 人の著者のみを使用できます。 次に、 に設定すると、 の最初の著者 (実際には姓) のみを使用して が作成されます。 最後に、たとえば(ページ 254、biblatex.pdf)を使用する並べ替えスキームを指定する必要があります。 次に、 をロードします。labelalphalabelalphamaxalphanames1labelalphalabelalphaanytbiblatex

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

ムウェ

\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参考文献に著者名全文を印刷するためのものです。

2番目: 第一著者のフルネームを使用する

これは を使用することで可能ですDeclareStyleSourcemap。 のデフォルトのアルファベット順ソートスキームのほとんどは、フィールドでbiblatex使用できます。 次に、フィールドの最初の著者のフルネームをコピーするために を使用できます。 についての説明については、ドキュメントをお読みください。sortnameDeclareStyleSourcemapsortnameRegular Expressionsperlここ

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

ムウェ

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

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

関連情報