![在 refsection 中本地更改 biblatex 样式](https://linux22.com/image/336661/%E5%9C%A8%20refsection%20%E4%B8%AD%E6%9C%AC%E5%9C%B0%E6%9B%B4%E6%94%B9%20biblatex%20%E6%A0%B7%E5%BC%8F.png)
在我正在撰写的论文中,我使用 biblatex 和 biber 作为后端,在每章后打印参考文献列表,并在末尾打印全局书目。在文档的开头,我需要一份我自己的出版物清单。对于整体书目,我想使用phys
不带文章标题的样式。但是,对于我自己的出版物列表,我需要一个更详细的列表,例如包括标题。目前(参见 MWE)我有一个refsection
引用相关出版物的样式,nocite
之后为printbibliography
我提供了所需的列表。我现在如何更改样式,以便此列表和文档中的此列表仅在命令中打印标题printbibliography
?
平均能量损失
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{filecontents}
\begin{filecontents*}{main.bib}
@article{refA,
title = {Title A},
author = {A. Author},
journal = {Journal A},
year = {2016},
}
@article{refB,
title = {Title B},
author = {B. Booker},
journal = {Journal B},
year = {2016},
}
\end{filecontents*}
\usepackage[backend=biber, style=phys, articletitle=false, biblabel=brackets, pageranges=false, block=ragged]{biblatex}
\addbibresource{main.bib}
\begin{document}
\begin{refsection}
\nocite{refA}
\nocite{refB}
\defbibnote{lop_prescript}{
The work presented in this thesis is based on the following publications
}
\defbibnote{lop_postscript}{
Some publications are currently under peer review
}
\printbibliography[
segment=\therefsegment,
heading=bibintoc,
title={List of Publications},
prenote=lop_prescript,
postnote=lop_postscript
]
\end{refsection}
\section{Some section}
This would be the main content, e.g. chapters where references are cited\cite{refB}.
\medskip
\printbibliography
\end{document}
答案1
没有通用的方法来改变样式。但在许多简单的情况下,可以通过查看代码来实现。在您的例子中,标题由一个简单的布尔值处理,您可以本地切换:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{filecontents}
\begin{filecontents*}{main.bib}
@article{refA,
title = {Title A},
author = {A. Author},
journal = {Journal A},
year = {2016},
}
@article{refB,
title = {Title B},
author = {B. Booker},
journal = {Journal B},
year = {2016},
}
\end{filecontents*}
\usepackage[backend=biber, style=phys, articletitle=false, biblabel=brackets, pageranges=false, block=ragged]{biblatex}
\addbibresource{main.bib}
\begin{document}
\begin{refsection}
\settoggle{bbx:articletitle}{true}%
\nocite{refA}
\nocite{refB}
\defbibnote{lop_prescript}{
The work presented in this thesis is based on the following publications
}
\defbibnote{lop_postscript}{
Some publications are currently under peer review
}
\printbibliography[
segment=\therefsegment,
heading=bibintoc,
title={List of Publications},
prenote=lop_prescript,
postnote=lop_postscript
]
\end{refsection}
\section{Some section}
This would be the main content, e.g. chapters where references are cited\cite{refB}.
\medskip
\printbibliography
\end{document}