图形用户界面

通过图形用户界面*(GUI)*可访问所有的书库管理和电子书格式转换功能。使用 calibre 的基本工作流程是:首先从你的硬盘中将书籍添加进书库。calibre 将自动尝试从书籍中读取元数据,并将其添加进 calibre 的内部数据库。一旦元数据在数据库中,你可以对它们进行不同的:ref:操作,包括转换格式、传输到电子书阅读器、在电脑上阅读、编辑元数据等。编辑元数据包括修改封面、描述和标签及其他详细信息。注意 calibre 复制了你添加的文件,你的原始文件不会被修改。

calibre 的界面分为几个部分:

操作

The Actions Toolbar

操作栏提供了常用操作的快捷入口。如果你右键单击这些按钮,你可以在默认操作的基础上进行变化。请注意,你的电子书阅读器连接电脑前后,操作栏的样子会稍有不同。

添加书籍

adbi 通过右键单击:guilabel:`Add books`按钮,可以执行七种变化操作。

  1. 从单一目录添加书籍:本操作将打开一个文件选择窗口,并允许你指定一个目录,该目录中的书籍将会被添加。这个操作是*内容敏感的*,也就是说,这个操作依赖于你选择的:ref:书目<catalogs>。如果你选择的是:guilabel:书库,则书籍将被添加至书库。如果你选择的是电子书阅读设备,则书籍将被上传至设备,等等。
  2. 从目录和子目录添加图书:允许您选择目录。递归扫描该目录及其所有子目录,并将找到的任何电子书添加到图书馆。您可以选择是否让Calibre将单个目录中存在的所有文件添加到单个帐簿记录或多个帐簿记录。Calibre假设每个目录包含一本书。假定目录中的所有电子书文件都是不同格式的同一本书。此操作与:ref:`保存到磁盘 <save_to_disk_multiple>`操作相反,即您可以在:guilabel:`保存到磁盘`删除书籍,然后在每个目录的单个书籍模式下重新添加它们,除日期外不会丢失任何信息(这假设您没有更改保存到磁盘操作的任何设置)。
  3. 从压缩文件(ZIP/RAR)中添加多本书籍:这一操作允许你被被选中的 ZIP 或 RAR 文件中存储的电子书文件进行添加,是一个可以避免事先将压缩文件解压、再通过前两个操作添加书籍的快捷操作。
  4. 添加空白书籍(无格式的书籍条目):这一操作允许你创建一条空白的书籍记录,可以用于手动填写你还没有的书的信息。
  5. 使用 ISBN 号添加书籍:这一操作允许你通过输入书籍的 ISBN 号添加一本或多本书籍。
  6. 添加文件到选中的书籍记录中:允许你添加或更新书库中与现有书籍关联的文件。
  7. 添加一个空文件到选中的书籍记录中:允许您将指定格式的空文件添加到选定的书籍记录。

:guilabel:`添加书籍`功能可以从许多种类的电子书格式中读取元数据。此外,它还尝试从文件名猜测元数据。参见:ref:`config_filename_metadata`一节以学习如何设置这一功能。

你可以通过以下三种方法中的任意一种,添加现有书籍的另一版本:

  1. 将文件拖放至主窗口右侧的书籍详情面板。
  2. 右键单击:guilabel:添加书籍`按钮,选择:guilabel:`添加文件到选中的书籍记录中
  3. 单击:guilabel:`编辑元数据`对话框右上角区域中的:guilabel:`添加书籍`按钮,可通过:ref:`编辑元数据信息`操作来访问。

编辑元数据

emii :guilabel:`编辑元数据`操作有四种变化操作,可以通过右键单击该按钮进行访问。

  1. 逐个修改原数据:这一操作允许你一本一本地编辑书籍的元数据,有从互联网获取元数据(包括封面)的选项。这一操作还允许你添加或移除一本书籍的特定的电子书格式。
  2. 批量修改元数据:这一操作允许你同时编辑多本书籍的相同元数据字段,它将修改你在:ref:`Library view<search_sort>`中选中的所有书籍。
  3. **下载元数据和封面&&:下载在书籍列表中选中的书籍的元数据和封面(如果可用)。
  4. 合并书籍记录:向你提供合并两个或多个书籍记录的元数据和格式的功能。你可以选择删除或保留不是第一次点击的书籍记录。

更多信息,参见:ref:metadata

转换书籍

cei 电子书可以从许多种格式转换成你的电子书阅读器偏好的格式。很多可购买电子书被`数字权利管理 <drm>` *(DRM)*技术所保护。calibre 不会转换这些电子书。很多格式电子书的 DRM 很容易移除,但是由于这样做可能违法,你必须自己找到工具解除电子书的限制,然后再使用 calibre 转换。

对大多数人来说,转换应该是简单的一键完成。如果你想要知道更多关于转换过程的信息,参见:ref:conversion

:guilabel:`转换书籍`操作有三种变化操作,可以通过右键单击该按钮进行访问。

  1. 逐个转换:这一操作允许你指定转换选项,以自定义每一本选中的电子书的转换过程。
  2. 批量转换:这一操作允许你一次性指定转换选项,以批量转换多本电子书。
  3. 为你的 calibre 书库中的书籍编制书目:这一操作允许你生成书库中书籍的完整列表,包括所有的元数据,格式包括XML、CSV、BiBTeX、EPUB 和 MOBI。书目将包括当前显示在书库视图中的所有书。这一操作允许你使用搜索特性限制被编目的书籍。此外,如果你使用鼠标选中数本书籍,则只有这些书籍会被添加进书目中。如果你生成的书目是电子书格式,例如EPUB、MOBI或AZW3,下次你连接电子书阅读器时,书目将自动发送至设备。关于书目如何运作的更多信息,参见:ref:catalog_tut

阅读

vi :guilabel:`阅读`操作可在电子书阅读器程序中阅读书籍。calibre 有一个内置的阅读器,支持多种电子书格式。对于其他格式,calibre 将使用默认的操作系统应用程序。你可以通过:guilabel:`首选项->界面->界面行为`设置何种格式应以内置阅读器打开。如果一本书籍有多种格式,你可以通过右键单击该按钮阅读其中一种。

发送到设备

stdi :guilabel:`发送到设备`操作有八种变化操作,可以通过右键单击该按钮进行访问。

  1. 传送到内部储存空间:选中的书籍将被传送到电子书阅读器的内部储存空间。
  2. 发送到储存卡(A):选中的书籍将被发送到电子书阅读器的储存卡(A)。
  3. 发送到储存卡(B):选中的书籍将被发送到电子书阅读器的储存卡(B)。
  4. 发送特定格式至:选中的书籍将以你指定的格式被发送到设备的选中的存储位置。
  5. 弹出设备:断开设备与 calibre 的连接。
  6. 设置“发送到设备”的默认操作:这一操作允许你指定单击“发送到设备”的主按钮时,上面1-5或下面的7这些选项中哪一个会成为默认操作。
  7. 发送并从书库中删除:选中的书籍将被传送至设备的选中的存储位置,然后从书库中**删除**。
  8. 抓取注解(实验功能):将你在设备上做出的电子书中的注解传送到在 calibre 书库中该书籍的评论元数据。

你可以在:guilabel:`首选项->导入/导出->发送书籍到设备`设置一个模板,以控制发送至设备的文件的文件名和目录结构。

抓取新闻

fni :guilabel:`抓取新闻`操作从不同的网站下载新闻,并将其转换成你的电子书阅读器可以读取的电子书格式。通常,新创建的电子书会添加进你的电子书书库,但是如果下载完成时电子书阅读器连接到电脑,则新闻会自动上传到阅读器。

抓取新闻`操作对每个新闻网站使用简单的新闻配方(10-15行的代码)。要学习如何为你自己的新闻源创建新闻配方,参见:ref:`news

:guilabel:`抓取新闻`操作有三种变化操作,可以通过右键单击该按钮进行访问。

  1. 定期新闻下载:这一操作允许你定期从数百个可用的新闻源中选择并定期下载。你选择的每个新闻源的下载日程可以单独设置,下载日程是灵活的,允许你选择一周中特定的数天或每隔数天进行下载。
  2. 添加自定义新闻源:这一操作允许你创建一个简单的新闻配方,以从你希望访问的自定义新闻网站中下载新闻。创建新闻配方可以像指定一个 RSS 新闻源 URL 那样简单,或者你可以通过创建基于 Python 的任务代码,以使新闻配方更规范。更多信息参见:ref:news
  3. 下载所有设置了定期下载的新闻源:要求 calibre 立即开始下载你设置了日程的所有新闻源。

书库

:guilabel:`书库`操作允许你创建、切换、重命名或移除书库。calibre 允许你创建任意数量的书库。例如,你可以创建一个虚构书库、一个非虚构书库、一个外语书库、一个项目书库,或者任何满足你要求的结构。书库是 calibre 中最高级别的组织结构。每个书库有自己的一系列书籍、标签、分类和基础存储位置。

  1. 切换/创建书库…:这一操作允许你:(1)连接至位于其他位置的已经存在的 calibre 书库;(2)在新位置创建一个空白书库;(3)移动当前书库至指定的新位置。
  2. 快速切换:这一操作允许你在 calibre 注册或创建的书库之间切换。
  3. 重命名书库:这一操作允许你重命名一个书库。
  4. 随机挑一本书:从书库中随机选择一本书
  5. 删除书库:允许你将一个书库从 calibre 注销。
  6. 导出/导入所有calibre数据:允许您导出calibre数据以迁移到新计算机或导入以前导出的数据。
  7. <library name>:操作7、8等等……允许您在已创建或附加到的多个书库之间即时切换访问。这一列表只包括5个最常使用的书库。完整的列表请使用“快速切换”菜单。
  8. 书库维护:这一操作允许你检查当前书库的数据一致性问题,以及从备份中恢复当前书库的数据库。

注解

你的电子书的元数据(即标题、作者、标签等)存储在你的 calibre 书库文件夹中的 metadata.db 文件。如果这个文件被损坏(非常罕见),你将会丢失元数据。幸运的是,calibre 会自动为每本书籍备份其元数据,并放在该书籍的文件夹下面,作为一个 OPF 文件。通过使用上面提到的“书库维护”下的“恢复数据库”操作,你可以让 calibre 为你从单独的 OPF 文件重新构造 metadata.db 文件。

通过右键单击书籍并选择:guilabel:复制到书库,你可以在不同书库之间复制或移动书籍(当你设置了超过一个书库)。

设备

dvi :guilabel:`设备`操作允许你查看你的设备的主内存或储存卡中的书籍,或弹出设备(将其与 calibre 断开连接)。这个图标在你连接支持的设备时将自动出现在 calibre 的主工具栏上。你可以点击它以查看你的设备中的书籍。你还可以从你的 calibre 书库中拖放书籍至该图标,来将书籍传送至你的设备。反过来,你可以拖放你的设备中的书籍到工具栏上的书库图标,来将书籍从你的设备传送到你的 calibre 书库。

保存到磁盘

svdi :guilabel:`保存到磁盘`操作有五个变化操作,可以通过右键单击该按钮进行访问。

  1. 保存到磁盘:将选中的书籍以目录的组织保存至磁盘。目录结构为:

    Author_(sort)
        Title
            Book Files
    

通过在:guilabel:首选项->导入/导出->保存书籍至磁盘`中设置一个模板,你可以控制所保存到磁盘的文件的文件名和目录结构。参见:ref:`templatelangcalibre

  1. 保存到磁盘的单个目录:将选中的书籍保存到磁盘的单个目录中。

对于操作1和2,选中书籍的所有可用的格式和元数据会被保存到磁盘。元数据以 OPF 格式存储。保存的书籍可以通过:ref:`添加书籍<add_books>`操作重新导入书库,不会有任何信息损失。

  1. 仅保存*<你偏好的>*格式到磁盘:如同操作1,以目录结构保存选中的书籍到磁盘,但仅以你偏好的格式。你可以在:guilabel:`首选项->界面->界面行为->操作方式->首选输出格式`中设置你偏好的格式。
  2. 仅保存*<你偏好的>*格式到磁盘中的单个目录:保存选中的书籍到磁盘中的单个目录,但仅以你偏好的格式。你可以在:guilabel:`首选项->界面->界面行为->操作方式->首选输出格式`中设置你偏好的格式。
  3. 以单一格式保存到磁盘…:如同操作(1),以目录结构保存选中的书籍到磁盘,但仅以你从弹出的列表中选择的格式。

连接/共享

csi :guilabel:`连接/共享`操作允许你手动连接到一个设备或你的电脑中的一个文件夹。它还允许你设置你的 calibre 书库以便通过浏览器或电子邮件访问。

:guilabel:`连接/共享`操作有四个变化操作,可以通过右键单击该按钮来进行访问。

  1. 连接到文件夹:这一操作允许你连接到你的电脑中的任意文件夹,如同该文件夹是一个设备一样,并对该文件夹使用 calibre 对设备拥有的所有功能。如果你的设备不能被 calibre 支持,但可以当做 USB 磁盘使用,这一功能会有用。
  2. 启动内容服务器:启动 calibre 的内置 web 服务器。启动后,你的 calibre 书库将可以通过浏览器从 Internet 访问(如果你选择)。通过在:guilabel:首选项->分享->通过网络分享,你可以设置 web 服务器被访问的方式。
  3. 设置基于电子邮件的书籍共享:这一操作允许通过电子邮件共享书籍和新闻源。为该选项设置了邮件地址后,calibre 将发送新闻更新和书籍更新至输入的邮件地址。你可以在:guilabel:`首选项->分享->通过邮件分享`中设置 calibre 发送邮件的方式。一旦你设置了一个或多个邮件地址,这个菜单项将会被发送书籍到设置的邮件地址的菜单项所替代。

移除书籍

rbi 移除书籍`操作会**永久删除书籍**,因此需要小心使用。这个功能是*内容敏感的*,也就是说它取决于你选择的是哪个:ref:`书目<catalogs>。如果你选择的是:guilabel:书库,书籍会从书库中移除。如果你选择了电子书阅读设备中的书籍,书籍将从设备中移除。如果要删除某一书籍的某一特定格式,使用:ref:`edit_meta_information`操作。移除图书也有五种变化操作,可以通过右键单击该按钮来访问。

  1. 移除选定书籍**永久**移除书籍列表中选中的所有书籍。
  2. 移除选定书籍中指定格式的电子书文件…**永久**移除书籍列表中选定的书籍的特定格式的电子书文件。
  3. 移除选定书籍中指定格式以外的电子书文件…**永久**移除书籍列表中选定的书籍的特定格式以外的电子书文件。
  4. 移除选定书籍中所有格式的电子书**永久**移除书籍列表中选中的书籍的所有电子书文件,仅留下元数据。
  5. 移除选定书籍的封面**永久**移除书籍列表中选中的书籍的封面图片文件。
  6. 从设备中移除对应的书籍:从连接的设备中移除与书籍列表中选中的书籍对应的电子书文件。

注解

注意,当你使用:guilabel: `移除书籍`将书籍从你的 calibre 书库删除时,书籍记录被永久删除,但在 Windows 和 macOS 中,文件将被移动到回收站。如果你改变了主意,这一点允许你恢复这些文件。

首选项

cbi :guilabel:`首选项`操作允许你改变 calibre 不同方面的工作方式。有四个变化操作,可以通过右键单击该按钮来访问。

  1. 首选项:改变 calibre 不同方面的工作方式。点击按钮也会执行该操作。
  2. 运行欢迎向导:启动你第一次启动 calibre 时出现的:guilabel:欢迎向导
  3. 获取用于增强 calibre 功能的插件:打开新的窗口显示 calibre 插件。这些插件由第三方开发,用于扩展 calibre 的功能。
  4. 以调试模式重启:开启调试模式,协助 calibre 开发者解决你遇到的该程序的问题。对大部分用户而言,这一功能应该保持禁用,除非受到开发者指导而启用。

书目

_images/catalogs.png

书目*是书籍的集合。calibre 可以管理两种不同类型的*书目

  1. 书库:存储在你电脑上的 calibre 书库的书籍集合。
  2. 设备:存储在你的电子书阅读器的书籍集合,在你连接阅读器至电脑时可用。

许多操作,例如添加书籍、删除、阅读等,是环境敏感的。因此,例如如果你在**设备**书目被选中时点击:guilabel:`阅读`按钮,calibre 将打开设备中的文件以供阅读。如果**书库**书目被选中,则你的 calibre 书库中的文件将会被打开。

搜索和排序

_images/search_sort.png

“搜索和排序”部分允许你对你的书籍集合执行强大的操作。

  • 你可以通过单击列标题,依据标题、作者、日期、评分等对它们进行排序。你还可以进行子排队,也就是对几列进行排序。例如,如果你点击标题列,然后点击作者列,书籍将按照作者排序,然后所有作者相同的条目将按标题排序。

  • 你可以使用搜索栏搜索某本特定的书籍或一组书籍。更多信息参见下文。

  • 你可以通过在列表中选择要编辑的条目并按:kbd:`E`键,快速方便地编辑元数据。

  • 你可以对一组书籍执行:ref:actions。以下方法可以选中多本书籍:

    • 按住:kbd:`Ctrl`键不放,点击你想要选择的书籍。
    • 按住:kbd:`Shift`键不放,点击你想要选择的书籍条目范围的第一本和最后一本。
  • 你可以使用:ref:`configuartion`窗口设置显示的字段。

搜索界面

你可以在搜索栏输入关键字来搜索所有的元数据。搜索是大小写敏感的。例如:

Asimov Foundation format:lrf

这个关键字会匹配书库中所有元数据中含有``Asimov``和``Foundation``且有 LRF 格式的书籍。另外一些例子:

author:Asimov and not series:Foundation
title:"The Ring" or "This book is about a ring"
format:epub publisher:feedbooks.com

默认情况下,搜索为“包含”式,即如果搜索的字符串出现在指明的元数据的任何位置,该项目就会匹配上。其他两种可以用的搜索是“等于”式搜索和“使用`正则表达式`<https://zh.wikipedia.org/zh-hans/正则表达式>`_”搜索。

“等于”式搜索通过在搜索字符串前增加一个等号(=)进行指明。例如,查询指令``tag:”=science”将会匹配“science”,但不会匹配“science fiction”或“hard science”。正则表达式搜索通过在搜索字符串前增加一个波浪号(~)进行指明。任何 `Python 兼容的正则表达式 <https://docs.python.org/library/re.html>`_都可以使用。注意在正则表达式中转义字符使用的反斜杠必须写两个,因为在查询指令的解析过程中单斜杠将被移除。例如,为了匹配括号,你必须输入\(``。正则表达式搜索是“包含”式搜索,除非表达式中包含插入符。

如果需要搜索以等号或波浪号开头的字符串,在字符串前增加一个反斜杠。

如果字符串包含括号或空格,应将字符串包含在引号(”)中。例如,要搜索标签``Science Fiction``,你应该搜索``tag:”=Science Fiction”。如果你搜索``tag:=Science Fiction,你将会搜索到所有含有“Science”标签且任何元数据含有“Fiction”的书籍。

你可以单击按钮|sbi|访问:guilabel:`高级搜索`窗口以容易地构建高级搜索查询。

可用的搜索字段为:``tag, title, author, publisher, series, series_index, rating, cover, comments, format, identifiers, date, pubdate, search, size, vl``和自定义列。如果设备插入,搜索 calibre 书库视图时``ondevice``字段也可以使用。悬停鼠标光标在书库视图中自定义列的列标题上,可以找到自定义列的搜索名称(实际上叫作`查询名称`)。

日期的搜索规则是:

pubdate:>2000-1 Will find all books published after Jan, 2000
date:<=2000-1-3 Will find all books added to calibre before 3 Jan, 2000
pubdate:=2009 Will find all books published in 2009

如果日期模棱两可,当前的地域设置将被用于日期比较。例如,如果地域设置中日期格式为mm/dd/yyyy,2/1/2009将被解读为2009年2月1日。如果地域设置中日期格式为dd/mm/yyyy,则该日期解读为2009年1月2日。某些特殊的日期字符串可以使用。字符串``today``解读为今天的日期。字符串``yesterday``和``thismonth``(或翻译成当前语言的相同含义字符串)也可以使用。另外,字符串``daysago``(也可以被翻译使用)可以用于比较若干天前的一个日期。例如:

date:>10daysago
date:<=45daysago

为了避免使用非英语版本的 calibre 时翻译的字符串的潜在问题,字符串``_today``、_yesterday``_thismonth``和``_daysago``永远可用。它们不会被翻译。

你可以搜索含有特定大小的格式的书籍,例如:

size:>1.1M Will find books with a format larger than 1.1MB
size:<=1K  Will find books with a format smaller than 1KB

日期型和数值型字段支持关系运算符``=`` (等于)、 >``(大于)、>=``(大于或等于)、<``(小于)、``<=``(小于或等于)和!=``(不等于)。评分字段被视为数值型。例如,搜索``rating:>=3``将找到所有评分高于或等于3的书籍。

你可以在多值字段(例如标签)中搜索项目数量。这类搜索以字符``#``开头,然后使用与数值型字段相同的语法。例如,要找到所有标签超过4个的书籍,使用``tags:#>4``。要找到所有标签正好是10个的书籍,使用``tags:#=10``。

序列的索引号也可以搜索。对标准序列,搜索名称是“serial_index”。对于自定义序列的列,搜索名称为列搜索名称后加上“_index”。例如,搜索一个自定义序列的名为``#my_series``的列的索引,你应该使用``#my_series_index``作为搜索名称。序列的索引号为数字,所以你可以用上文叙述的关系运算符。

特殊字段``search``用于保存的搜索。所以如果你保存了一个名为“My spouse’s books”的搜索,你可以输入在搜索栏输入``search:”My spouse’s books”``以重新使用保存的搜索。更多关于保存搜索的信息见下文。

特殊字段``vl``用于搜索虚拟书库中的书籍。例如,``vl:Read``将找到*Read*虚拟书库中的所有书籍,``vl:Read and vl:”Science Fiction”``将找到所有同时在**Read**虚拟书库和**Science Fiction**虚拟书库中的书。``vl:``后面的值必须为虚拟书库名称。如果虚拟书库名称包含空格,则该名称需要用引号包括起来。

你可以使用特殊的“true”和“false”值搜索某一字段存在或不存在。例如:

cover:false will give you all books without a cover
series:true will give you all books that belong to a series
comments:false will give you all books with an empty comment
format:false will give you all books with no actual files (empty records)

是/否型自定义列可以被搜索。搜索``false``、empty``或``blank``将找到所有在该列中含有未定义值的书籍。搜索``true``将找到所有在该列中不含有未定义值的书籍。搜索``yes``或``checked``将找到所有在该列的值为``Yes``的书籍。搜索``no``或``unchecked``将找到所有在该列的值为``No``的书籍。注意``yesnoblankemptychecked``和``unchecked``会被翻译;你可以使用当前语言的相同含义词语或英语词语。``true``和``false``以及特殊值``_yes, _no, and _empty 不会被翻译。

分等级的项目(例如A.B.C)使用一种扩展的语法来匹配等级的开始部分。在精确匹配指示符(=)和文本之间加入一个英文句号可以实现。例如,查询指令``tags:=.A``将找到标签`A`和`A.B`,但不会找到标签`AA`或``AA.B`。查询指令``tags:=.A.B``将找到标签`A.B`和`A.B.C`,但不会找到标签`A`。

标识符(例如:ISBN、doi、lccn等)也使用一种扩展的语法。首先,注意标识符的形式为``type:value``,例如``isbn:123456789``。扩展的语法允许独立地指定搜索哪种类型和值。查询指令中的type部分和value部分都可以使用`等于式`、`包含式`或`正则表达式`匹配。例如:

  • ``identifiers:true``将找到含有任何标识符的书籍。
  • ``identifiers:false``将找到不含有标识符的书。
  • identifiers:123 将搜索任何类型标识符的值包含`123`的书籍。
  • ``identifiers:=123456789``将搜索任何类型标识符的值`123456789`的书籍。
  • ``identifiers:=isbn:``和``identifiers:isbn:true``将找到拥有标识符类型为ISBN且该标识符有任何值的书籍。
  • ``identifiers:=isbn:false``将找到标识符类型不等于isbn的书籍。
  • ``identifiers:=isbn:123``将找到有一个标识符类型为ISBN且其值包含`123`的所有书籍。
  • ``identifiers:=isbn:=123456789``将找到有一个标识符为ISBN且其值等于`123456789`的所有图书。
  • ``identifiers:i:1``将找到某一个标识符类型含`i`且该类型的值含`1`的所有书籍。
_images/search.png

高级搜索对话框

保存搜索

calibre 支持将经常使用的搜索保存为特殊名称并一键复用该搜索。你可以通过在搜索栏中搜索或使用标签浏览器创建搜索,然后在搜索栏旁边的“保存搜索”中输入搜索的名称。点击“保存搜索”旁边的加号图标保存搜索。

Now you can access your saved search in the Tag browser under Saved searches. A single click will allow you to reuse any arbitrarily complex search easily, without needing to re-create it.

虚拟书库

一个:guilabel:虚拟书库`是一种模仿你的 calibre 书库只有几本书而不是全部藏书的的方式。这是将您的大量藏书划分为较小的、可管理的块的绝佳方式。要了解如何创建和使用虚拟库,请参阅教程:ref:`virtual_libraries

从文件名猜测元数据

通常,calibre 从电子书文件内读取元数据。然而,它可以通过:guilabel:首选项->导入/导出->添加书籍->从文件内容而不是文件名读取元数据,设置为从文件名读取元数据。

你还可以使用正则表达式控制元数据从文件名读取的方式(参见:doc:regexp)。在设置窗口的:guilabel:添加书籍,你可以指定 calibre 用于从你添加到书库的电子书的文件名尝试和猜测元数据的正则表达式。默认的正则表达式是:

title - author

即,假设第一个``-``之前的所有字符为书籍的标题,之后的字符为书籍的作者。例如:文件名

Foundation and Earth - Isaac Asimov.txt

将被解读为:标题为“Foundation and Earth”,作者为“Isaac Asimov”。

小技巧

如果文件名不包含连字符,上面的正则表达式将失效。

书籍详情

_images/book_details.png

书籍详情面板显示了当前选中书籍的封面和所有元数据,可以通过 calibre 主窗口右下角的:guilabel:`布局`按钮隐藏。书籍详情面板显示的作者名字可以点击,默认将打开作者的维基百科页面。这个功能可以通过右键单击作者名字并选择管理该作者进行自定义。

类似地,如果你下载书籍的元数据,书籍详情面板将自动显示元数据下载源(例如亚马逊、worldcat等)中该书籍的网页链接。

你可以在书籍详情面板中右键单击某种电子书格式来删除该格式电子书、与原始版本对比、保存到磁盘、以外部程序打开灯。

你可以通过简单地拖放图片到书籍详情面板改变书籍的封面。如果你希望在外部程序中编辑封面图片,只要右键单击并选择:guilabel:封面的打开方式

你还可以通过拖放电子书文件到书籍详情面板向当前书籍添加电子书文件。

双击书籍详情面板将让其以分离的弹出窗口打开。

最后,你可以通过:guilabel:`首选项->界面->界面外观->书籍详情`自定义要显示的信息。

标签浏览器

_images/tag_browser.png

标签浏览器让你可以容易地根据作者、标签、丛书等浏览你的书集。如果点击标签管理器中的任意项目,例如作者名称 Issac Asimov,则右边的书籍列表将显示该作者的书籍。你还可以点击分类的名称。例如,点击“丛书”将显示所有在某一丛书中的书籍。

第一次点击某个项目,将会把书籍列表限制于包含或匹配该项目的书籍。继续上面的例子,点击Isaac Asimov将显示该作者的书。再次点击某项目将改变显示的书籍,视该项目是否有子项(见下文的子分类和分等级项目)。继续Isaac Asimov的例子,再次点击Issac Asimov将限制书籍列表为非Isaac Assimov的书。第三次点击将会移除该限制,并显示所有的书。如果你按住 Ctrl 或 Shift 键后点击多个项目,则基于多个项目的限制将被创建。例如,你可以按住 Ctrl 后点击 History 和 Europe 标签来找到关于欧洲历史的书。标签浏览器通过构建自动输入搜索栏的搜索表达式来运作。观察标签浏览器产生的东西是学习构造基本搜索表达式的好方法。

标签浏览器中的项目的图标部分被上色。颜色的数量取决于该类书籍的平均评分。因此,例如如果 Isaac Asimov 的书籍平均评分为四星,则标签浏览器中 Isaac Asimov 的图标将上 4/5 的颜色。你可以在图标上悬停鼠标光标查看平均评分。

标签浏览器`中的外层项目(例如作者和丛书)称为分类。你可以创造你自己的分类,称为:guilabel:`用户分类,对组织它们很有用。例如,你可以使用:guilabel:用户分类编辑器`(单击:guilabel:`标签浏览器`左下角的:guilabel:`配置`按钮,选择:guilabel:`管理作者、丛书等->用户分类)创建一个称为``Favorite Authors``的分类,然后将你喜欢的项目放进这一分类中。用户分类可以有子类。例如,用户分类``Favorites.Authors``是``Favorites``的一个子类。你可能还有``Favorites.Series``,这种情况下``Favorites``下有两个子类。子类可以通过右键单击用户分类,选择:guilabel:添加子类到…, 然后输入子类名称创建;或使用:guilabel:`用户分类编辑器`并输入名称,类似上文的 Favorites 例子。

你可以像内置分类一样通过点击搜索用户分类。通过循环点击分类,有四种不同的搜索结果:
  1. “所有匹配此分类中的一个项目的书籍”,以一个绿色加号标识。
  2. “所有匹配此分类或其子分类中的一个项目的书籍”,以两个绿色加号标识。
  3. “所有不匹配此分类中的一个项目的书籍”,以一个红色减号标识。
  4. “所有不匹配此分类或其子分类中的一个项目的书籍”,以两个红色减号标识。

在某些文本型分类(例如标签、丛书和自定义列)中创建层次项也是可能的。这些层次项以小三角形显示,允许子项目被隐藏。要在一个分类中使用项目的层次项,你必须首先打开:guilabel:首选项->界面->界面外观,然后在“具有层次项的分类”中输入分类名称。完成之后,分类中包含英文句号的项目将使用小三角形展示。例如,假设你创建了一个自定义列名为“Genre”,并显示其包含层次项。完成之后,类似于 Mystery.Thriller 和 Mystery.English 的项目将显示为 Mystery,旁边有小三角形。点击三角形后将显示 Thriller 和 English 为子项。更多信息参见 管理书籍的子组织,例如“Genre”

层次项(有子项的项目)使用与用户分类相同的四次“点击”搜索。没有子项的项目使用两次点击搜索:“所有匹配的书籍”和“所有不匹配的书籍”。

你可以拖放标签浏览器中的项目到用户分类中,以将它们添加到该分类。如果原来是一个用户分类,拖动时按住 Shift 键不放,就可以将项目移动到新分类中。你还可以拖放书籍列表中的书籍到标签浏览器中的项目;将书籍仿造一个项目将使该项目自动应用于被放入的书籍。例如,拖动一本书到 Isaac Asimov 将会把该书作者设为 Isaac Asimov。将它拖到 History 标签,则该书籍的标签会增加 History。

你可以容易地通过点击标签浏览器右下角的搜索按钮找到任何项目。此外,你可以右键单击任何项目选择其中的操作,例如隐藏、重命名或打开一个“管理 X”的窗口以管理此类标签。例如,“管理作者”窗口可以重命名作者和控制他们名字的排序。

你可以通过标签浏览器左下角的:guilabel:`配置`按钮控制标签浏览器中项目排序的方式。你可以选择以名称、平均评分或受欢迎程度(受欢迎程度是书库中某一项目的书籍的数量;例如,Isaac Asimov 的受欢迎程度是你的书库中 Isaac Asimov的书籍的数量)。

封面网格

_images/cover_grid.png

如果你更喜欢通过封面来浏览你的书集,你可以让 calibri 显示书籍封面的网格,而不是书籍的列表。点击 calibre 主窗口右下角的:guilabel:布局`可以激活:guilabel:`封面网格。通过:guilabel:首选项->界面->界面外观->封面网格,你可以自定义封面的大小和背景。你甚至可以让 calibre 在封面下方显示任何指定字段,例如标题、作者、评分或你指定的自定义列。

封面浏览器

_images/cover_browser.png

除了上文描述的:guilabel:`封面网格`之外,你还可以让 calibre 在一行中展示封面。这个功能可以通过主窗口右下角的:guilabel:`布局`按钮激活。在:guilabel:`首选项->界面->界面外观->封面浏览器`中,你可以改变展示的封面数量,甚至可以让:guilabel:`封面浏览器`展示为一个分离的弹出窗口。

快速过滤

有时候你想要选择一本书籍,并得到与当前选中的书籍在某些分类(作者、标签、出版社、丛书等)有相同值的书籍的列表,但不想改变书库的当前视图。你可以通过快速过滤来做到这一点。快速过滤打开另一个窗口或书籍列表中的一个面板,显示匹配感兴趣的值的书籍列表。例如,假如你想看当前选中书籍的作者中的一个或多个人写的所有书籍的列表。点击作者单元格后按“Q”键,或点击 calibre 窗口的布局中的快速过滤图标。一个窗口或面板将打开并在左边显示该书的所有作者,并在右边显示选中作者的所有书籍。

一些快速过滤的用途的例子:快速看到:
  • 与当前选中书籍有相同标签的其他书籍;
  • 与当前书籍在相同丛书的其他书籍;
  • 与当前书籍在某自定义列有相同值的其他书籍;
  • 与当前书籍有一位相同作者的书籍;
  • 在某一自定义列共享值的其他书籍。

快速过滤的信息显示的位置可以有两种选择:

  1. 可以选择“不停靠”:在 calibre 窗口之上,将保持开启直到你关闭它。
  2. 可以选择“停靠”:作为 calibre 主窗口书籍列表部分的一个面板。

你可以使用“停靠/取消停靠”切换窗口至停靠或取消停靠。

快速过滤面板可以一直保持开启,这种情况下它会跟随书籍列表的变动。例如,如果你在 calibre 书库视图中对一本书籍点击了一个分类列(标签、丛书、出版社、作者等),快速过滤窗口的内容将改变,以显示选中书籍在该分类中的所有值(即该书籍的标签)。选中列表中的第一个项目,快速过滤窗口就会在右边的面板显示你的书库中所有使用此值的书籍。在左面板点击不同值以查看有不同值的书籍。

在快速过滤窗口中双击一本书籍,可以在书库视图中选中该书籍。这样做还会改变快速过滤窗口左边面板显示的项目,以显示新选中的书籍的值。

``Shift-``或``Ctrl-``再双击快速过滤窗口中的一本书籍,可以在 calibre 窗口中打开编辑该书籍元数据的窗口。关闭编辑元数据窗口后,被编辑的书籍会被快速过滤。

你可以通过悬停在某一列的标题并查看该标题的工具提示,看到该列是否可以被快速过滤。你还可以通过右键点击列标题查看“快速过滤”选项是否出现在菜单来得知,这种情况下选择那个“快速过滤”选项与在当前单元格按“Q”的效果相同。

选项(在:guilabel:首选项->界面外观->快速过滤):

  • 限于(或不限于)当前的虚拟书库。如果勾选,则快速查看仅显示当前虚拟图书馆中的图书。默认值:限于虚拟书库
  • 使用光标键更改图书列表上的列时,更改“快速查看”窗口的内容。默认值:不跟随光标键所做的更改
  • 双击“快速查看”窗口中的单元格时,更改“快速查看”列。否则,本书将被更改,而被检查的栏目则不会被更改。默认值:更改列
  • 在“快速查看”面板中按回车键时,将“快速查看”列更改为当前列。否则,本书将被更改,而被检查的栏目则不会被更改。默认值:更改列
  • 选择在“快速查看”窗口/面板中显示的列。

任务

_images/jobs.png

“任务”面板显示当前正在运行的工作数。任务是在单独进程中运行的活动。它们包括转换电子书和与你的阅读设备对话。您可以单击“任务”面板以访问作业列表。任务完成后,您可以通过双击列表中的该工作查看详细日志。这对于调试可能未成功完成的任务非常有用。

键盘快捷键

calibre有几个键盘快捷键,可以节省您的时间和鼠标移动。这些快捷方式在图书列表视图中处于激活状态(当您不编辑特定书籍的详细信息时),并且大多数快捷方式都会影响您选择的标题。calibre电子书浏览器有自己的快捷方式,可以通过单击查看器中的:guilabel:`首选项`按钮进行自定义。

注解

注:除非特别注明,否则calibre键盘快捷键不需要修改键(命令、选项、控制等)。您只需按字母键,例如e即可编辑。

Calibre主程序的键盘快捷键
键盘快捷键 操作
:键盘:F2(在MacOS中输入) 编辑图书列表中当前选定字段的元数据。
:键盘:`A` 添加书籍
:键盘:`Shift+A` 添加格式到选定书籍
:键盘:`C` 转换选定书籍
:键盘:`D` 发送到设备
:键盘:`Del` 移除选定书籍
:键盘:`E` 编辑选定书籍的元数据
:键盘:`G` 获取书籍
:键盘:`I` 显示书籍细节
:键盘:`K` 编辑目录(TOC)
:键盘:`M` 合并选定的记录
:键盘:`Alt+M` 合并选定的记录,保留原始记录
:键盘:`O` 打开所在目录
:键盘:`P` 优化书籍
:键盘:`S` 保存到磁盘
:键盘:`T` 编辑书籍
:键盘:`V` 阅读
:键盘:`在macOS系统为Alt+V/Cmd+V` 阅读特定格式
:键盘:`Alt+Shift+J` 切换任务列表
:键盘:`Alt+Shift+B` 切换封面浏览器
:键盘:`Alt+Shift+D` 切换书籍细节面板
:键盘:`Alt+Shift+T` 切换标签浏览器
:键盘:`Alt+Shift+G` 切换封面网格
:键盘:`Alt+A` 显示与当前图书相同作者的图书
:键盘:`Alt+T` 显示与当前图书标签相同的图书
:键盘:`Alt+P` 显示与当前图书出版商相同的图书
:键盘:`Alt+Shift+S` 显示与当前图书属于同一系列的图书
:键盘:`/, Ctrl+F` 聚焦搜索栏
:键盘:`Shift+Ctrl+F` 打开高级搜索对话框
:键盘:`Esc` 清除当前搜索
:键盘:`Shift+Esc` 聚焦书籍列表
:键盘:`Ctrl+Esc` 清除虚拟书库
:键盘:`Alt+Esc` 清除附加限制
:键盘:`Ctrl+*` 基于当前搜索创建一个临时虚拟书库
:键盘:`Ctrl+Right` 选择下一个虚拟书库选项卡
:键盘:`Ctrl+Left` 选择前一个虚拟书库选项卡
:键盘:`N or F3` 查找与当前搜索匹配的下一本书(仅当在搜索首选项中打开搜索突出显示时才起作用)
:键盘:`Shift+N or Shift+F3` 查找与当前搜索匹配的前一本书(仅当在搜索首选项中打开搜索突出显示时才起作用)
:键盘:`Ctrl+D` 下载元数据和封面
:键盘:`Ctrl+R` 重启 Calibre
:键盘:`Ctrl+Shift+R` 以调试模式重启calibre
:键盘:`Shift+Ctrl+E` 添加空白书籍到 Calibre
:键盘:`Ctrl+M` 切换所选图书的标记/未标记状态
:键盘:`Q` 通过打开“快速查看”弹出窗口,查看相关系列/标签等中的书籍。
:键盘:`Shift+Q` 聚焦打开的快速查看面板
:键盘:`Shift+S` 在“快速查看”面板执行搜索
:键盘:`Ctrl+Q` 退出 Calibre