管理图书的子组,例如“体裁”¶
有些人希望把书库里的书组织成子组,类似于子文件夹。最常见的原因是创建体裁层次结构,但还有许多其他原因。一位用户要求找到一种按学科和课程编号组织教科书的方法。另一个则希望根据礼物的主题和接收者来追踪礼物。本教程将在本文的其余部分使用流派示例。
在继续之前,请注意我们不是在谈论硬盘上的文件夹。子组不是文件文件夹。任何地方都不会复制书籍。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)添加体裁。
You create the custom column in the usual way, using Preferences -> Add your own columns. This example uses "#genre" as the lookup name and "Genre" as the column heading. It is important that the column type is set to Comma-separated text, like tags, shown in the Tag browser.

Then after restarting calibre, you must tell calibre that the column is to be treated as a hierarchy. Go to Preferences → Look & feel → Tag browser → Hierarchy and searching and choose the new Genre column as having hierarchical items.
在这一点上,列中没有流派。我们只剩下最后一步:如何将一种体裁应用于一本书。一种体裁只有在至少一本书上出现时,它才能在calibre上存在。要第一次学习如何应用一种体裁,我们必须详细了解一本书的元数据中的体裁是什么样子。
「事物」的層次結構是通過建立一個由句點分隔的短語組成的項來構建的。繼續體裁示例,這些專案將「歷史.軍事", "神秘.吸血鬼「,」科幻.太空歌劇」等等。因此,要建立新體裁,請選擇一本應該具有該體裁的書,編輯其後設資料,並將新體裁輸入到您建立的列中。如果你想給一本書分配一個新的體裁「漫畫」和一個子體裁「超級英雄」,你需要為那本(漫畫)書「編輯後設資料」,選擇「自定義後設資料」選項卡,然後輸入「漫畫。超級英雄「如下所示(忽略其他自定義列):

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

从现在开始,要将这一新体裁应用于一本书(假设是漫画书),您可以将书拖到该体裁上,或者使用编辑元数据将其添加到书中,方法与上面完全相同。
備註
仅当Tag Browser设置为按名称对项目排序时,分层显示才有效。这是默认设置,单击"标签浏览器"底部的:guilabel:`设置`按钮即可查看。
搜尋¶

最简单的搜索体裁的方法是使用”标签浏览器”,点击你想看到的体裁。点击一个有儿童的体裁,你会看到有这个体裁和所有儿童体裁的书。然而,这可能会带来一个问题。仅仅因为一个体裁有孩子并不意味着它本身就不是一个体裁。例如,一本书的体裁可以是“历史”,但不是"历史.军事". 你如何搜索只有“历史”体裁的书?
「標籤瀏覽器」搜索機制知道項是否有子項。如果是這樣,單擊該項將循環進行5次搜索,而不是常規的三次搜索。第一種是普通的綠色加號,它只向你展示那種體裁的書(例如歷史)。第二個是雙倍加號(如上圖所示),它向您展示具有該型別和所有子型別(例如,歷史和歷史.軍事). 第三種是正常的紅色減號,它顯示的是沒有那種型別的書。第四個是一個雙倍減號,它顯示的是沒有這種型別或子型別的書。第五個是回到開始,沒有標記,意味著沒有搜索。
限制¶
如果您搜索某一體裁,然後為其建立儲存的搜索,您可以使用「限制為」框來建立具有該體裁圖書的「虛擬書庫」。如果要在該體裁內進行其他搜索或管理/更新該體裁圖書的後設資料,這將非常有用。繼續我們的示例,您可以建立名為『歷史.日本』的已儲存搜索,方法是:首先單擊「標記瀏覽器」中的"日本歷史"體裁,將搜索放入搜索欄位,在已儲存搜索欄位中輸入歷史.日本,然後按下「儲存搜索」按鈕(右側帶有白色加號的綠色框)。

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

有用的模板函数¶
您可能需要在模板中使用体裁信息,例如“保存到磁盘”或“发送到设备”。接下来的问题可能是“如何获得最外层的体裁名称?”提供了一个calibre模板函数subitems来简化这一过程。
例如,假设您要将最外层的体裁级别添加到“保存到磁盘”模板中,以创建流派文件夹,如“历史/聚集风暴-丘吉尔,温斯顿”中所示。为此,您必须提取层次结构的第一级,并将其与斜线一起添加到前面,以指示它应该成为一个文件夹。下面的模板实现了这一点:
{#genre:subitems(0,1)||/}{title} - {authors}
有关模板和:func:subitems`函数的更多信息,请参阅:ref:`模板语言<templatelangcalibre>。