在最终参考书目中手动添加手稿来源

在最终参考书目中手动添加手稿来源

我已经使用 \footnote 手动引用了博士论文的所有手稿来源。我现在想知道如何将这些来源分别包含在最终参考书目中。(1. 主要来源。1.1. 未发表的主要来源。1.2. 已发表的主要来源。2. 次要来源。)有没有办法手动执行此操作?或者最好在我的包的 @misc 类别下创建一个新的 .bib 文件,其中包含手稿文档列表biblatex-chicago

我添加了一个我想要获得的结果的示例: 参考书目

答案1

对于文件中已有的内容,.bib使用 可以很容易地对这些引用进行分组biblatex。请参阅按参考文献类型划分参考书目 举个基本的例子。由于您手动输入了未发布的来源,并且您希望的格式不太利于解决问题.bib,我建议将它们组织在 CSV 文件中,然后使用 来datatool打印它们。

以下文档作为概念证明,可以满足您的要求。首先是 CSV 文件。它具有以下列结构:

ArchiveName   ArchiveAbbrev   SourceName   SourcePrefix   SourceNumber

因此一行对应一个单独的项目:

"Archivo di Stato di Firenze", "ASFi",  "Mediceo del Principato", "Filze",  "810"

在示例文档中,我使用简单的分段来格式化标题,但您可以按照自己喜欢的任何方式进行操作。代码非常简单:我通读文件并根据需要生成标题,否则我会输出逗号和源编号。没有对条目进行排序,因为这在 Excel 或 OpenOffice 中很容易完成。

\begin{filecontents}{manuscripts.csv}
"ArchiveName","ArchiveAbbrev","SourceName","SourcePrefix","SourceNumber"
"Archivo di Stato di Firenze","ASFi","Mediceo del Principato","Filze",810
"Archivo di Stato di Firenze","ASFi","Mediceo del Principato","Filze",4323
"Archivo di Stato di Firenze","ASFi","Miscellanea Medicea","Filze",2634
"Archivo di Stato di Firenze","ASFi","Strozzi","Filze",480
"Archivo di Stato di Mantova","ASMn","Archivio Gonzaga",,"b1117"
"Archivo di Stato di Mantova","ASMn","Archivio Gonzaga",,"b1140"
"Archivo di Stato di Mantova","ASMn","Archivio Gonzaga",,"b1920"
\end{filecontents}
\documentclass{article}
\setcounter{secnumdepth}{0}
\usepackage{datatool}
\DTLloadrawdb{manuscripts}{manuscripts.csv}
\def\lastsource{}
\def\lastarch{}
\begin{document}
\DTLforeach{manuscripts}{\archive=ArchiveName,\archabbrev=ArchiveAbbrev,\sourcename=SourceName,\sourceprefix=SourcePrefix,\sourcenum=SourceNumber}{%
\DTLifstringeq{\archive}{\lastarch}
    {\DTLifstringeq{\sourcename}{\lastsource}
        {, \sourcenum}%
        {\let\lastsource\sourcename
         \subsection{\sourcename}
         \DTLifnullorempty{\sourceprefix}{}{\sourceprefix~}\sourcenum}}
    {\let\lastarch\archive
     \let\lastsource\sourcename
     \section{\archive\DTLifnullorempty{\archabbrev}{}{ (\archabbrev)}}
     \subsection{\sourcename}
     \DTLifnullorempty{\sourceprefix}{}{\sourceprefix~}\sourcenum}%
}
\end{document}

代码输出

相关内容