我有一个包含约 2000 条参考资料的大.bib
文件。这是我在工作中经常使用的在线参考资料数据库。
我想在 pdf 输出中显示参考文献的关键字,这样我就不必打开文件.bib
来查看我需要引用的关键字。方法与此类似\usepackage{showlabels}
。
使用 biblatex 或 biblatex-chicago 可以实现吗?
答案1
biblatex
检测showkeys
,所以下面的方法就可以了
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{showkeys}
\usepackage{csquotes}
\usepackage[authordate, backend=biber]{biblatex-chicago}
% just to make the example work
% biblatex-chicago does not support @set
\newbool{bbx@inset}
\DeclareBibliographyDriver{set}{%
\booltrue{bbx@inset}%
\entryset{}{}%
\newunit\newblock
\usebibmacro{setpageref}%
\finentry}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson}
\nocite{*}
\printbibliography
\end{document}
如果你愿意,showlabels
你可以手动自动biblatex
完成showkeys
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{showlabels}
\usepackage{csquotes}
\usepackage[authordate, backend=biber]{biblatex-chicago}
\makeatletter
\AtEveryBibitem{\SL@setlabel{\thefield{entrykey}}}
\AtEveryLositem{\SL@setlabel{\thefield{entrykey}}}
\makeatother
% just to make the example work
% biblatex-chicago does not support @set
\newbool{bbx@inset}
\DeclareBibliographyDriver{set}{%
\booltrue{bbx@inset}%
\entryset{}{}%
\newunit\newblock
\usebibmacro{setpageref}%
\finentry}
\addbibresource{biblatex-examples.bib}
\begin{document}
\section{Foo}\label{sec:foo}
Lorem \autocite{sigfridsson}
\nocite{*}
\ref{sec:foo}
\printbibliography
\end{document}