我知道LaTeX 书目如何运作当然,通常您不应该在输出中引用内部书目 ID,但我想这样做,原因很明确:我想提供我引用的所有文件来源的副本。要识别哪些文件与哪些引文相匹配,需要有一些唯一的字符串(不会改变)。然后,我只需在文件名中重命名/附加/添加该字符串即可。
但是,我仍然想使用numeric
样式,当然样式会使用数字,而数字会在我编辑文档时发生变化。所以我不能只使用数字。另外,当然,在编译文档之前应该知道这一点,因为我必须重命名文件,而不想编译、查看结果,然后再重命名。
因此,我认为您在文件中使用的 ID.bib
非常适合。
但从技术上讲我该怎么做呢?在我看来,ID 不应该太显眼(所以不要在开头就提到它而不是 ID——然而,这似乎正是draft
风格是的——但我仍然想要一个带有 ID 的“生产性”版本/输出)。
以下是 LaTeX 的重要部分:
% !TeX program = lualatex
% !TeX encoding = UTF-8
% !TeX spellcheck = de_DE
\documentclass[12pt,a4paper,titlepage,numbers=noenddot]{scrartcl}
\KOMAoption{listof}{totocnumbered, leveldown}
% […]
\usepackage[style=numeric,
sortcites=true,
sorting=none,
defernumbers=true,
backref=true,
backend=biber]{biblatex}
\addbibresource{referenzen.bib}
\usepackage{nameref}
注意:如果您可以为每个参考书目条目建议一个更好的“固定 ID/字符串”,以便我可以重命名文件,那么请随意在您的解决方案中使用它。
我使用 biber v2.12 和 LuaLaTeX v1.10.0。
答案1
在大多数情况下,条目键只是侧面的一个普通字段entrykey
。biblatex
如果您愿意,您可以轻松地将其打印在参考书目中。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=numeric, backend=biber]{biblatex}
\DeclareFieldFormat{entrykey}{\texttt{#1}}
\renewbibmacro*{finentry}{\newunit\newblock\printfield{entrykey}\finentry}
\addbibresource{biblatex-examples.bib}
\begin{document}
\autocite{sigfridsson,worman,geer,nussbaum}
\printbibliography
\end{document}
如果您不想直接打印该字段,而是想访问其内容,例如生成内部链接或标签,您可能需要使用\thefield{entrykey}
。
如果您将源文件的副本作为与主文件共享的外部文件提供,那么可能要采用的方法是字段file
(在数据模型中定义,但不按标准样式打印)。该file
字段可以保存相关文件的相对路径。在这种情况下,您甚至不必输入键,而是可以采用任何您喜欢的名称。
如果你直接在文档中包含来源,你可能会感兴趣在参考书目条目上插入脚注(按建议使用\thefield{entrykey}
)。