我使用 Mendeley 进行参考文献管理,使用 ShareLaTeX 进行在线编辑。对于 Mendeley 中的每个条目,我可以将文本添加到笔记框中。这些注释出现在导出的 bib 文件中注释场地:
@book{knuth,
author = "Donald E. Knuth",
title = "Fundamental Algorithms",
publisher = "Addison-Wesley",
year = "1973",
keywords = "knuth,programming",
annote = "My notes on Knuth's book.",
}
我希望注释字段内容出现在印刷参考书目中其适用的参考文献后面的新行上,并带有一些斜体格式。 Biblatex 会将附录字段的内容添加到印刷参考文献的末尾。 因此,我可以对 bib 文件进行后处理,如下所示:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{biblatex}
\begin{filecontents}{bib.bib}
@book{knuth,
author = "Donald E. Knuth",
title = "Fundamental Algorithms",
publisher = "Addison-Wesley",
year = "1973",
keywords = "knuth,programming",
addendum = "\par \textit{\\ My notes on Knuth's book.}",
}
\end{filecontents}
\addbibresource{bib.bib}
\begin{document}
Knuth's book \cite{knuth}.
\printbibliography
\end{document}
从我在其他答案中看到的内容来看,应该可以在 ShareLaTeX 环境中自动执行此操作(将注释字段的内容复制到附录字段,并使用相关格式来满足我的要求)。但是,我没有找到任何关于如何做到这一点的直接解释,因为大多数答案都直接跳到 LaTeX 命令字符串,超出了我的新手理解范围。如果能帮助实现此目的所需的命令,我将不胜感激。
答案1
您可以使用annotation
字段。标准样式默认不打印它,但让它们打印它并不太复杂(在下面的解决方案中,我将其用作finentry
方便的钩子,因为该宏在每个书目驱动程序的末尾执行)。更好的annote
是 的向后兼容别名annotation
,因此您甚至不需要更改文件.bib
。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{biblatex}
\DeclareFieldFormat{annotation}{\par\textit{#1}}
\renewbibmacro*{finentry}{%
\setunit{\finentrypunct}%
\printfield{annotation}%
\finentry
}
%\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{knuth,
author = {Donald E. Knuth},
title = {Fundamental Algorithms},
publisher = {Addison-Wesley},
year = {1973},
keywords = {knuth,programming},
annote = {My notes on Knuth's book.},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Knuth's book \cite{knuth}.
\printbibliography
\end{document}