我需要将手稿与其他书目(印刷版)分开,并希望为每份手稿提供参考,并标明图书馆(所属图书馆:葡萄牙国家图书馆、大英图书馆、巴伐利亚国家图书馆......)以及书架标记。
期望的输出应该像下面的例子:
卡斯特尔布兰科,安东尼奥·德(1588)。第三卷天文学实用球形、平面和固体、星盘的四面体、天文学的透明球体 [手稿]。埃武拉公立图书馆,cod.一千二百五十九 I-2-3。
我知道 M. Rouquette 有一个用于描述手稿的软件包。但是有没有办法只使用 Biblatex 来实现呢?以下是我使用的代码:
\documentclass{article}
\usepackage[style=authoryear,doi=false,url=false,isbn=false]{biblatex}
\DeclareNameAlias{author}{last-first}
\begin{filecontents*}{\jobname.bib}
@Unpublished{Castel-Brancobpe1588,
author = {Castel-Branco, António de},
title = {Liber terTius in Astronomiam praxeos sphaerae utriusque et planae et solidae, quarum illam astrolabon, hanc globum vocant astronomicum},
year = {1588},
keywords = {manuscripta},
library = {Biblioteca Pública de Évora},
shelfmark = {CXXVI-2-3},
}
@Unpublished{Castel-Branco1587,
author = {Castel-Branco, António de},
title = {Commẽtarij in 8\textsuperscript{o} libros Phisicorum Aristotelis traditi in academia Eborensi sub praeceptore Ant\textsuperscript{o} de Castel Branco anno Domini. 1587\textsuperscript{o}},
year = {1587},
keywords = {manuscripta},
library = {Biblioteca Nacional de Portugal},
shelfmark = {6283},
}
@Book{ThorndikeLynn1949TSoS,
author = {Thorndike, Lynn and Sacro Bosco, Joannes de and Robertus and Scot, Michael and Cecco},
title = {The Sphere of Sacrobosco and its commentators},
year = {1949},
language = {lat;eng},
series = {Corpus of mediaeval scientific texts ; v. 2},
publisher = {University of Chicago Press},
address = {Chicago},
}
@Book{hoffmann1987handwoerterbuch,
title = {Handwörterbuch des deutschen Aberglaubens. Band 1: Aal - Butzemann},
year = {1987},
editor = {Bächtold-Stäubli, H. and Hoffmann-Krayer, E.},
publisher = {Walter de Gruyter},
address = {New York, Berlin},
ignoreisbn = {9783110065893},
ignoreseries = {Handwörterbücher Zur Deutschen Volkskunde Series},
ignoreurl = {https://archive.org/details/handworterbuchdesdeutschenaberglaubensband3},
keywords = {mitologia (Alemanha) -- folclore (Alemanha) -- secundaria},
}
@Book{BerggrenPtol00,
author = {J. Lennart Berggren and Alexander Jones},
title = {Ptolemy's geography: and annotated translation of the theoretical chapters},
year = {2000},
publisher = {Princeton University Press},
address = {Princeton and Oxford},
keywords = {secundaria},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\printbibliography[keyword={manuscripta},title={Manuscritos}]
\nocite{Castel-Branco1615} \nocite{Castel-Brancobpe1588} \nocite{Castel-Branco1587}
\printbibliography[keyword={secundaria},title={Bibliografia}]
\nocite{*}
\end{document}
答案1
可以通过定义自定义驱动程序来定义自定义条目类型。以下示例显示了如何执行此操作。
- 创建一个
.dbx
文件来定义自定义字段shelfmark
,以使其在您的自定义条目类型中可用manuscript
。 - 声明在条目中应该使用的字段格式
title
和格式。shelfmark
manuscript
- 声明一个驱动程序,定义要打印哪些字段以及使用哪些标点符号。
datamodel=manuscript
最后,您需要在加载包时添加选项biblatex
来告诉它也应该使用它。
然后,您可以将文件中的手稿定义.bib
为@manuscript
条目。其他条目类型应不受影响。
\documentclass{article}
\usepackage[%
style=authoryear,
doi=false,
url=false,
isbn=false,
datamodel=manuscript
]{biblatex}
% \DeclareNameAlias{author}{family-given}
\begin{filecontents*}{manuscript.dbx}
\DeclareDatamodelEntrytypes{manuscript}
\DeclareDatamodelFields[type=field,datatype=literal]{shelfmark}
\DeclareDatamodelEntryfields[manuscript]{shelfmark}
\end{filecontents*}
\DeclareFieldFormat[manuscript]{title}{#1 [Manuscript]}
\DeclareFieldFormat[manuscript]{shelfmark}{cod.\ #1}
\DeclareBibliographyDriver{manuscript}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author}%
\newunit\newblock
\printfield{title}%
\newunit\newblock
\printfield{library}%
\setunit{\addcomma\addspace}
\printfield{shelfmark}%
\finentry}
\begin{filecontents*}{\jobname.bib}
@manuscript{Castel-Brancobpe1588,
author = {Castel-Branco, António de},
title = {Liber tertius in Astronomiam praxeos sphaerae utriusque et planae et solidae, quarum illam astrolabon, hanc globum vocant astronomicum},
year = {1588},
keywords = {manuscripta},
library = {Biblioteca Pública de Évora},
shelfmark = {CXXVI-2-3},
}
@book{BerggrenPtol00,
author = {J. Lennart Berggren and Alexander Jones},
title = {Ptolemy's geography: and annotated translation of the theoretical chapters},
year = {2000},
publisher = {Princeton University Press},
address = {Princeton and Oxford},
keywords = {secundaria},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\printbibliography[keyword={manuscripta}, title={Manuscritos}]
\nocite{Castel-Brancobpe1588}
\printbibliography[keyword={secundaria}, title={Bibliografia}]
\nocite{BerggrenPtol00}
\end{document}