问题与答案这里提出一种方法来note
在书目中的项目前显示一个字段。我想知道我是否可以通过两种方式更改它:
- 我希望注释位于书目之后而不是之前。
- 另外,我有一个通用书目文件,用于我的所有乳胶文件,我想在不同的乳胶文件中包含不同的注释。所以我想知道我是否可以将注释添加为乳胶文件的一部分,而不是书目文件。
下面是一个 MWE(从上面的答案中偷来的),但我想要实现的是
\documentclass{scrreprt}
\usepackage[bibstyle=authoryear, backend=biber]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A2011,
author = {Author, A.},
year = {2011},
title = {A short title.}
}
@misc{A2012,
author = {Buthor, B.},
year = {2012},
title = {Systems biology and personalized medicine are two emerging research areas, which promise to transform our health system.}
}
@misc{A2013,
author = {Cuthor, C.},
year = {2013},
title = {This title is not so short.}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{A2012, A2013}
% Add notes to entries
%\addbibnote{A2012}{This is the first note}
%\addbibnote{A2013}{Another note}
\printbibliography
\end{document}
任何帮助都将受到赞赏。
答案1
您可以修改 bibmacrofinentry
以便在条目末尾打印注释。另请参阅示例如何使用 biblatex 将注释字段移出主参考文献?和打印并格式化参考书目中的 Mendeley Notes 字段(注释)。
如果您不想在.bib
文件中给出注释,我们可以定义一个新命令来收集注释。
\documentclass{scrreprt}
\usepackage[bibstyle=authoryear, backend=biber]{biblatex}
\DeclareFieldFormat{entrynote}{\small\itshape #1}
\makeatletter
\newrobustcmd{\addentrynote}[2]{%
\csdef{tohikoblx@entrynote@\the\c@refsection @#1}{#2}}
\renewbibmacro*{finentry}{%
\ifcsundef{tohikoblx@entrynote@\the\c@refsection @\thefield{entrykey}}
{}
{\setunit{\finentrypunct\par}%
\printtext[entrynote]{\csuse{tohikoblx@entrynote@\the\c@refsection @\thefield{entrykey}}}%
\renewcommand*{\finentrypunct}{}}%
\finentry
}
\makeatother
\addbibresource{biblatex-examples.bib}
\begin{document}
\nocite{sigfridsson,worman,geer}
% Add notes to entries
\addentrynote{sigfridsson}{This is the first note.}
\addentrynote{worman}{Another note}
\printbibliography
\end{document}