biblatex: 発行日から日付を分離、ジャーナルタイトルの後ろに日付、括弧なし

biblatex: 発行日から日付を分離、ジャーナルタイトルの後ろに日付、括弧なし

私の参考文献はほぼ希望どおりになっていますが、例外が 1 つあります。ジャーナル タイトルの後に年号をカンマで区切って括弧なしで表示したいのです。現在、号数と年号は括弧で囲まれています。また、コロンは、希望どおり号数の後ではなく巻数の後に表示されています。(別の回答で提案されているように、何百もの Bibtex エントリで番号を「号数」フィールドから「番号」フィールドに手動で移動することはできません)。

したがって、これの代わりに:ここに画像の説明を入力してください

これが欲しいです:ここに画像の説明を入力してください

これが私のMWEです

\documentclass{scrreprt}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}

\usepackage[
backend=biber,
style=numeric-comp,
giveninits=true,
maxbibnames=2,
%citestyle=nature,
sorting=none,
isbn=false,
doi=false
]{biblatex}

\DeclareNameAlias{sortname}{family-given/given-family}
\DeclareNameAlias{author}{sortname}
\DeclareNameAlias{editor}{sortname}
\DeclareNameAlias{translator}{sortname} % 1st author as lastname, comma, firstname-initials, 2nd author as firstname-initials lastname

\DeclareNameWrapperFormat{sortname}{\mkbibbold{#1}}
\DeclareNameWrapperAlias{author}{sortname}
\DeclareNameWrapperAlias{editor}{sortname}
\DeclareNameWrapperAlias{translator}{sortname} %names bold

\AtEveryBibitem{\clearfield{month}} %month not printed
\AtEveryBibitem{\clearfield{day}} %day not printed
\AtEveryBibitem{\clearfield{note}} %notes not printed

\DeclareFieldFormat*{title}{#1} %no quotation marks

\DeclareDelimFormat[biblist,bib]{nametitledelim}{\addcomma\space} %comma after names

\renewrobustcmd*{\bibinitdelim}{\,} %thinspace between name initials

\renewbibmacro{in:}{%
    \ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}} %supresses "In:" before journal titles

\DeclareFieldFormat{titlecase}{#1} %Journal titles capitalized as given (not sentence case)

\DeclareFieldFormat[article, inbook, incollection, inproceedings, misc, thesis, unpublished]
{number}{\mkbibparens{#1}} %number/issue between brackets

\DeclareFieldFormat[article, inproceedings, incollection, inbook]
{pages}{p. #1} %single p. instead of pp.

\renewbibmacro*{volume+number+eid}{
    \printfield{volume}
    \printfield{number}
    \printunit{\addcolon}} %format 16(4):224--225 for articles


%year after journal title

%no parentheses around date

\addbibresource{test.bib}

\usepackage{filecontents}

\begin{filecontents}{test.bib}
@Article{Brem2002,
    author          = {Brem, Rachel B and Yvert, Gaël and Clinton, Rebecca and Kruglyak, Leonid},
    title           = {Genetic dissection of transcriptional regulation in budding yeast.},
    journal         = {Science},
    year            = {2002},
    volume          = {296},
    pages           = {752--755},
    month           = apr,
    issue           = {5568},
}

@Article{Yvert2003,
    author          = {Yvert, Gaël and Brem, Rachel B and Whittle, Jacqueline and Akey, Joshua M and Foss, Eric and Smith, Erin N and Mackelprang, Rachel and Kruglyak, Leonid},
    title           = {Trans-acting regulatory variation in Saccharomyces cerevisiae and the role of transcription factors.},
    journal         = {Nat. Genet.},
    year            = {2003},
    volume          = {35},
    pages           = {57--64},
    month           = sep,
    issue           = {1},
}

\end{filecontents}  

\begin{document}

    I'm citing \cite{Brem2002} and \cite{Yvert2003}.

    \printbibliography

\end{document}  

答え1

および の次の再定義はjournal+issuetitlevolume+number+eidのコードからコピーされますbiblatex-ext。そのため、カスタマイズ可能なマクロがいくつか含まれています。

日付の月と日を抑制するために を使用する代わりに、ロード時のオプションで\clearfield指定する方が簡単です。date=year,

\documentclass{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}

\usepackage[
  backend=biber,
  style=numeric-comp,
  sorting=none,
  maxbibnames=2,
  giveninits=true,
  date=year,
  isbn=false,
  doi=false,
]{biblatex}

\DeclareNameAlias{sortname}{family-given/given-family}
\DeclareNameAlias{author}{sortname}
\DeclareNameAlias{editor}{sortname}
\DeclareNameAlias{translator}{sortname}

\DeclareNameWrapperFormat{sortname}{\mkbibbold{#1}}
\DeclareNameWrapperAlias{author}{sortname}
\DeclareNameWrapperAlias{editor}{sortname}
\DeclareNameWrapperAlias{translator}{sortname}

\renewrobustcmd*{\bibinitdelim}{\,}

\DeclareDelimFormat[biblist,bib]{nametitledelim}{\addcomma\space}

\DeclareFieldFormat*{title}{#1}

\renewbibmacro{in:}{%
  \ifentrytype{article}
    {}
    {\printtext{\bibstring{in}\intitlepunct}}}

\newcommand*{\volnumdelim}{\adddot}
\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \setunit*{\volnumdelim}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}

\renewcommand*{\volnumdelim}{}
\DeclareFieldFormat[article, periodical]{number}{\mkbibparens{#1}}

\newcommand*{\jourdatedelim}{\addcomma\space}
\newcommand*{\jourserdelim}{\addcomma\space}
\newcommand*{\datevolnumdelim}{\newunitpunct}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\jourdatedelim}%
  \iffieldundef{series}
    {}
    {\setunit*{\jourserdelim}%
     \printfield{series}%
     \setunit{\jourdatedelim}}%
  \usebibmacro{date}%
  \setunit{\datevolnumdelim}%
  \usebibmacro{volume+number+eid}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}

\renewcommand*{\bibpagespunct}{%
  \ifentrytype{article}
    {\addcolon}
    {\addcomma}%
  \space
}

\DefineBibliographyStrings{english}{
  pages = {p\adddot},
}

\addbibresource{biblatex-examples.bib}

\begin{document}
\autocite{sigfridsson}
\printbibliography
\end{document}

Sigfridsson, E. および U. Ryde、「静電ポテンシャルとモーメントから原子電荷を導出する方法の比較」。Journal of Computational Chemistry、1998 年、19(4): p. 377–395。

ファイルではwhereがより適切な場所.bibを使用しているため、Biber ソース マップを使用してこれを即座に修正できます。issuenumberbiblatex - 日付内のジャーナルの発行番号

関連情報