我正在尝试为自己制作一份文档,列出我的参考书目中的所有参考文献及其摘要和关键词。我想要一个索引,列出所有关键词及其实例,我可以点击特定实例并重定向到文档中的相应条目(如果我无法重定向到该条目的标题,那么至少可以重定向到该关键词出现的位置)。我还希望反向操作成为可能,即点击条目中的关键词并重定向到索引中的该关键词。
我能想到的最接近的方法是使用reading
类biblatex
并使用imakeidx
包来创建索引。我尝试过摆弄和阅读这里的文档和相关问题,但我只能做到这么多。这是我到目前为止所做的 MWE,使用了从这里和这里:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{Padial2010,
title={The Integrative Future Of Taxonomy},
author={Padial, J.M. and Miralles, A. and la Riva, I.D. and Vences, M.},
journal={Frontiers in Zoology},
year={2010},
volume={7},
number={16},
pages={1--14},
note={Cited by 4},
abstract={Text},
publisher={Some Publishing},
doi={10.1186/1742-9994-7-16},
issn={1742-9994},
file={./2004_Jensen_Homecoming.pdf},
keywords={biology, taxonomy},
}
\end{filecontents*}
\usepackage[backend=biber,style=reading,sorting=ynt,entrykey=false]{biblatex}
\AtEveryBibitem{\csappto{blx@bbx@\thefield{entrytype}}{
\newline \textbf{Keywords:} \printfield{keywords}}}
\DeclareRangeChars{~,;-+/{}} % add '{}' as page range delimiter
\addbibresource{\jobname.bib}
\DeclareFieldFormat{file}{\href{file:#1}{\textbf{Open file}}}
\AtEveryBibitem{%
\csappto{blx@bbx@\thefield{entrytype}}{% put at end of entry
\iffieldundef{file}{\space \textbf{No file!}}{%
\space \printfield{file}
}
}
}
\usepackage[colorlinks,unicode,breaklinks]{hyperref}
\usepackage{imakeidx}
\makeindex[name=keywords, title=List of Keywords]
\DeclareIndexFieldFormat{keywords}{\forcsvfield{\index[keywords]}{keywords}}
\AtEveryBibitem{\indexfield{keywords}}
\begin{document}
\nocite{*} % list all entries
\printbibliography
\printindex[keywords]
\end{document}
目标
关键词应该超链接到索引,并且索引实例(这里显示为页码)应该链接回使用该关键词的位置(最好是文章标题本身,但如果不是,至少也要具体链接到该关键词)。
我怎样才能实现这个目标?
编辑:删除了其他请求,因为我要么手动修复它们,要么暂时放弃它们。