Sioyek is a PDF viewer designed for reading research papers and technical books.

Overview

Sioyek

Sioyek is a PDF viewer designed for reading research papers and technical books.

Features

Quick Open

recent_docs.mp4

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

Table of Contents

toc.mp4

You can search and jump to table of contents entries.

Smart Jump

jump.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/shif+middle clicking on their name.

Mark

mark.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

bookmarks.mp4

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

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

portal.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

config.mp4

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

Issues
  • Mouse hovering a reference doesn't show the reference

    Mouse hovering a reference doesn't show the reference

    Hello, The recently implemented feature--- When you hover on a referece, a figure, etc. to display it as adressed here: #43

    However, this feature works on some PDF files (such as those who have hyperlinks on the reference numbers). But for some documents it doesn't work (see the attached PDF).

    Thank you

    document.zip

    opened by A3EKV 18
  • PDF doesn't render on Arch

    PDF doesn't render on Arch

    I installed sioyek from the AUR with yay -S sioyek and after installation all I get is a white screen with a bar below which denotes the page numbers. The TOC works, and also the settings menu but the PDF doesn't load. Here's what I get when I run sioyek:

    ❯ sioyek
    default_config_path: /etc/sioyek/prefs.config
    default_keys_path: /etc/sioyek/keys.config
    user_config_path: [ 0 ] /etc/xdg/sioyek/prefs_user.config
    user_config_path: [ 1 ] /home/divya/.config/sioyek/prefs_user.config
    user_keys_path: [ 0 ] /etc/xdg/sioyek/keys_user.config
    user_keys_path: [ 1 ] /home/divya/.config/sioyek/keys_user.config
    database_file_path: /home/divya/.local/share/sioyek/test.db
    local_database_file_path: /home/divya/.local/share/sioyek/local.db
    global_database_file_path: /home/divya/.local/share/sioyek/shared.db
    tutorial_path: /usr/share/sioyek/tutorial.pdf
    last_opened_file_address_path: /home/divya/.local/share/sioyek/last_docum
    shader_path: /usr/share/sioyek/shaders
    Creating shared memory block...
    Shared memory created: this is the primary application.
    Starting IPC server...
    IPC server started.
    

    I have looked at other issues like Issue#50, but nothing really changes for me when I do:

    cp -r /usr/share/sioyek/shaders /home/divya/.local/share/sioyek/shaders
    cp /usr/share/sioyek/tutorial.pdf /home/divya/.local/share/sioyek/tutorial.pdf
    

    I have tried to install the git version with yay -S sioyek-git but that isn't any different. I have tried to build and compile myself but I get stuck with the following:

    g++ -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -Wl,-rpath-link,/usr/lib -o sioyek book.o config.o database.o document.o document_view.o input.o main.o main_widget.o pdf_renderer.o pdf_view_opengl_widget.o checksum.o sqlite3.o ui.o path.o utils.o synctex_parser.o synctex_parser_utils.o RunGuard.o moc_pdf_renderer.o moc_RunGuard.o   -ldl -Lmupdf/build/release -lmupdf -lmupdf-third -lmupdf-threads -lharfbuzz -lz /usr/lib/libQt5OpenGL.so /usr/lib/libQt5QuickWidgets.so /usr/lib/libQt5Widgets.so /usr/lib/libQt5Quick.so /usr/lib/libQt53DAnimation.so /usr/lib/libQt53DExtras.so /usr/lib/libQt53DRender.so /usr/lib/libQt53DInput.so /usr/lib/libQt53DLogic.so /usr/lib/libQt53DCore.so /usr/lib/libQt5OpenGLExtensions.a /usr/lib/libQt5Gui.so /usr/lib/libQt5Sql.so /usr/lib/libQt5QmlModels.so /usr/lib/libQt5Qml.so /usr/lib/libQt5Network.so /usr/lib/libQt5Core.so -lGL -lpthread
    /usr/bin/ld: cannot find -lmupdf-threads
    collect2: error: ld returned 1 exit status
    make: *** [Makefile:267: sioyek] Error 1
    

    even though I have libmupdf installed.

    What am I doing wrong, or missing?

    opened by divyaranjan1905 16
  • Sioyek is not responding

    Sioyek is not responding

    Sometimes when I load a larger PDF I get this error:

    image

    I do not know what is causing the issue, but if you want to troubleshoot/debug, in this case it was this document: https://op.europa.eu/en/publication-detail/-/publication/7769a148-f1f6-11e8-9982-01aa75ed71a1

    I noticed that if one scrolls too quickly, it hogs the system, sometimes sioyek is able to recover from it, sometimes not. My system is updated Windows 10.

    opened by DOFfactory 16
  • AppImage fails on Debian 10

    AppImage fails on Debian 10

    • OS: Debian 10.x buster
    • Version: v0.31.5
      • https://github.com/ahrm/sioyek/releases/download/v0.31.5/sioyek-release-linux-portable.zip
      • https://github.com/ahrm/sioyek/releases/download/v0.31.5/sioyek-release-linux.zip

    Actual behavior

    Seems like both AppImages created on Linux distro which has more recent version of libstdc than actual LTS release

    $ ./Sioyek-x86_64.AppImage
    ./Sioyek-x86_64.AppImage: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by ./Sioyek-x86_64.AppImage)
    

    Expected behavior

    It should run without issues on Linux LTS distributions, so if possible use build environment which would allow use AppImage on LTS releases of both Ubuntu and Debian.

    References

    • https://stackoverflow.com/questions/52663287/glibcxx-3-4-26-not-found
    • https://stackoverflow.com/questions/63190229/glibcxx-3-4-26-not-found-running-cross-complied-program-on-beaglebone
    opened by Symbian9 16
  • [SOLVED] Build error on Windows - Related to missing

    [SOLVED] Build error on Windows - Related to missing "zconf.h"

    SOLVED : See here.

    Hello,

    I get several errors when trying to build on Windows, all related to a missing zconf.h.

    I have done the following :

    1. Install VS 2019
    2. Install component C++ for desktop
    3. Install Qt 15
    4. Cloned the repo using git clone --recursive
    5. Launched the build_windows.bat

    Here are some errors I get along the build :

     E:\...\Documents\Mes Documents\Code\sioyek\zlib\zlib.h(34,10): fatal error C1083: Cannot open include file: 'zconf.h': No such file or directory [E:\...\Documents\Mes Documents\Code\sioyek\sioyek.vcxproj]
    
     E:\...\Documents\Mes Documents\Code\sioyek\mupdf\thirdparty\zlib\zlib.h(34,10): fatal error C1083: Cannot open include file: 'zconf.h': No such file or directory [E:\...\Documents\Mes Documents\Code\sioyek\mupdf\platform\win32\libthirdparty.vcxproj]
    
     E:\...\Documents\Mes Documents\Code\sioyek\mupdf\thirdparty\zlib\zlib.h(34,10): fatal error C1083: Cannot open include file: 'zconf.h': No such file or directory [E:\...\Documents\Mes Documents\Code\sioyek\mupdf\platform\win32\libextract.vcxproj]
    

    I can add more details if needed. Thanks for your help.

    opened by Elaws 15
  • Highlights not visible in other apps

    Highlights not visible in other apps

    So I marked up a document with sioyek, I open the resulting PDF in another app (in my instance Xodo desktop version, https://pdf.online/?from=xodo), and the highlights are not visible. Reopening the PDF in sioyek shows the highlights. Also, PDFs highlighted in Xodo shows the highlights in sioyek.

    Is there some problem with the highlighting that is not standard across the PDF specification?

    opened by DOFfactory 15
  • VimTeX

    VimTeX "integration"

    First, congratulations with developing something that immediately looks very promising as a PDF reader for scientists! It seems you have already implemented a lot of novel and very interesting features.

    I'm the developer of a Vim plugin for writing LaTeX: VimTeX. If (and when) you think this viewer is suitable for working with PDFs generated from LaTeX e.g. with synctex support, I would be happy to add sections for how to properly configure Vim with VimTeX to use this viewer. Perhaps also add a full layer similar to what I've done with Skim, Zathura and MuPDF.

    Let me know if you are interested in a collaboration for this type of direction; and of course, feel free to close the issue if you think this is better addressed by others/the community/at a later time/...

    opened by lervag 14
  • [Enhancement] – Please, allow the selected text in the PDF to be read with the normal xclip App.

    [Enhancement] – Please, allow the selected text in the PDF to be read with the normal xclip App.

    Hello Ahrm,

    What I’m asking with this enhancement is simple I have one application that I made that in every previous PDF reader that I used on Linux Ubuntu 20.04 I selected a section text then I made a Key combination and my external program would run and use xclip to extract to a file the X11 system selected text from the PDF Reader and write to a txt file. Then my Python program would read that file (in the default RAM disk /dev/shm/ ) and send it to google to text-to-speach in EN or to translate from EN to PT or in PT or Spanish, German or other language. I use this when I’m late at night and I’m to tired to read, but I need to read, or to help my daughter read and understand long text’s in other languages.

    The key application is xclips, and it use normal system selected text, so there should be some way to tell QT when you select a segment of text that the text is a string in Sioyek code.

    # Save X text selection to a file.
    # Runs clip to get the the selected text from the GUI in X, in any GUI program.
    os.system('xclip -out > ' + TEXT_SOURCE_FILE) 
    

    Just if you are curious, my program that does text to speech or text translate and to speech is here:

    Linux Translation and Text to Speech with natural voice https://github.com/joaocarvalhoopen/Linux_Translation_and_Text_to_Speech_with_natural_voice

    Thank you,

    The very best regards, João

    opened by joaocarvalhoopen 13
  • No figure preview generated

    No figure preview generated

    In a certain book I was reading, right-clicking on figure references does not generate a preview. In this book, the figures are labelled as Figure x.y but the reference to the figure is like Fig. x.y, which I believe could be the reason why it does not work. In the same PDF, it works with equations, and in another book I checked in, figure previews are also generated. In that book, text references to figure are as Figure x.y, which is why I suspected the above.

    Any insight?

    opened by amzon-ex 13
  • Better navigation of zoomed-in text, especially documents with two columns

    Better navigation of zoomed-in text, especially documents with two columns

    While I think it is an archaic way to do things, we can't escape the fact that many academic papers are formatted in two columns. This not only makes it difficult for a reader, who has to scroll down to the bottom of a page, then up to the top again to read the next column, but causes serious problems with small or low-resolution screens.

    Usually when reading with Sioyek I automatically hit F10 to fit the text to the window, but for two column text this is often still not big enough, so I need to zoom in further. Unfortunately, Sioyek always seems to zoom to the horizontal centre of the page, cutting off lots of important information. That would be just about bearable (although not ideal) if there were a way to scroll, slide, or drag the document horizontally, but so far I have not been able to find a way to do that.

    Please consider:

    1. some easy way to move around a zoomed-in document
    2. better support for two-column text, such as a bindable command to go to the next or previous column in addition to navigating by page.

    I hit this problem today when trying to read this article from 2022: https://www.sciencedirect.com/science/article/pii/S266665962200004X - It's open access, so feel free to use it as a test case!

    opened by efficacy 13
  • Allowing single-page mode only (useful for presentations)

    Allowing single-page mode only (useful for presentations)

    As far as I am aware, sioyek has only a continous display mode between pages, and there is no way to display document in a single-page mode which is very useful for presentations. In Zathura pdf viewer, you can achieve that by pressing "F5" key and use the "Page Down" or "Page Up" keys to navigate (which is a partial solution, for details, see this page).

    Is it possible to have at least a similar behaviour for presentations mode?

    Thank you

    opened by A3EKV 13
  • [Feature Request] Auto update feature

    [Feature Request] Auto update feature

    This pdf reader is great. However, it would be better if it has auto update feature instead of doing update job manually. Anytime i want to update this software, I have to go to github and downloaded a new version, which is quite tedious.

    opened by hahv 0
  • Zotero integration

    Zotero integration

    Multiple aspects of Zotero can be integrated with Sioyek, mainly showing notes in portals, adding pdf to zotero, opening from zotero's database etc. I do not have any idea about the amount of work this will involve.

    opened by DhruvaSambrani 1
  • Backtick not working

    Backtick not working

    Hi! My Sioyek does not understand my backtick keypress as '`' but as "P" (apparently)

    Additional info:

    • Installed through sioyek-git from AUR

    Logs below:

    
    ~ sioyek
    default_config_path: /etc/sioyek/prefs.config
    default_keys_path: /etc/sioyek/keys.config
    user_config_path: [ 0 ] /etc/xdg/sioyek/prefs_user.config
    user_config_path: [ 1 ] /home/wramalho/.config/sioyek/prefs_user.config
    user_keys_path: [ 0 ] /etc/xdg/sioyek/keys_user.config
    user_keys_path: [ 1 ] /home/wramalho/.config/sioyek/keys_user.config
    database_file_path: /home/wramalho/.local/share/sioyek/test.db
    local_database_file_path: /home/wramalho/.local/share/sioyek/local.db
    global_database_file_path: /home/wramalho/.local/share/sioyek/shared.db
    tutorial_path: /usr/share/sioyek/tutorial.pdf
    last_opened_file_address_path: /home/wramalho/.local/share/sioyek/last_document_path.txt
    shader_path: /usr/share/sioyek/shaders
    Creating shared memory block...
    Shared memory created: this is the primary application.
    Starting IPC server...
    IPC server started.
    Warning: key defined in /etc/sioyek/keys.config line 76 is being overwritten in file /etc/sioyek/keys.config line 164
    Warning: overriding command for h : replacing prev_state with add_highlight
    Warning: key defined in /etc/sioyek/keys.config line 74 is being overwritten in file /etc/sioyek/keys.config line 262
    Warning: overriding command for l : replacing next_state with overview_definition
    **^[	^[	Warning: invalid command (key:P); resetting to root
    Warning: invalid command (key:P); resetting to root
    Warning: invalid command (key:u); resetting to root
    Warning: invalid command (key:P); resetting to root**
    
    opened by wramalho 3
  • Fonts turn fuzzy after edit_portal command

    Fonts turn fuzzy after edit_portal command

    Hi,

    Everything looks great. But when I create a portal "p" and then do edit_portal "shift p", the page zooms out lightly and the fonts of the document are rendered all fuzzy, as if anti-aliasing got turned off. I tried everything to fix the issue: return to source location "backspace", zoom in and out, jump inside the document. The only remedy is to restart sioyek.

    sioyek: v1.3.0 os: ubuntu 22.04 xfce4 gpu: i915 tigerlake

    opened by alexzeitgeist 5
  • latest release (in fork) for macOS has blurry font

    latest release (in fork) for macOS has blurry font

    This refers to the latest release in this fork

    As soon as I opened it, I noticed that the PDF fonts are blurry. I can see the pixels of the characters while previously I saw smooth font.

    I have already rolled back.

    opened by SichangHe 10
Releases(v1.3.0)
All-in-one library and application for processing and rendering PDF documents.

All-in-one library and application for processing and rendering PDF documents. Contains document viewer/editor application, application for splitting/merging PDF documents and page manipulation, application for comparison of similar PDF documents.

Jakub Melka 18 Jun 6, 2022
libharu - free PDF library

# # URL http://libharu.org/ # # Copyright 2000-2006 (c) Takeshi Kanno # Copyright 2007-2009 (c) Antony Dovgal et al. # See INSTALL for instruction

libharu 1.3k Jun 27, 2022
Convert HTML to PDF using Webkit (QtWebKit)

wkhtmltopdf and wkhtmltoimage wkhtmltopdf and wkhtmltoimage are command line tools to render HTML into PDF and various image formats using the QT Webk

wkhtmltopdf 12.3k Jun 22, 2022
PDFio is a simple C library for reading and writing PDF files

pdfio - PDF Read/Write Library PDFio is a simple C library for reading and writing PDF files. The primary goals of PDFio are: Read and write any versi

Michael R Sweet 46 Jun 15, 2022
Unix pager (with very rich functionality) designed for work with tables. Designed for PostgreSQL, but MySQL is supported too. Works well with pgcli too. Can be used as CSV or TSV viewer too. It supports searching, selecting rows, columns, or block and export selected area to clipboard.

Unix pager (with very rich functionality) designed for work with tables. Designed for PostgreSQL, but MySQL is supported too. Works well with pgcli too. Can be used as CSV or TSV viewer too. It supports searching, selecting rows, columns, or block and export selected area to clipboard.

Pavel Stehule 1.8k Jun 21, 2022
FCracker is a command line tool designed to brute force encrypted files like zip, 7z, rar, pdf etc.

FCrack is a command-line tool designed to brute force encrypted files like zip, 7z, rar, pdf, gpg etc.

null 17 Apr 27, 2022
HDRView is a simple research-oriented image viewer with an emphasis on examining and comparing high-dynamic range (HDR) images

HDRView is a simple research-oriented high-dynamic range image viewer with an emphasis on examining and comparing images, and including minimalistic tonemapping capabilities. HDRView currently supports reading EXR, PNG, TGA, BMP, HDR, JPG, GIF, PNM, PFM, and PSD images and writing EXR, HDR, PNG, TGA, PPM, PFM, and BMP images.

Wojciech Jarosz 103 Jun 16, 2022
A comprehensive catalog of modern and classic books on C++ programming language

A comprehensive catalog of modern and classic books on C++ programming language

Yurii Cherkasov 314 Jun 19, 2022
Read Books On Your Nintendo Switch

eBookReaderSwitch Features: Saves last page number Reads PDF, EPUB, CBZ, and XPS files Dark and light mode Landscape reading view Portrait reading vie

null 47 Jun 13, 2022
collection of articles/books about programing

hacking-material-books My collection of articles/books about programing Metasploit RB/ERB scripting Metasploit API cheat sheet Nmap NSE scripting Com

pedro ubuntu 475 Jun 22, 2022
Concurrency Kit 2.1k Jun 18, 2022
Convenient unified display of the most relevant technical and tag data for video and audio files.

MediaInfoLib README MediaInfo(Lib) is a convenient unified display of the most relevant technical and tag data for video and audio files. MediaInfoLib

MediaArea 442 Jun 18, 2022
RISCAL is a 32-bit reduced instruction-set computer (RISC) designed for learning and research purposes. It is named after my dog, Rascal.

RISCAL CPU RISCAL is a 32-bit custom instruction set architecture virtual machine. It is intended to be used for learning/research purposes. In a nuts

null 3 Dec 23, 2021
The aim of this repository is to make it a one final stop for revision for technical interviews involving data structures and algorithms .

Hey ??‍♂️ This repository is meant for data structures and algorithms . I will be updating this often and will include all the data structures importa

Prakhar Rai 48 Jun 7, 2022
Code accompanying our SIGGRAPH 2021 Technical Communications paper "Transition Motion Tensor: A Data-Driven Approach for Versatile and Controllable Agents in Physically Simulated Environments"

SIGGRAPH ASIA 2021 Technical Communications Transition Motion Tensor: A Data-Driven Framework for Versatile and Controllable Agents in Physically Simu

null 10 Apr 21, 2022
XMap is a fast network scanner designed for performing Internet-wide IPv6 & IPv4 network research scanning.

XMap is reimplemented and improved thoroughly from ZMap and is fully compatible with ZMap, armed with the "5 minutes" probing speed and novel scanning techniques. XMap is capable of scanning the 32-bits address space in under 45 minutes.

idealeer 172 Jun 10, 2022
This is a group project for the unit Technical Software Design.

electoral-project This is a group project for the unit Technical Software Design. Group number: 9 Members of this group: Grace Tang, Lorien Cutler, Jo

Grace Tang 3 May 24, 2021
IO2D Technical Specification Draft Sources

IO2D Technical Specification Draft Sources These are the sources used to generate drafts of the working paper for a proposal for an IO2D TS. These sou

cpp-io2d 20 Nov 20, 2021
TulipCell is an Excel add-in providing 100+ technical analysis indicators.

Tulip Cell Introduction Tulip Cell is an Excel add-in that provides the technical analysis functions from the Tulip Indicators library. Building Build

Tulip Charts LLC 26 Jan 8, 2022
Technical Analysis Indicator Function Library in C

Tulip Indicators Introduction Tulip Indicators is a library of technical analysis functions written in ANSI C. Lots of information is available on the

Tulip Charts LLC 598 Jun 27, 2022
All-in-one library and application for processing and rendering PDF documents.

All-in-one library and application for processing and rendering PDF documents. Contains document viewer/editor application, application for splitting/merging PDF documents and page manipulation, application for comparison of similar PDF documents.

Jakub Melka 18 Jun 6, 2022
Xournal++ is a handwriting notetaking software with PDF annotation support. Written in C++ with GTK3, supporting Linux (e.g. Ubuntu, Debian, Arch, SUSE), macOS and Windows 10. Supports pen input from devices such as Wacom Tablets.

Xournal++ is a hand note taking software written in C++ with the target of flexibility, functionality and speed. Stroke recognizer and other parts are based on Xournal Code

Xournalpp 6.7k Jun 20, 2022
Contribute your handwritten PDF notes and help other students ✌ #DecodersCommunity 🖤

Contribute your handwritten PDF notes and help other students ✌ #DecodersCommunity ??

Decoders Community 29 Jun 12, 2022
High performance library for creating, modiyfing and parsing PDF files in C++

Welcome to PDF-Writer. A Fast and Free C++ Library for Creating, Parsing an Manipulating PDF Files and Streams. Documentation is available here. Proje

gal kahana 642 Jun 24, 2022
OpenScan is an open-source document scanner app that enables users to scan hard copies of documents or notes and convert it into a PDF file. No ads. No data collection. We respect your privacy.

OpenScan An open source app that enables users to scan hardcopies of documents or notes and convert it to a PDF file. No ads. No data collection. We r

Ethereal Developers Inc 1.1k Jun 25, 2022
libharu - free PDF library

# # URL http://libharu.org/ # # Copyright 2000-2006 (c) Takeshi Kanno # Copyright 2007-2009 (c) Antony Dovgal et al. # See INSTALL for instruction

libharu 1.3k Jun 27, 2022
Fix ToUnicode CMap in PDF

A tool to fix ToUnicod CMap in PDF to prevent extracted text from being garbled [ English / 日本語 (Japanese) ] When copying and pasting text from a PDF

Masamichi Hosoda 20 Jun 3, 2022
Generate a PDF Planner for the Remarkable Platform

Planner PDF This will generate a PDF File that can be used as a planner on the remarkable platform. It uses the libharu library to generate the PDF an

null 43 Jun 14, 2022