https://sioyek.info/ Sioyek Sioyek is a PDF viewer designed for reading research papers and technical books * Download * Source * Features + Quick Open + Table of Contents + Smart Jump + Mark + Bookmark + Portals + Configuration * Guide + Basics + Searching + Marks + Bookmarks + Smart Jump + Portals + Configuration Features * Quick Open You can quickly search and open any file you have previously interacted with using sioyek. * Table of Contents You can search and jump to table of contents entries. * Smart Jump 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 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 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) 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 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. Guide Note that the keys in this guide are the default keybinding that can be edited by chaning keys_user.config file (use keys.config as a reference). In fact I highly recommend customizing the keybindings because honestly the default keybindings are not very good. * Basics + Press o to open a new document or shift+o (O) to open a previously opened document. + Use the arrow keys for navigation. + Use ctrl+PageDown/ctrl+PageUp to go to the previous/next page. + Press space/shift+space to go to the next/previous screen (which is equivalent to scrolling down half of screen width). You can also use PageDown and PageUp. + Press - to zoom out and shift+= (which is +) to zoom in. + Press f11 to enter fullscreen mode. + Press f10 to fit the document to screen ignoring white page margins. + Press f9 to fit the document to screen (including white margins). + Enter gg to go to the first page. + In order to go to a specific page, enter [NUM]gg where [NUM] is the page number. For example in order to go to page 31, enter 31gg. You can also press Home to go to a specific page. + Press shitf+g (G) to go to the last page. + Press t to open table of contents (if it exists). + Use backspace to go back in history. You can also use ctrl+left arrow and ctrl+right arrow to navigate backward/ forward in history. Also extra mouse buttons can be used to navigate history. + With some text selected, press ss to search the text in google scholar and sl to search it in library genesis. * Searching + Press / or ctrl+f to search. + Press n/shift+n to go to the next/previous match. + In order to quickly jump in search results, you can use [NUM] +n where [NUM] is a number. For example in order to jump to the 10th next occurance of current search term, enter 10n. In fact most commands in sioyek can be prefixed with a number N which is equivalent to repeating them N times. * Marks + Press m to set a mark in current location. After you press m, sioyek waits for you to press another symbol which is the name of the mark. For example to create a mark named u, enter mu. + In order to go to a mark, press ` followed by the name of the mark. For example in order to go to the mark in previous example, we enter `u. Note that ` is different from the single quote character which is '. ` is usually located in the top-left of the keyboard near the escape button. + Note that marks are persistent (they are saved even after sioyek is closed). Lower case marks are local to each file but upper case marks are global. * Bookmarks + Press b to create a bookmark in the current location. + Press gb to search the bookmarks in the current file and g shift+b (that is g followed by capital B) to search all the bookmarks + In order to delete a bookmark, first goto the bookmark and then enter db (delete the closest bookmark). * Smart Jump + You can middle click on the name of figures (for example on `4.13' in `Figure 4.13') to jump to the location where figure is located (this works even if the document is not linked). You can also click on cited references (for example on `12' in `[12]' or on `HL03' in `[BR01, HL03, DJN88]' to go to the reference. + You can middle click on the name of the papers to search them in google scholar or shift+middle click to search them in library genesis. * Portals + Press f12 to open the helper window. This window automatically displays the closest portal to the current location. + In order to create a portal, press p to enter the current location as the source of the portal. Now you navigate to the portal destination and press p again to mark that location as the destination of the portal. (note that source and destination don't have to be in the same document, for example you can create a portal from a reference to a paper to the actual paper). + You can also create a portal by pressing p and then clicking (or middle clicking using smart jumps) on a link. This automatically creates a link between the current location and the destination of the link. + In order to delete a portal, press dp. This deletes the closest portal to the current location (the portal that is being displayed in the helper window). + Sometimes you need to slightly edit a portal (especially when creating a portal using links, because sometimes for example a link to a figure doesn't center the figure properly in the screen). In order to do this, press shift+p(P) while the portal is active. This takes you to the portal's destination. Now you can adjust the destination and once you are done press the back button (by default it is backspace) to go back to where you were. * Configuration + There are four configuration files, two of which are not meant to be edited by the user (keys.config and prefs.config) and two of which are user-editable (keys_user.config and prefs_user.config). + In order to edit any configuration, copy the config to the user editable config file and change it there. For example suppose we want to change the key that opens the table of contents. We search for `table of contents' in keys.config and find the following: # Open table of contents. goto_toc t We copy this line to keys_user.config and change the key. For example in suppose we want to use capital T to open the table of contents. We can put the following line in keys_user.config: goto_toc <S-t>