所以,我一直在关注这个答案但它并没有完全满足我的要求。我想得到
Encyclopaedia Britannica, Vol. 2, “Babylonia and Assyria,” p. 849
在其他卷和页的其他文章的脚注/尾注中,\autocite[849]{britannica:babyloniaandassyria}
但只有
Encyclopaedia Britannica, Encyclopedia Britannica, Inc., Chicago, 1943, 175th Anniversary Edition
在最终\printbibliography
输出中。
所以,引用本身包含具体细节,但参考书目中只包含整个百科全书。这是否可能不经过过多的纠结就能实现?
当前 bib 文件片段。
\documentclass[english,oneside,openany]{book}
\usepackage[citestyle=authortitle-ibid,backend=biber,ibidpage=false]{biblatex}
\usepackage{showframe}
\begin{filecontents}{\jobname.bib}
@mvreference{encyclopaedia:britannica,
address = {Chicago},
author = {{Encyclopedia Britannica, Inc.}},
edition = {175th Anniversary Edition},
options = {useeditor=false},
title = {Encyclopaedia Britannica},
volumes = {24},
year = {1943}
}
@inreference{britannica:babyloniaandassyria,
crossref = {encyclopaedia:britannica},
title = {Babylonia and Assyria},
volume = {2},
}
@inreference{britannica:david,
crossref = {encyclopaedia:britannica},
title = {David},
volume = {7},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\DeclareFieldFormat[inreference]{citetitle}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat[inreference]{title}{\mkbibquote{#1\isdot}}
\begin{document}
\autocite[849]{britannica:babyloniaandassyria}
\autocite[75]{britannica:david}
\printbibliography
\end{document}
答案1
您可以声明一个源映射,并使用选项skipbib
和来表示等于的skiplab
条目。crossref
encyclopaedia:britannica
skipbib=true, false
默认:false
如果启用此选项,则条目将从参考书目中排除,但仍可能被引用。此选项也可根据类型设置。
skiplab=true, false
默认:false
如果启用此选项,biblatex
则不会为条目分配任何标签。正常操作不需要此选项。请谨慎使用。如果启用,则biblatex
无法保证各个条目的唯一引用,并且需要标签的引用样式可能无法为条目创建有效引用。此选项也可以根据每个类型进行设置。
\documentclass[english,oneside,openany]{book}
\usepackage[citestyle=authortitle-ibid,backend=biber,ibidpage=false]{biblatex}
\begin{filecontents}{\jobname.bib}
@mvreference{encyclopaedia:britannica,
address = {Chicago},
author = {{Encyclopedia Britannica, Inc.}},
edition = {175th Anniversary Edition},
options = {useeditor=false},
title = {Encyclopaedia Britannica},
volumes = {24},
year = {1943}
}
@inreference{britannica:babyloniaandassyria,
crossref = {encyclopaedia:britannica},
title = {Babylonia and Assyria},
volume = {2},
options = {skipbib}
}
@inreference{britannica:david,
crossref = {encyclopaedia:britannica},
title = {David},
volume = {7},
options = {skipbib}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\DeclareFieldFormat[inreference]{citetitle}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat[inreference]{title}{\mkbibquote{#1\isdot}}
\DeclareSourcemap{
\maps{
\map{
\step[fieldsource=crossref,
match={encyclopaedia:britannica},
fieldset=options,
fieldvalue={skipbib,skiplab}]
}
}
}
\begin{document}
\autocite[849]{britannica:babyloniaandassyria}
\autocite[75]{britannica:david}
\printbibliography
\end{document}