ahrm/sioyek

GitHub: ahrm/sioyek

面向研究论文和教科书的键盘驱动型 PDF 阅读器,支持智能跳转、标记和多屏联动。

Stars: 8712 | Forks: 305

# Sioyek Sioyek 是一款专注于教科书和研究论文的 PDF 阅读器。 # 开发分支常见问题解答 ## 问:使用 Qt 5.* 时出现构建错误。 答:如果您正在构建开发分支,则需要使用 Qt 6.7 或 6.8。 ## 问:在 MacOS 上出现“sioyek is damaged and cannot be opened. It is recommended to eject the image.”(sioyek 已损坏且无法打开。建议推出映像。)。 答:这与 macOS 隔离机制有关。请参阅 https://github.com/ahrm/sioyek/discussions/1156#discussioncomment-10822738 。 ## 目录 * [安装](#install) * [文档](#documentation) * [视频演示](#feature-video-overview) * [功能](#features) * [构建说明](#build-instructions) * [请我喝杯咖啡(或买本书!)](#donation) ## 安装 ### 官方安装包 适用于 Windows、macOS 和 Linux 的安装程序。请查看 [发布页面](https://github.com/ahrm/sioyek/releases)。 ### Homebrew Cask 此处提供一个 Homebrew Cask:https://formulae.brew.sh/cask/sioyek。通过运行以下命令安装: ``` brew install --cask sioyek ``` ### Linux 第三方安装包 如果您更喜欢使用包管理器安装 sioyek,可以查看此列表。请注意,它们由第三方打包者提供。使用风险自负!如果您要报告第三方软件包的错误,请提及您使用的是哪个软件包。 发行版 | 链接 | 维护者 ------- | ----- | ------------- Flathub | [sioyek](https://flathub.org/apps/details/com.github.ahrm.sioyek) | [@nbenitez](https://flathub.org/apps/details/com.github.ahrm.sioyek) Alpine | [sioyek](https://pkgs.alpinelinux.org/packages?name=sioyek) | [@jirutka](https://github.com/jirutka) Arch | [AUR sioyek](https://aur.archlinux.org/packages/sioyek) | [@goggle](https://github.com/goggle) Arch | [AUR Sioyek-git](https://aur.archlinux.org/packages/sioyek-git/) | [@randomn4me](https://github.com/randomn4me) Arch | [AUR sioyek-appimage](https://aur.archlinux.org/packages/sioyek-appimage/) | [@DhruvaSambrani](https://github.com/DhruvaSambrani) Debian | [sioyek](https://packages.debian.org/sioyek) | [@viccie30](https://github.com/viccie30) NixOS | [sioyek](https://search.nixos.org/packages?channel=unstable&show=sioyek&from=0&size=50&sort=relevance&type=packages&query=sioyek) | [@podocarp](https://github.com/podocarp) openSUSE | [Publishing](https://build.opensuse.org/package/show/Publishing/sioyek) | [@uncomfyhalomacro](https://github.com/uncomfyhalomacro) openSUSE | [Factory](https://build.opensuse.org/package/show/openSUSE:Factory/sioyek) | [@uncomfyhalomacro](https://github.com/uncomfyhalomacro) Ubuntu | [sioyek](https://packages.ubuntu.com/sioyek) | [@viccie30](https://github.com/viccie30) ## 文档 您可以在此处查看[官方文档](https://sioyek-documentation.readthedocs.io/en/latest/)。 ## 功能视频概览 [![Sioyek 功能概览](https://img.youtube.com/vi/yTmCI0Xp5vI/0.jpg)](https://www.youtube.com/watch?v=yTmCI0Xp5vI) 如需更深入的教程,请观看此视频: [![Sioyek 教程](https://img.youtube.com/vi/RaHRvnb0dY8/0.jpg)](https://www.youtube.com/watch?v=RaHRvnb0dY8) ## 功能 ### 快速打开 https://user-images.githubusercontent.com/6392321/125321111-9b29dc00-e351-11eb-873e-94ea30016a05.mp4 您可以快速搜索并打开之前使用 sioyek 交互过的任何文件。 ### 目录 https://user-images.githubusercontent.com/6392321/125321313-cf050180-e351-11eb-9275-c2759c684af5.mp4 您可以搜索并跳转到目录条目。 ### 智能跳转 https://user-images.githubusercontent.com/6392321/125321419-e5ab5880-e351-11eb-9688-95374a22774f.mp4 您可以跳转到任何引用的图表或参考文献条目,*即使 PDF 文件本身没有提供链接*。您还可以通过鼠标中键/Shift+鼠标中键点击参考文献名称,在 Google Scholar/Libgen 中搜索这些名称。 ### 概览 https://user-images.githubusercontent.com/6392321/154683015-0bae4f92-78e2-4141-8446-49dd7c2bd7c9.mp4 您可以通过右键单击图表/参考文献/表格等,打开其快速概览(像智能跳转一样,即使文档不提供链接,此功能也能工作)。 ### 标记 https://user-images.githubusercontent.com/6392321/125321811-505c9400-e352-11eb-85e0-ffc3ae5f8cb8.mp4 有时在阅读文档时,您需要回退几页(可能是为了查看定义或其他内容),然后快速跳回之前的位置。您可以使用标记来实现这一点。标记是 PDF 文件中的命名位置(每个标记都有单字符名称,例如 'a' 或 'm'),您可以通过其名称快速跳转。在上述示例中,在返回查看定义之前,先标记您的位置,稍后通过调用其名称跳回该标记。小写标记是文档局部的,大写标记是全局的(如果您使用过 vim,应该对此非常熟悉)。 ### 书签 https://user-images.githubusercontent.com/6392321/125322503-1a6bdf80-e353-11eb-8018-5e8fc43b8d05.mp4 书签与标记类似,但它们由文本字符串命名,并且全部是全局的。 ### 高亮 https://user-images.githubusercontent.com/6392321/130956728-7e0a87fa-4ada-4108-a8fc-9d9d04180f56.mp4 使用不同类型的高亮标记文本。您可以在所有高亮中进行搜索。 ### 传送门(此功能对于拥有多显示器的用户最有用) https://user-images.githubusercontent.com/6392321/125322657-41c2ac80-e353-11eb-985e-8f3ce9808f67.mp4 假设您正在阅读一个段落,其中引用了一个距离当前位置不远的图表。在当前段落和图表之间来回跳转可能会非常烦人。使用传送门,您可以将段落的位置链接到图表的位置。Sioyek 会在单独的窗口中显示最近的传送门目标(该窗口通常放置在第二个显示器上)。当用户浏览文档时,此窗口会自动更新以显示最近的传送门目标。 ### 配置 https://user-images.githubusercontent.com/6392321/125337160-e4832700-e363-11eb-8801-0bee58121c2d.mp4 您可以通过编辑 `keys_user.config` 和 `prefs_user.config` 来自定义所有按键绑定和部分 UI 元素。默认配置位于 `keys.config` 和 `prefs.config` 中。 ## 构建说明 ### Linux #### Fedora 运行以下命令在 Fedora 上安装依赖项、克隆仓库并编译 sioyek(在 Fedora Workstation 36 上测试)。 ``` sudo dnf install qt5-qtbase-devel qt5-qtbase-static qt5-qt3d-devel harfbuzz-devel git clone --recursive --branch development https://github.com/ahrm/sioyek cd sioyek ./build_linux.sh ``` #### 通用发行版 1. 安装 Qt 5 并确保 `qmake` 位于 `PATH` 中。 运行 `qmake --version` 以确保路径中的 `qmake` 使用的是 Qt 5.x。 2. 安装 `libharfbuzz`: ``` sudo apt install libharfbuzz-dev ``` 3. 克隆仓库并构建: ``` git clone --recursive --branch development https://github.com/ahrm/sioyek cd sioyek ./build_linux.sh ``` ### Windows 1. 安装 Visual Studio(已在 2019 版上测试,其他较新版本应该也可以) 2. 安装 Qt 5 并确保 qmake 位于 `PATH` 中。 3. 使用 64 位 Visual Studio 开发人员命令提示符克隆仓库并构建: ``` git clone --recursive --branch development https://github.com/ahrm/sioyek cd sioyek build_windows.bat ``` ### Mac 1. 卸载之前由 Homebrew 安装的 Qt6 2. 安装 Xcode。 3. 安装 Qt6。 ``` pip install aqtinstall cd /path/to/qt aqt install-qt mac desktop 6.8.2 clang_64 -m all export Qt6_DIR=/path/to/qt/6.8.2/macos/ export QT_PLUGIN_PATH=/path/to/qt/6.8.2/macos/plugins export PKG_CONFIG_PATH=/path/to/qt/6.8.2/macos/lib/pkgconfig export QML2_IMPORT_PATH=/path/to/qt/6.8.2/macos/qml export PATH="/path/to/qt/6.8.2/macos/bin:$PATH" ``` 4. 克隆仓库、构建并安装: ``` git clone --recursive --branch development https://github.com/ahrm/sioyek cd sioyek chmod +x build_mac.sh setopt PIPE_FAIL PRINT_EXIT_VALUE ERR_RETURN SOURCE_TRACE XTRACE MAKE_PARALLEL=8 ./build_mac.sh mv build/sioyek.app /Applications/ sudo codesign --force --sign - --deep /Applications/sioyek.app ``` ## 捐赠 如果您喜欢 sioyek,请考虑捐赠以支持其开发。 Buy Me A Coffee
标签:C++, Flatpak, Homebrew, PDF查看, PDF阅读器, Sioyek, TruffleHog, 学术论文, 客户端加密, 客户端加密, 技术文档, 教科书, 数据擦除, 文献管理, 文献阅读, 桌面应用, 知识管理, 科研工具, 阅读器