我想改变 biblatex 中的自然风格。我尝试使用“\DeclareFieldFormat”,但它不起作用。
这是我的示例代码。
\usepackage[backend=biber,bibencoding=utf8,refsegment=chapter,style=nature,firstinits=true,isbn=false,doi=false,url=false,sorting=none,clearlang=true,natbib=true]{biblatex}
\DeclareFieldFormat[article,inbook,incollection,inproceedings,patent,thesis,unpublished]{volume,journal}{#1\isdot}
应该是常规风格。
如何将日记帐字段更改为常规样式?
答案1
两件事情
的第一个强制参数
\DeclareFieldFormat
不是列表。它必须是单个字段名称(或人工格式名称)。要更改多个字段的格式,您需要单独\DeclareFieldFormat
调用。journaltitle
内部调用期刊的标题,biblatex
而不仅仅是journal
。journal
仅支持作为.bib
输入中的旧别名。
考虑到这两点,我们可以得出
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber,
style=nature,
sorting=none,
giveninits=true,
isbn=false,doi=false,url=false,
natbib=true
]{biblatex}
\DeclareFieldFormat{journaltitle}{#1\isdot}
\DeclareFieldFormat[article,periodical]{volume}{#1\isdot}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson}
\printbibliography
\end{document}
请注意,我只更改了volume
类型@article
和的格式@periodical
(而不是所有类型),以确保和@in...
之间的输出更加一致。@inbook
@book