管理图书的子组,例如“体裁”

有些人希望把书库里的书组织成子组,类似于子文件夹。最常见的原因是创建体裁层次结构,但还有许多其他原因。一位用户要求找到一种按学科和课程编号组织教科书的方法。另一个则希望根据礼物的主题和接收者来追踪礼物。本教程将在本文的其余部分使用流派示例。

在继续之前,请注意我们不是在谈论硬盘上的文件夹。子组不是文件文件夹。任何地方都不会复制书籍。calibre的书库文件结构不受影响。相反,我们提供了一种在一个calibre书库中组织和显示图书子组的方法。

通常提供的对子组例如体裁的要求是:

  • 子组(例如,体裁)必须包含(指向)图书,而不是图书类别。这就是将子组与Calibre用户类别区分开来的原因。

  • 一本书可以分成多个子组(体裁)。这将子组与物理文件夹区分开来。

  • 子组(体裁)必须形成层次结构;子组可以包含子组。

标签给出了前两个。如果你给一本书贴上这种类型的标签,那么你可以使用标签浏览器(或搜索)来查找这种类型的书,这样你就可以得到第一类。许多书可以有相同的类型标签,为您提供第二类标签。问题是标签不满足第三个要求。它们不提供层次结构。

|sgtree | |体裁树搜索|calibre分级特性为您提供了第三种功能,即在“树”中查看体裁,并能够轻松地搜索体裁或子类型的书籍。例如,假设你的体裁结构与以下类似:

Genre
    . History
    .. Japanese
    .. Military
    .. Roman
    . Mysteries
    .. English
    .. Vampire
    . Science Fiction
    .. Alternate History
    .. Military
    .. Space Opera
    . Thrillers
    .. Crime
    .. Horror
    etc.

通过使用分级结构功能,您可以在“标签浏览器”中以树的形式查看这些流派,如屏幕图像所示。在本例中,最外层(体裁)是包含体裁的自定义列。包含子体裁的体裁旁边会出现一个小三角形。点击那个三角形将打开项目并显示子体裁,就像你在历史和科幻小说中看到的那样。

点击一个体裁可以搜索到该体裁的所有书籍或该体裁的子类。例如,点击“科幻小说”可以提供所有三种儿童体裁,“架空历史”,“军事”和“太空歌剧”。点击“架空历史”将给出这种体裁的书,忽略那些军事和太空歌剧体裁。当然,一本书可以有多种体裁。如果一本书同时有太空歌剧和军事流派,那么只要你点击其中一种,你就会看到那本书。下面将更详细地讨论搜索。

从图片中可以看到的另一件事是,军事这一体裁出现了两次,一次出现在历史下面,一次出现在科幻下面。因为体裁是分层次的,所以这是两个独立的体裁。一本书可以在其中一种中,也可以在另一种中,或者(在这种情况下是怀疑的)两者兼而有之。例如,温斯顿·丘吉尔(Winston Churchill)的“第二次世界大战”(The Second World War)中的书可以放在“历史·军事”(History ory.Military)一体裁中。大卫·韦伯的“荣誉哈林顿”的书可能会出现在“科幻小说.军事”中,就这一点而言,也可能出现在“科幻小说.太空歌剧”(Science Fiction.Space Opera)中。

一旦存在一种体裁,即至少有一本书具有该体裁,您可以很容易地将其应用于其他图书,方法是将这些图书从书库视图拖到您希望这些图书具有的体裁上。您还可以在元数据编辑器中应用体裁;下面将详细介绍这一点。

配置

现在,您的问题可能是“所有这些设置是如何的?”有三个步骤:1)创建自定义列,2)告诉Calibre新的列将被视为一个层次结构,以及3)添加体裁。

您可以使用“首选项->添加你自己的列”以通常的方式创建自定义列。本例使用“#体裁”作为查找名称,使用“体裁”作为列标题。列类型是“逗号分隔的文本,就像标签浏览器中显示的标签一样。”

_images/sg_cc.jpg

然后,在重新启动Calibre之后,您必须告诉Calibre该列将被视为层次结构。进入“首选项->外观->标签浏览器”,在“具有层次结构的分类”框中输入查找名称“#体裁”。按“应用”,设置完毕。

_images/sg_pref.png

在这一点上,列中没有流派。我们只剩下最后一步:如何将一种体裁应用于一本书。一种体裁只有在至少一本书上出现时,它才能在calibre上存在。要第一次学习如何应用一种体裁,我们必须详细了解一本书的元数据中的体裁是什么样子。

“事物”的层次结构是通过创建一个由句点分隔的短语组成的项来构建的。继续体裁示例,这些项目将“历史.军事”, “神秘.吸血鬼“,”科幻.太空歌剧”等等。因此,要创建新体裁,请选择一本应该具有该体裁的书,编辑其元数据,并将新体裁输入到您创建的列中。如果你想给一本书分配一个新的体裁“漫画”和一个子体裁“超级英雄”,你需要为那本(漫画)书“编辑元数据”,选择“自定义元数据”选项卡,然后输入“漫画。超级英雄“如下所示(忽略其他自定义列):

_images/sg_genre.jpg

完成上述操作后,您将在“标签浏览器”中看到:

_images/sg_tb.jpg

从现在开始,要将这一新体裁应用于一本书(假设是漫画书),您可以将书拖到该体裁上,或者使用编辑元数据将其添加到书中,方法与上面完全相同。

备注

仅当标签浏览器设置为按名称对项目排序时,分层显示才有效。这是默认设置,单击”标签浏览器”底部的“设置”按钮即可查看。

搜索

_images/sg_search.jpg

最简单的搜索体裁的方法是使用”标签浏览器”,点击你想看到的体裁。点击一个有儿童的体裁,你会看到有这个体裁和所有儿童体裁的书。然而,这可能会带来一个问题。仅仅因为一个体裁有孩子并不意味着它本身就不是一个体裁。例如,一本书的体裁可以是“历史”,但不是”历史.军事”. 你如何搜索只有“历史”体裁的书?

“标签浏览器”搜索机制知道项是否有子项。如果是这样,单击该项将循环进行5次搜索,而不是常规的三次搜索。第一种是普通的绿色加号,它只向你展示那种体裁的书(例如历史)。第二个是双倍加号(如上图所示),它向您展示具有该类型和所有子类型(例如,历史和历史.军事). 第三种是正常的红色减号,它显示的是没有那种类型的书。第四个是一个双倍减号,它显示的是没有这种类型或子类型的书。第五个是回到开始,没有标记,意味着没有搜索。

限制

如果您搜索某一体裁,然后为其创建保存的搜索,您可以使用“限制为”框来创建具有该体裁图书的“虚拟书库”。如果要在该体裁内进行其他搜索或管理/更新该体裁图书的元数据,这将非常有用。继续我们的示例,您可以创建名为‘历史.日本’的已保存搜索,方法是:首先单击“标记浏览器”中的”日本历史”体裁,将搜索放入搜索字段,在已保存搜索字段中输入历史.日本,然后按下“保存搜索”按钮(右侧带有白色加号的绿色框)。

_images/sg_restrict.jpg

创建保存的搜索后,您可以将其用作限制。

_images/sg_restrict2.jpg

有用的模板函数

您可能需要在模板中使用体裁信息,例如“保存到磁盘”或“发送到设备”。接下来的问题可能是“如何获得最外层的体裁名称?”提供了一个calibre模板函数subitems来简化这一过程。

例如,假设您要将最外层的体裁级别添加到“保存到磁盘”模板中,以创建流派文件夹,如“历史/聚集风暴-丘吉尔,温斯顿”中所示。为此,您必须提取层次结构的第一级,并将其与斜线一起添加到前面,以指示它应该成为一个文件夹。下面的模板实现了这一点:

{#genre:subitems(0,1)||/}{title} - {authors}

有关模板和“subitems”函数的更多信息,请参阅:“模板语言<templatelangcalibre>”。