\DeclareSourcemap 命令下的 \iffieldundef 等效项

\DeclareSourcemap 命令下的 \iffieldundef 等效项

我使用\DeclareSourcemap命令来修复一大堆以不良方式呈现的内容。例如,如果一篇文章已在学术期刊上发表并包含卷信息,我会使用它来隐藏出版月份:

\DeclareSourcemap{  
    \maps[datatype=bibtex]{
        \map{
            \pertype{article}
            \step[fieldsource=volume,final]
            \step[fieldset=month,null]
            \step[fieldset=month_numeric,null]
        }                   
    }
}

我不知道如何使替换以字段缺失为条件。例如,我不希望出现Url不带 a 的 s Urldate。我正在寻找的语法将具有与此类似的逻辑:

\DeclareSourcemap{  
    \maps[datatype=bibtex]{
        \map{
            \iffieldundef{urldate}
            \step[fieldset=url,null]
        }                   
    }
}

答案1

notfield使用 biber 2.6 DEV 和 biblatex 3.5 DEV尝试新的映射功能:

\DeclareSourcemap{  
  \maps[datatype=bibtex]{
      \map{
        \step[notfield=urldate, final]
        \step[fieldset=url, null]
      }                   
   }
}

或者,如果测试后你不需要做任何事情:

\DeclareSourcemap{  
  \maps[datatype=bibtex]{
      \map{
        \step[notfield=urldate, fieldset=url, null]
      }                   
   }
}

相关内容