在 refsection 中本地更改 biblatex 样式

在 refsection 中本地更改 biblatex 样式

在我正在撰写的论文中,我使用 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}

在此处输入图片描述

相关内容