我正在使用biblatex
它来管理我的引文和参考书目。
我想用来\volcite
引用多卷著作中的特定卷,但引用本身采用标准样式。例如,对于数字样式,正常引用如下所示
[1]
但例如\volcite{3}{Smith}
我默认获得(德语本地化)。
[1, Bd. 3]
我怎样才能使 \volcite 引用看起来像正常的引用?
旁注:不应修改参考书目条目,仅应修改引用。
编辑:这是MWE:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[
backend = biber,
style = numeric-comp
]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@MvBook{Kohl,
author = {Kohlrausch, F.},
title = {Praktische Physik},
volumes = {3}
}
@Book{Kohl1,
author = {Kohlrausch, F.},
title = {Praktische Physik},
volumes = {3},
volume = {1}
}
@Book{Kohl2,
author = {Kohlrausch, F.},
title = {Praktische Physik},
volumes = {3},
volume = {2}
}
@Book{Kohl3,
author = {Kohlrausch, F.},
title = {Praktische Physik},
volumes = {3},
volume = {3}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\volcite{1}{Kohl}
\volcite{2}{Kohl}
\volcite{3}{Kohl}
\cite{Kohl1}
\cite{Kohl2}
\cite{Kohl3}
\printbibliography
\end{document}
我的问题是:如何在第二行获取引用样式,而不必为 bib 文件中的每一卷创建明确的条目?我认为这可能可以实现\volcite
。
答案1
目前,只有.bib
文件的条目才能真正出现在参考书目中。这意味着,如果您没有某个.bib
条目,它就不能作为单独的条目出现在参考书目中。您可以使用 来最大限度地减少数据重复crossref
,您的示例可以归结为
@mvbook{Kohl,
author = {Kohlrausch, F.},
title = {Praktische Physik},
volumes = {3}
}
@book{Kohl1,
crossref = {Kohl},
volume = {1},
}
@book{Kohl12,
crossref = {Kohl},
volume = {2},
}
@book{Kohl3,
crossref = {Kohl},
volume = {3},
}
这还有一个额外的好处,就是可以为各个卷指定不同的信息。(例如,假设其中一个卷来自不同的年份。)
答案2
这些是否可能接近你想要的:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[
backend = biber,
style = numeric-comp
]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@MvBook{Kohl,
author = {Kohlrausch, F.},
title = {Praktische Physik},
volumes = {3},
related = {Kohl1,Kohl2,Kohl3},
relatedtype = {multivolume}
}
@Book{Kohl1,
author = {Kohlrausch, F.},
title = {Praktische Physik},
volumes = {3},
volume = {1}
}
@Book{Kohl2,
author = {Kohlrausch, F.},
title = {Praktische Physik},
volumes = {3},
volume = {2}
}
@Book{Kohl3,
author = {Kohlrausch, F.},
title = {Praktische Physik},
volumes = {3},
volume = {3}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Reference the entire work: \cite{Kohl}
Reference one volume only: \cite{Kohl2}
Reference volume in the entire work: \volcite{2}{Kohl}
\printbibliography
\end{document}
从我读到的文档BibLaTeX
(即第 2.3.5 和 3.4 节)来看,我认为 bib 文件中不包含所有子卷是完全不可能的。因此,您似乎想要的可能是不可能的(当然,除非您将多卷书简单地保存为包含总卷数信息的书籍)。