
Tengo mi bibliografía casi exactamente como la quiero, con una excepción: me gustaría que el año vaya después del título de la revista, separado por una coma, sin paréntesis. En este momento, el número de edición y el año están juntos entre paréntesis. Además, los dos puntos aparecen después del volumen en lugar de después del número, como me gustaría. (No puedo mover manualmente el número del campo "problema" al campo "número" en cientos de entradas de Bibtex, como se sugiere en otra respuesta).
Aquí está mi 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}
Respuesta1
Las siguientes redefiniciones de journal+issuetitle
yvolume+number+eid
se copian del código de biblatex-ext
. Por eso contienen algunas macros personalizables.
En lugar de usar \clearfield
para suprimir el mes y los días en la fecha, debería ser más sencillo simplemente decirlo date=year,
en las opciones de tiempo de carga.
\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}
desde tu.bib
archivo utiliza issue
dónde number
sería más apropiado, puede solucionar este problema sobre la marcha con un mapa fuente de Biber:biblatex - número de edición de la revista en la fecha.