Bib(la)tex ayuda

Bib(la)tex ayuda

Tengo dos preguntas respecto a biblatex.

  1. Tengo entradas de bibliografía de MathSciNet y tiene varios campos. Por ejemplo, uno de estos se parece a:

    @article {Gratzer2013,
        AUTHOR = {Gr\"{a}tzer, G.},
         TITLE = {The order of principal congruences of a bounded lattice},
       JOURNAL = {Algebra Universalis},
      FJOURNAL = {Algebra Universalis},
        VOLUME = {70},
          YEAR = {2013},
        NUMBER = {1},
         PAGES = {95--105},
          ISSN = {0002-5240},
       MRCLASS = {06B10 (06A06)},
      MRNUMBER = {3073941},
    MRREVIEWER = {S. Parameshwara Bhatta},
           DOI = {10.1007/s00012-013-0242-3},
           URL = {https://doi.org/10.1007/s00012-013-0242-3},
    }
    

    Mientras usa el siguiente comando:

    {    
    %%%% biblatex usage
    
    \usepackage[style=numeric, backend=biber, backref, bibencoding=utf8, sorting=nyt]{biblatex} 
    
    \addbibresource{ref.bib}
    
    }
    

    y luego compilando con biber no obtengo los datos de "MRNUMBER" o "MRCLASS" o "MRREVIEWER".

    Mi pregunta es: ¿qué debo hacer para obtener estos u otros datos relevantes para mi bibliografía? ¿Existe alguna clase estándar que haga esto?

  2. Mis archivos .bib antiguos se compilaron manualmente y no tienen la información que tengo actualmente usando la función MathSciNet. ¿Es posible agregar automáticamente esta información a cientos de entradas de bibliografía en varios .bibarchivos?

Respuesta1

Cambiar de amsrefs a biblatexYa se muestra cómo se puede hacer el mrnumbershow en la bibliografía, así que aquí te lo mostramos mrclassy mrreviewertambién.

La idea es la misma. Primero definimos un nuevo archivo de modelo de datos ( .dbx) con los nuevos campos y lo cargamos con la datamodelopción. Luego necesitamos formatos para esos campos y finalmente necesitamos imprimir los campos en una bibmacro ( mrinfo) que se llama en una de las macros estándar ( doi+eprint+url).

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{filecontents}

\begin{filecontents*}{mrnumber.dbx}
\DeclareDatamodelFields[type=field,datatype=literal]{mrnumber,mrclass}
\DeclareDatamodelFields[type=list, datatype=name]{mrreviewer}
\DeclareDatamodelEntryfields{mrnumber,mrclass,mrreviewer}
\end{filecontents*}

\usepackage[style=numeric, backend=biber, sorting=nyt, datamodel=mrnumber]{biblatex}
\usepackage{hyperref}


\DeclareFieldFormat{mrnumber}{%
  \ifhyperref
    {\href{http://www.ams.org/mathscinet-getitem?mr=1#1}{MR#1}}
    {MR#1}}

\DeclareFieldFormat{mrclass}{#1}

\DeclareNameAlias{bymrreviewer}{byeditor}

\newbibmacro*{mrinfo}{%
  \printfield{mrnumber}%
  \iffieldundef{mrclass}
    {\setunit*{\addcomma\space}}
    {\setunit*{\addspace}}%
  \printfield{mrclass}%
  \setunit*{\addcomma\space}%
  \ifnameundef{mrreviewer}
    {}
    {\bibstring{byreviewer}%
     \setunit{\addspace}%
     \printnames[bymrreviewer]{mrreviewer}}}

\newtoggle{bbx:mrinfo}
\DeclareBibliographyOption[boolean]{mrinfo}[true]{\settoggle{bbx:mrinfo}{#1}}
\ExecuteBibliographyOptions{mrinfo}

\renewbibmacro*{doi+eprint+url}{%
  \iftoggle{bbx:doi}
    {\printfield{doi}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:mrinfo}
    {\usebibmacro{mrinfo}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:eprint}
    {\usebibmacro{eprint}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}}
    {}}


\begin{filecontents*}{\jobname.bib}
@article{gratzer,
  author     = {Grätzer, G.},
  title      = {The order of principal congruences of a bounded lattice},
  journal    = {Algebra Universalis},
  volume     = {70},
  year       = {2013},
  number     = {1},
  pages      = {95--105},
  mrclass    = {06B10 (06A06)},
  mrnumber   = {3073941},
  mrreviewer = {S. Parameshwara Bhatta},
  doi        = {10.1007/s00012-013-0242-3},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{gratzer,sigfridsson}

\printbibliography
\end{document}

G. Grätzer. 'El orden de las principales congruencias de una red acotada'. En: Algebra Universalis 70.1 (2013), págs. 95-105. doi: 10.1007/s00012-013-0242-3. MR3073941 06B10 (06A06), rev. por S. Parameshwara Bhatta.


Para el segundo tema, le sugiero que haga una nueva pregunta, ya que no tiene biblatexninguna relación. Podrías consultarhttps://mathscinet.ams.org/mrlookupcon tus .bibentradas y obtén el resultado. Siempre que sus campos authory titlesean precisos (y coincidan con la información en MathSciNet), eso debería darle la entrada correcta. La herramienta Pythonhttps://pypi.org/project/bibupdate/parece hacer precisamente eso.

información relacionada