如何从乳胶文件中获取文件名?

如何从乳胶文件中获取文件名?

在 biblatex 的上下文中,有可能bibstyle=reading,这将产生包括abstractannotation字段的参考书目。

注释可能来自名为“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}

输出

相关内容