我的大学对默认的 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
,、volume
和pages
字段看起来都很可疑。此外,我会使用条目类型@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}