sioyek

ahrmGPL-3.0活跃维护

面向教材和科研论文的 PDF 阅读器,提供快速跳转、引用追踪和笔记等针对学术阅读的增强功能。

Sioyek is a PDF viewer with a focus on textbooks and research papers

v2.0.0发布于 2022-12-16 16:29 UTC9,996star +9 / 7 天400fork同步于 2026-11-10 17:30 UTC

怎么上手

由 README 提炼,执行前请确认
brew install --cask sioyek
硬件要求按 README 说明

README 未说明硬件要求;官方提供 Windows、macOS、Linux 安装包,从源码构建需 Qt 5(macOS 构建需 Qt 6.8.2)与 libharfbuzz。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

面向教材和论文阅读的 PDF 阅读器,用 Smart Jump 和 Portal 解决频繁跳转图表与参考文献的麻烦

面向教材和科研论文的 PDF 阅读器,提供快速跳转、引用追踪和笔记等针对学术阅读的增强功能。

核心能力

  • Smart Jump 无需 PDF 内嵌链接即可跳转图表和参考文献
  • 右键打开图表、参考文献、表格的快速概览
  • 用单字符 mark 和全局书签快速往返阅读位置
  • Portal 在独立窗口同步显示最近的跳转目标,适合多屏
  • 通过 keys_user.config 和 prefs_user.config 自定义键位

容易踩的坑

开发分支构建必须使用 Qt 6.7 或 6.8,用 Qt 5 会报构建错误;macOS 提示「sioyek is damaged」是 quarantine 机制所致,需按讨论帖处理;Linux 第三方包由社区维护,出问题需说明所用包来源。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v2.0.0
  1. sioyek3-alpha0Release 7181c5a463ed4cbeda7ab4937511bdfc836d6c94pre-release2024-09-11 · 2024-09-11 11:01 UTC
    查看更新说明

    The database of this alpha release is incompatible with old database files. Make sure you backup your local.db and shared.db files before using this version.

  2. v2.0.0Release v2.0.0最新正式版2022-12-16 · 2022-12-16 16:29 UTC
  3. v1.5.0Release v1.5.02022-08-20 · 2022-08-20 15:05 UTC
    查看更新说明

    What's new:

    • Vastly improved extension capabilities. Now we have can have more inputs to the scripts (for example the text of the current line or the name of the paper under mouse cursor). Moreover, extensions are now able to run all of the built-in sioyek commands. See this repository for an example of what is possible with extensions, and see this page for documentation on how to build your own extensions.
    • Add ability to bind control/shift/alt+click to commands.
    • Better support for non-english keyboards
    • Show multiline bookmarks/highlights in menus instead of truncating them
    • Significantly improved performance when opening large files for the first time
    • Add ability to create named custom commands which can be executed from the built-in command palette
    • Add ability to try other previews in the overview window if the first one is not correct (using the next_preview and previous_preview commands). Also add commands to directly goto or create a portal to preview locations.
    • Add an option to pre-render the next page in presentation mode (prevents flickering)
    • Better handling of multicolumn documents in visual mark mode
    • Add ability to search and switch between opened sioyek windows
  4. v1.4.0Release v1.4.02022-07-05 · 2022-07-05 16:27 UTC
    查看更新说明

    New in 1.4:

    • Improved external command support (see this post for more information)
    • Ability to control a running instance of sioyek from command line
    • Multiple window support within the same instance
    • Updated mupdf and synctex versions
    • Improved dark mode algorithm
    • Fix a rendering issue where sometimes the wrong screen resolution was being used in systems with multiple mointors with different resolutions
    • Reduced memory usage
    • Improved indexing performance
    • Ability to hide the status bar
    • Various bug fixes and quality of life improvements
  5. v1.3.0Release v1.3.02022-05-14 · 2022-05-14 13:14 UTC
    查看更新说明

    Changes:

    • Vastly improved ruler mode with support for multicolumn documents and ability to automatically goto/portal to/overview the definition in highlighted line. here is a video demo of this feature.
    • Automatic table of contents generation for documents that don't have table of contents
    • Automatically mark the location of last search with symbol '/' and location of last visual mark with symbol '`'
    • Better handling of visual ruler in presentation mode
    • Add ability to automatically use downloaded files as portal destinations (see https://sioyek-documentation.readthedocs.io/en/latest/configuration.html?highlight=path#papers-folder-path)
    • Add ability to select text using keyboard (see https://github.com/ahrm/sioyek/issues/147#issuecomment-1089097266)
    • Add ability to open files using drag and drop
    • Save and restore window and overview positions
    • Add ability to execute shell commands on selected text in PDF file (for example can be used to make a translator)
    • Add ability to bind multiple commands to the same key binding (all are executed in order when key is pressed)
    • Improved smart jump to support more document formats
    • Handle xclip text selection
    • Add ability to rotate pages
    • Numerous bug-fixes and quality of life improvements

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Sioyek

    Sioyek is a PDF viewer with a focus on textbooks and research papers.

    Development Branch FAQ

    Q: There are build errors with Qt 5.*.

    A: If you are building the development branch you need to use Qt 6.7 or 6.8.

    Q: On MacOS I get "sioyek is damaged and cannot be opened. It is recommended to eject the image.".

    A: This is related to macOS quarantine. See https://github.com/ahrm/sioyek/discussions/1156#discussioncomment-10822738 .

    Contents

    Install

    Official packages

    There are installers for Windows, macOS and Linux. See Releases page.

    Homebew Cask

    There is a homebrew cask available here: https://formulae.brew.sh/cask/sioyek. Install by running:

    brew install --cask sioyek
    

    Third-party packages for Linux

    If you prefer to install sioyek with a package manager, you can look at this list. Please note that they are provided by third party packagers. USE AT YOUR OWN RISK! If you're reporting a bug for a third-party package, please mention which package you're using.

    DistroLinkMaintainer
    Flathubsioyek@nbenitez
    Alpinesioyek@jirutka
    ArchAUR sioyek@goggle
    ArchAUR Sioyek-git@randomn4me
    ArchAUR sioyek-appimage@DhruvaSambrani
    Debiansioyek@viccie30
    NixOSsioyek@podocarp
    openSUSEPublishing@uncomfyhalomacro
    openSUSEFactory@uncomfyhalomacro
    Ubuntusioyek@viccie30

    Documentation

    You can view the official documentation here.

    Feature Video Overview

    Sioyek feature overview

    For a more in-depth tutorial, see this video:

    Sioyek Tutorial

    Features

    Quick Open

    https://user-images.githubusercontent.com/6392321/125321111-9b29dc00-e351-11eb-873e-94ea30016a05.mp4

    You can quickly search and open any file you have previously interacted with using sioyek.

    Table of Contents

    https://user-images.githubusercontent.com/6392321/125321313-cf050180-e351-11eb-9275-c2759c684af5.mp4

    You can search and jump to table of contents entries.

    Smart Jump

    https://user-images.githubusercontent.com/6392321/125321419-e5ab5880-e351-11eb-9688-95374a22774f.mp4

    You can jump to any referenced figure or bibliography item even if the PDF file doesn't provide links. You can also search the names of bibliography items in google scholar/libgen by middle clicking/shift+middle clicking on their name.

    Overview

    https://user-images.githubusercontent.com/6392321/154683015-0bae4f92-78e2-4141-8446-49dd7c2bd7c9.mp4

    You can open a quick overview of figures/references/tables/etc. by right clicking on them (Like Smart Jump, this feature works even if the document doesn't provide links).

    Mark

    https://user-images.githubusercontent.com/6392321/125321811-505c9400-e352-11eb-85e0-ffc3ae5f8cb8.mp4

    Sometimes when reading a document you need to go back a few pages (perhaps to view a definition or something) and quickly jump back to where you were. You can achieve this by using marks. Marks are named locations within a PDF file (each mark has a single character name for example 'a' or 'm') which you can quickly jump to using their name. In the aforementioned example, before going back to the definition you mark your location and later jump back to the mark by invoking its name. Lower case marks are local to the document and upper case marks are global (this should be very familiar to you if you have used vim).

    Bookmarks

    https://user-images.githubusercontent.com/6392321/125322503-1a6bdf80-e353-11eb-8018-5e8fc43b8d05.mp4

    Bookmarks are similar to marks except they are named by a text string and they are all global.

    Highlights

    https://user-images.githubusercontent.com/6392321/130956728-7e0a87fa-4ada-4108-a8fc-9d9d04180f56.mp4

    Highlight text using different kinds of highlights. You can search among all the highlights.

    Portals (this feature is most useful for users with multiple monitors)

    https://user-images.githubusercontent.com/6392321/125322657-41c2ac80-e353-11eb-985e-8f3ce9808f67.mp4

    Suppose you are reading a paragraph which references a figure which is not very close to the current location. Jumping back and forth between the current paragraph and the figure can be very annoying. Using portals, you can link the paragraph's location to the figure's location. Sioyek shows the closest portal destination in a separate window (which is usually placed on a second monitor). This window is automatically updated to show the closest portal destination as the user navigates the document.

    Configuration

    https://user-images.githubusercontent.com/6392321/125337160-e4832700-e363-11eb-8801-0bee58121c2d.mp4

    You can customize all key bindings and some UI elements by editing keys_user.config and prefs_user.config. The default configurations are in keys.config and prefs.config.

    Build Instructions

    Linux

    Fedora

    Run the following commands to install dependencies, clone the repository and compile sioyek on Fedora (tested on 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
    
    Generic distribution
    1. Install Qt 5 and make sure qmake is in PATH.

      Run qmake --version to make sure the qmake in path is using Qt 5.x.

    2. Install libharfbuzz:

    sudo apt install libharfbuzz-dev
    
    1. Clone the repository and build:
    git clone --recursive --branch development https://github.com/ahrm/sioyek
    cd sioyek
    ./build_linux.sh
    

    Windows

    1. Install Visual Studio (tested on 2019, other relatively recent versions should work too)
    2. Install Qt 5 and make sure qmake is in PATH.
    3. Clone the repository and build using 64 bit Visual Studio Developer Command Prompt:
    git clone --recursive --branch development https://github.com/ahrm/sioyek
    cd sioyek
    build_windows.bat
    

    Mac

    1. Uninstall previous Qt6 installed by Homebrew
    2. Install Xcode.
    3. Install 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"
    
    1. Clone the repository, build and install:
    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
    

    Donation

    If you enjoy sioyek, please consider donating to support its development.