自定义 chem-angew biblatex 样式

自定义 chem-angew biblatex 样式

我的大学对默认的 chem-angew 样式不满意。它应该如下所示:

书籍章节参考:作者、标题、在:书名,编辑:编辑,出版商,(年)、卷数、页码从-至

我的MWE

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber,style=chem-angew, articletitle=true, chaptertitle=true]{biblatex}

\DeclareFieldFormat[inbook]{title}{#1}
\DeclareFieldFormat{year}{\mkbibbold{\mkbibparens{#1}}} % <- does not work

\begin{filecontents}[overwrite]{\jobname.bib}

@inbook{ullmannPolyacrylates,
author = {Penzel, Erich and Ballard, Nicholas and Asua, José M.},
publisher = {Wiley},
editor = {{Elvers B. Wiley-VCH Verlag GmbH and Co. KGaA}},
title = {Polyacrylates},
booktitle = {Ullmann's Encyclopedia of Industrial Chemistry},
pages = {1-20},
year = {2018},
volume = {40}
}

\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
  In \cite{ullmannPolyacrylates} one can see stuff

  \printbibliography
\end{document}

在此处输入图片描述

我需要改变

  • 章节标题后应该有一个逗号(..,聚丙烯酸酯,...)
  • “in” 必须更改为 In: (..., In: ...)
  • 必须改为(年)
  • 编辑者周围没有括号
  • 仅限年份后的卷数((2018 年),40,...)

谢谢你的帮助!

答案1

在听了 moewe 的深刻评论后,我改变了我的答案,因为前一个答案虽然忠实地回应了 MWE,但提供的参考资料却是人为的(和错误的)..GIGO。

现在我处理提出的所有请求。“在:”;“(年)“;”编辑:”。例如,参见参考文献[8]或[12]。

标题后的逗号和年份后的期刊编号已是该样式的默认设置。

biblatex-examples.bib我使用安装提供的biblatex各种参考类型验证了结果。

\documentclass[british]{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber,
style=chem-angew,
articletitle=true,
chaptertitle=true
]{biblatex}

\renewbibmacro*{date}{\printtext[date]{\printtext[parens]{\printdate}}} % added parentheses to date field

\DefineBibliographyStrings{english}{%
    in       =\addcomma\addspace In\addcolon    % comma + upper case In: 
}

\renewbibmacro*{byeditor+others}{%
    \ifnameundef{editor}
    {}
    {%
%       \printtext[parens] % no parentheses in editor
        {%
            \usebibmacro{editorstrg}%
            \setunit{\addcolon\addspace}%
            \printnames[byeditor]{editor}%
            \clearname{editor}%
            \newunit
        }%
    }%
    \usebibmacro{byeditorx}%
    \usebibmacro{bytranslator+others}%
}

\addbibresource{biblatex-examples.bib}

\begin{document}
    
\begin{enumerate}
    
\item article\cite{aksin}

\item article\cite{baez/article}

\item article\cite{bertram}

\item article\cite{kastenholz}

\item book\cite{aristotle:physics}

\item book\cite{companion}

\item mvbook\cite{aristotle:rhetoric}

\item inbook\cite{nietzsche:historie}

\item collection\cite{matuz:doody}

\item collection\cite{westfahl:frontier}

\item mvcollection\cite{britannica}

\item incollection\cite{westfahl:space}

\item incollection\cite{hyman}

\item incollection\cite{brandt}

\item InCollection\cite{gaonkar:in}
    
\item mvcollection\cite{jaffe}  
    
\item inproceedings\cite{salam}
    
\item manual\cite{cms}
    
\item online\cite{itzhaki}
    
\item patent\cite{almendro} 
    
\item report\cite{chiu}
    
\item report\cite{padhye}
    
\item thesis\cite{geer}

\end{enumerate}

\printbibliography

\end{document}

前

后

有趣的是,一个新问题(与问题无关)在字段的管理中显现出来commentator。 请参见“注释”后面不必要的点。 至少在变体、和中也发生了同样的style=ieee情况style=nature

在此处输入图片描述

答案2

它并没有完全回答这个问题,但由于我的评论太长,我想我可以展示我会做什么。

首先,我会稍微清理一下有问题的书目条目。正如评论中提到的editor,、volumepages字段看起来都很可疑。此外,我会使用条目类型@inreference。如果你使用在线版本,我只会提供 DOI。然后我们只需要做一点工作来说服chem-angew打印 DOI。

问题中列出的要求会使条目看起来更像@article,我认为这不是最合适的。所以我没有修改问题中显示的年份和卷数(而且,我volume再也没有了)。

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber,
  style=chem-angew,
  articletitle=true, chaptertitle=true,
  doi=true,
]{biblatex}

\DeclareFieldFormat
  [article,inbook,incollection,inreference,inproceedings,patent,thesis,unpublished]
  {title}{#1\isdot}

\renewcommand*{\intitlepunct}{\addcolon\space}

\renewbibmacro*{in:}{%
  \setunit{\addcomma\space\bibsentence}%
  \bibstring{in}%
  \printunit{\intitlepunct}}

\renewbibmacro*{chapter+pages}{%
  \ifboolexpr{    test {\iffieldundef{chapter}}
              and test {\iffieldundef{eid}}
              and test {\iffieldundef{pages}}}
    {}
    {\clearfield{doi}}%
  \printfield{chapter}%
  \setunit{\bibpagespunct}%
  \printfield{eid}%
  \setunit{\bibpagespunct}%
  \printfield{pages}%
  \newunit}

\renewbibmacro*{note+pages}{%
  \printfield{note}%
  \setunit{\bibpagespunct}%
  \printfield{pages}%
  \iffieldundef{pages}
    {}
    {\clearfield{doi}}}

\begin{filecontents}{\jobname.bib}
@inreference{ullmannPolyacrylates,
  author    = {Penzel, Erich and Ballard, Nicholas and Asua, José M.},
  title     = {Polyacrylates},
  year      = {2018},
  maintitle = {Ullmann's Encyclopedia of Industrial Chemistry},
  publisher = {Wiley-VCH},
  doi       = {10.1002/14356007.a21_157.pub2},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
  In \cite{ullmannPolyacrylates} one can see stuff

  \autocite{sigfridsson}

  \printbibliography
\end{document}

E. Penzel、N. Ballard、JM Asua,《聚丙烯酸酯》,载于:《Ullmann 工业化学百科全书》,Wiley-VCH,2018,DOI 10.1002/14356007.a21_157.pub2。

相关内容