在 biblatex 的上下文中,有可能bibstyle=reading
,这将产生包括abstract
和annotation
字段的参考书目。
注释可能来自名为“bib 文件输入键在bibannotation-TheBook2019.tex
哪里”的文件。TheBook2019
@book{TheBook2019,
author = {The Author},
title = {The Book Title}
}
注释文件bibannotation-TheBook2019.tex
可以包含 latex 格式的文本。然后可能\input{bibannotation-TheBook2019.tex}
在文档中的某个地方。因此,在 中包含引文可能是合适的bibannotation-TheBook2019.tex
。在这种情况下,它将是自我引用,我的意思是该文件将引用相应的条目键:
\cite{TheBook2019}
由于此信息包含在文件名中。我能以某种方式自动执行吗?这样我就可以输入类似以下内容的内容:
\cite{\SelfCite}
并且它将被转换为\cite{TheBook2019}
从文件名中抓取输入键。
答案1
您可以使用一些辅助函数来完成此操作。
\KcFnMiinput
\filenametokey
使用然后输入文件来保存密钥的名称。
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{TheBook2019,
author = {The Author},
title = {The Book Title}
}
\end{filecontents}
\begin{filecontents}{annotation-TheBook2019.tex}
This file contains an annotation for \verb|TheBook2019|. It's also possible to
cite it: \cite{\selfcitekey}.
\end{filecontents}
\usepackage{biblatex}
\addbibresource{\jobname.bib}
\def\filenametokey annotation-#1.tex{#1}
\newcommand{\KcFnMiinput}[1]{%
\edef\selfcitekey{\filenametokey #1}%
\input{#1}}
\begin{document}
\KcFnMiinput{annotation-TheBook2019.tex}
\printbibliography
\end{document}