Hacker News new | past | comments | ask | show | jobs | submit login
Sioyek is a PDF viewer with a focus on textbooks and research papers (github.com/ahrm)
336 points by simonpure 23 days ago | hide | past | favorite | 111 comments



I installed before I even got to the end of the feature list. I like it a lot, though it could use some improvements - I miss 2 page display, for example.

While the keyboard control interface is great the absence of menu commands is not. It's weird to me that there's no way to bring up a help display from within the program (there's one there when you first open, but it vanishes as soon as you open something); I had to go to the website and move to the documentation page to see that I was doing.

Still, it has so many good features built in that are optimized for research that it's worth the inconvenience.


Sioyek developer here. We have added 2 page mode in the development branch.


Now even more of a fan!


You can open the command palette with : and search for commands and their bindings.


I've been working on having my notes better integrated with the content I read. I try to gather references to where an idea is developed/contradicted in the literature, or just collect good ideas.

Cahier (https://getcahier.com), the software I'm developing, supports creating cards with references to passages in the PDFs read.

It's exciting to see the developments that are being made in this area in the past few years.


Cahier looks like exactly what I’ve been hoping for for a long time. People have been taking “knowledge management” seriously for a few years now and we have a number of great tools like Obsidian, Zotero, Anki, and their brethren. But there’s still no real good solution to properly highlight and annotate documents, then link those outside their originating document into the broader context of one’s notes. Instead you end up with multiple silos—a Zotero full of papers, an Obsidian full of notes etc. This strikes me as a definite step in the right direction—thinking about knowledge management as an integrated process, with a workflow right through from reading, to taking notes, to organising those notes, to actively employing them to generate new insights and effectively write.

(I guess my only concern is around potentially reinventing the wheel when it comes to some of these areas. E.g. do you plan to integrate every feature from Zotero, like the web-integrated grabber? That sounds like a prodigious amount of work, but without it it’s hard to fully supplant Zotero as a reference management solution. I’m curious as to your roadmap for this and what you see as the ultimate feature set and user workflow.)


Hypothesis https://web.hypothes.is/ is pretty good at keeping notes on PDF.

Normally it anchors the annotations for any url but i believe that for PDF is also doing some extra checksum magic to uniquely identify the PDF and apply the annotations.

Furthermore you can have collaboration features such as group annotations. Useful for classes or science labs...


I have been thinking about this program for a long time now, and one area I haven’t seen covered are references that work even across different versions of the same document (e.g. the book got a new version, but still has the same chapter more or less unchanged, or you highlighted something based on the epub, and switched to the PDF). Hypothesis’s implementation works quite well, as they were sort of forced to handle it due to web pages always changing (they store some of the surrounding context).


Have you tried Heptabase? (https://heptabase.com/)


No, will check it out, thanks!


This is exactly why I created Cahier. I want to make it excel at the capture and processing steps of the research workflow. We're close to having the foundational features of the software in place and will release the beta soon.

But we want to expand the supported attachment file formats (possibly with video and audio as well), with full annotation and referencing support, more formatting options in the note editor, .bib import/export, synchronization, linux and mobile apps.

I don't plan on having feature parity with Zotero. I think we can provide more value by focusing on the features that explore the interaction between the annotations and notes and on supporting more media types.


This looks really good, thanks for sharing. Like other commenters, I use Zotero and will probably stick to that for the near future. The main feature for me in Zotero is sync'ing across devices. I usually read and annotate papers on iPad, and love that my highlights and notes are synced for when I write and need to reference them on either my MacBook or Windows desktop.

Your note-taking solution seems far superior though. Sometimes I wish we could smash together different software into just the right thing for us.


I'm eager to add synchronization and mobile support for Cahier. It could take some time because the amount of work is not trivial, but I know I'm able to deliver.

What other features are essential for you? Do you work on academia or in the industry?


Thanks for this. Your current features plus mobile synchronization will be awesome. I'm a researcher in industry. My current workflow is primarily in zotero. But definitely needed a better tool to synthesize notes from multiple papers in a high-level notebook. So this will be ideal.

I use an eink device (kindle scribe) for reading papers as well. Right now, the syncing between this device and the rest of the knowledge base is manual. It'll be perfect to have this also integrated into the workflow smoothly somehow.


On the other hand, the lack of synchronization might be a selling point for others, who militantly support "local only".

Solid highlighting is important to me. Zotero does it fairly well, but doesn't support freehand highlighting on files that lack OCR.

I've recently gone back to school after a decade in tech.


Could you expand on what you see as exciting developments? I’ll have to check out the op post link as well as yours and others in the thread.

It’s been a few years since I seriously looked at options for my personal use, but I remember being quite disappointed in the options I found. Zotero and org-noter seemed two of the best (though in completely different ways) pieces of software I could find regarding reading or organizing pdfs. I trialed OneNote for a year and liked it in the moment, but zero support for navigation or discovery or review of information make it untenable for building a knowledge base or doing literature review.

I imagine that software which makes reading and connecting document information (in any form: pdf, html, video or other) could be so much better than what I use daily.


1) The post-roam research note-taking apps (Obsidian, logseq) have shown the usefulness of creating notes with links, back-links and databases.

2) Document editor apps (Notion, Craft) have popularized the concept of documents as a set of text and non-text blocks. They're useful and provide rich building blocks for documents.

3) Some design engineers are exploring multi-modal text editors. Text, audio and video in the same document, integrated with CRDTs for collaboration.

One would think that digital text editing had already reached state of the art, but the work above shows that there's plenty to discover yet. I'd love to hear your take on what you think could be much better.


I wanted to check out the website and saw that your SSL certificate expired today, just a heads up to get a new one :)


That was unfortunate. Thanks for the heads-up, it's fixed now!


That looks very interesting. An essential feature for me is data, including my notes and annotations, that will remain usable in the long run - many decades into the future.

Otherwise, my work of today is lost. What happens if you stop making Cahier someday or if I need to move to another system?


I agree with you. We're expanding our support for import/export as time goes by, there will be no lock-in. We already have markdown support and plan on adding markdown import/.bib export and import/pdf export. Plenty of formats to choose from. Your notes can already be exported and opened on Obsidian today.

If there's enough interest, I'm also open to documenting the file format we use.


This looks really, really cool! Is there a plan to make this available in Linux I wonder?


Thanks! Yes, we plan on adding a Linux version. The framework we use is cross-platform, but there is a thin layer that has to be ported.


Congrats, looks great!

For reference management I'm finally sticking with Zotero after maybe 15 years of trying it. With version 7 beta it's finally becoming really good for my use-cases.


I use this all the time. It's a nice app. Although some of the features such as jumping to citations are available in Google Scholar extension for Chrome. I just love the idea of vimifying my apps. Before Sioyek, I used Karabiner to set j/k/etc. in macOS Preview so I could navigate using vim keys, but that was a tedious process and didn't have many features that Sioyek offers. Also, I use a solarized background color for PDFs to avoid eye strain, and the app supports night mode even for the graphs in PDFs!

Some gripes with this app:

- There's an extension that lets you view PDFs in two columns (panels) side by side. But that literally changes the actual PDF files!

- Plugins are generally challenging to install. I found a workaround and reported it, but IDK if the author took that feedback to improve the app.

- To my knowledge, the app stores its configs in the Applications directory of the app. It'd be nicer to have them in ~/.config.

- The feature to quickly open files in a directory doesn't work for cloud drives (including iCloud).


Sioyek developer here.

> - There's an extension that lets you view PDFs in two columns (panels) side by side. But that literally changes the actual PDF files!

We have added native two-panel mode in development branch.

> - Plugins are generally challenging to install. I found a workaround and reported it, but IDK if the author took that feedback to improve the app.

In the development branch we have added support for native javascript extensions (with no external dependencies because we use Qt's internal js engine) which should be a lot easier to work with

> - To my knowledge, the app stores its configs in the Applications directory of the app. It'd be nicer to have them in ~/.config.

Also I think in the development branch you can use ~/.config, I am not 100% sure though.


+1 for the complexity to install extensions.

I really can't remember the name sioyek so I made it an alias to xpdf.


oohh thats not lucky.. established toolset named the same


I took a bit more collaborative approach to reading and discussing research papers (https://www.scholars.io or https://app.scholars.io) and allow people to annotate, comment and collaborate on research.


Does the table of contents work if the pdf doesn't come with a table of contents? (That's something I always wished my pdf reader could do)


Sortof - sioyek will parse the text and attempt to create a table of contents (this does not modify the base pdf), but the accuracy/usefulness varies. For papers I have found it works reasonably well, just sometimes misses a few sections or includes a few junk entries. For textbooks, especially ones with heavy math typesetting, there are too many junk/missing entries a lot of the time in my experience.

For papers or for textbooks I only need a small subset of, I find the autogenerated table of contents + bookmarks is typically sufficient. For other cases I like to use pdf.tocgen (https://github.com/Krasjet/pdf.tocgen) to semi-manually generate a correct table of contents.


Thanks, I'll look into both!


Yes

> If set and the file doesn’t have a table of contents, we use heuristic methods to create a table of contents. You can use max_created_toc_size to prevent creating very large table of contents.

https://sioyek-documentation.readthedocs.io/en/latest/config...


The website says yes: https://sioyek.info/

Link should be to the website imho.


As a simple workaround for the "flip between two pages" feature that is so easy in dead tree but harder on computers, I usually just open the pdf twice, if the software allows two running copies, or if the software is too clever, I just copy the pdf into a second copy and open that. I can then alt-tab between them and scroll to different parts.

On the phone, I can use Acrobat Reader and Koreader at the same time.


Sioyek has nice features, however, it was quite buggy. Fixing bugs and writing tests may take a lot of efforts.


Tangentially related. does anyone know a good pdf reader with LLM based search integrated? Suppose I want search for "cities in USA", in the document, it should show all occurences new york, los angeles and chicago, for example.


[PDFgear](https://www.pdfgear.com/) has LLM integrated, it is currently free.


Thank you for sharing PDFgear here. The LLM in it is pretty helpful and indeed free.


Appreciate the response!


Would be great if this reader could be integrated with Zotero (maybe as a plug-in?)


I really liked Sioyek as a more fully-featured Zathura, but two features kept me from using it as my primary PDF reader: 1. Can't open multiple PDFs at the same time: Trying to open a second PDF with it while it's already open with some PDF crashes both instances. 2. Annotations are stored in a separate document rather than the PDF itself.

Other users have noted both of these before. I didn't find an easy fix to 1, and a partial solution to 2 uses an extension, but IIRC it still requires manually running a command to transfer annotations to the PDF document itself.


Agreed on the multiple PDFs (I think that's a WIP), but I'm actually in favor of annotations stored in a separate document rather than embedded in the PDF. Ideally it would be nice to have both options which Zotero and your mentioned extension offer, but I'd prefer to have annotations separate so you can access a 'clean' copy of the PDF to e.g. share with others. Additionally, each PDF viewer that supports 'annotations' currently supports them in its own unique way and programs usually can't distinguish highlights/notes made by other programs from the original source. However, Zotero and a few other readers are starting to use Web Annotation Data Model (https://www.w3.org/TR/annotation-model/) as a universal annotation storage mechanism, which I'm hoping will eventually allow you to create some highlights/notes in Sioyek, view and edit them in KOReader on an e-reader, then send an annotations file to a colleague who uses Zotero or Obsidian/PMK and has their own separate copy of that PDF (something I'm working on but very early on). https://hypothes.is operates a bit like this.


For the latest version (2.0.0): There is supposed to be a setting for (1), but the note in the supplied settings file seems to be misleading. I find that if I set `should_launch_new_instance` to 1, then I can have multiple PDFs open in Sioyek simultaneously, but only if I open the PDFs after the first from the termiinal; opening them from within Sioyek or from dmenu replaces the PDF that’s already open. But I never got any crashes. I use dwm on Debian.

I consider (2) desirable.


Sioyek developer here. You absolutely should be able to open multiple PDFs (e.g. using the new-window command are passing the --new-window command line option). If you are experiencing crashes please open a github issue.


Such a good PDF viewer.

My favorite feature from this program that doesn't exist in any other PDF reader (AFAIK) is visual mark mode, where it highlight each line you read. Very good to reduce eye strain


With MUPDF I just change the background colour to something else:

      mupdf -C "#FFFFC0" file.pdf


That's completely different. See "Visual Mark" here: https://sioyek-documentation.readthedocs.io/en/latest/usage....


I know, but that was a hint on reducing the visual fatigue.


Late reply, but there is an even better option, pressing F8 will turn on dark mode, inverting the PDF colors (not sure if that includes images inside PDF, figures does inverted though)


Great tool! A feature suggestion: a common complaint about PDFs compiled from e.g. LaTeX is that text elements like "fi" in words such as "profile" cannot be correctly copied due to ligature encoding (e.g. try copying from the title in [1]: "profile" becomes "prole" and "identifiers" becomes "identiers"; also see discussion at [2]). An option to automatically fix this within the viewer could be a desirable feature — though admittedly I haven't thought this through and I'm not sure how feasible it is to implement such a feature at the viewer level.

[1] https://www.unicode.org/L2/L2022/22230-math-profile.pdf

[2] https://tex.stackexchange.com/questions/33476/why-cant-fi-be...


Is there something like this for iPad? Reading research articles is a painful process having to flip back and forth between text, figures and references all the time


https://www.liquidtext.net/ is unique in its feature set and use of gestures and stylus.

It’s definitely worth trying.


I use GoodReader. I'm open to trying something else, but it has folders, bookmarks, annotations, the basics. It lacks all of the fancy stuff in the linked program, though.

PDF reading is the main use I have for a 13 iPad, and I do enough of it that it justifies the device.


Another vote for GoodReader


Did you try the Google Scholar PDF reader? It makes citations clickable (sometimes)


I work a lot with academic papers on iPad and PDF expert is the best! https://pdfexpert.com/


The author is trying to make a version for Android and iOS. The Android version is almost ready, but they're having trouble with the iOS version.


I have used MarginNote and Notability in the past. Take a quick look to see if they do what you want with PDF's.


Very nice. It could only be made better by supporting more formats. Like mobi, fb2 and DJVU. I miss Sumatra when using a Mac as it could open all of these beautifully on Windows. Perhaps Sioyek could make a great replacement if coupled with a library like Pandoc.


Since this viewer uses MuPDF as the document engine, it should already support EPUB, MOBI, FB2, and XPS document formats.

If it doesn't, it should be a relatively simple task to upgrade the mupdf library to the latest version and recompile Sioyek to get all the file formats supported by mupdf.


Years ago during grad school, I used a tool called docear, which can manage papers and had a mind map to documents our ideas. It was a fantastic tool far beyond the time. I still have not found an elegant knowledge management tool like that one


I want an easier way to switch between my blue green and yellow high lighters when reading a pdf for school. Also, how about a menu button that exports highlighted selections into a markdown file?


I’d love it if any PDF reader could simply reformat PDFs to be single column so they would be viewable on mobile devices.

Essentially, as if they had never been written in PDF in the first place. Does anyone know if such a thing exists?


Sioyek developer here, we don't have the exact feature you ask for, but we have an alternative.

Instead of modifying the PDF file (which kind of is against the point of PDF files in the first place, the point is the file looks the same in all devices) we have a ruler which can automatically highlight the line being read. If the line is larger than the window, then we move horizontally so the next part of the line is shown. If the line is such that it is larger than the current window but is smaller than the next horizontal movement, a red notch is displayed in the ruler which marks the location of the line which will be moved to the leftmost side of the window.

I know I explained it poorly, here is a video which should clarify: https://www.youtube.com/watch?v=ZYUYMhvwN3U


> Instead of modifying the PDF file (which kind of is against the point of PDF files in the first place, the point is the file looks the same in all devices)

I, as a reader, don't care about this. I want the document to be the most readable on all devices.


I think that the main issue is that the columns in the PDF aren't identified as columns of sequential text, they are just rectangles. So there is no reliable way to reposition the text so that it doesn't use two columns.

I've seen others propose to replace PDF in favor of more dynamic formats like EPUB. But I wonder if it wouldn't be more pratical to standardize tags and proporties that can be written to the PDFs, so that readers are better able to handle them.


Not true, PDF standard has concept of text flow, that's why when you highlight horizontally from a column all the way to next column then all text in the first column is highlighted.


Yes. But it’s relatively easy to train a model as there is a huge quantity of before text and after PDF available.


Not what you're asking for, but something that helps with displaying in mobile devices is removing margins, you can use this open source app for that https://flathub.org/apps/com.github.arminstraub.krop .


Adobe has a feature called Liquid Mode that does this: https://www.adobe.com/devnet-docs/acrobat/ios/en/lmode.html

Note: they send your document to the cloud for processing.


The cloud might be a no go to some.


Back in the early days of Sony e-ink readers (e.g. PRS-505) there were some apps that promised that capability. My recollection was that they were very fiddly and took a lot of time on your desktop before you got something readable.


Seems like an abandoned project — the latest commit to main was two years ago!


Their development branch is very active (last commit 3 weeks ago):

https://github.com/ahrm/sioyek/tree/development


Are you perhaps referring to the latest release (which was 1.4 years ago) rather than the latest commit on main (which was 41 days ago)?


Sioyek developer here. As others have mentioned the development branch is fairly active. I also have my own private branch which I have not published yet until it is more stable, the last commit in my private branch is yesterday (6 commits actually).


Awesome


It's crazy, AI learning resources, added to Search Assistant, https://search.glarity.ai/


I'm curious about the name. It seems to mean thirty-one/سی و یک in Persian. Is it a literary reference? Something to do with the Simurgh tale?


Sioyek developer here. There is no deep meaning behind the name, I just like the number 31 :)


Thanks for clarifying :)


Really interesting feature set! I'd like to ask, are notes and highlight saved separately or are they embedded with the PDF?


They are saved separately. We do have an "embed_annotations" command to create a new pdf file with annotations embedded.


This is desktop only, correct? Personally I've been using Librera for my textbooks, would love to try some other recommendations.


They are working on an Android version that you can build from their development branch:

https://github.com/ahrm/sioyek/issues/840


Really cool features, looks like it’s desktop based.

What PDF readers are people using in their web applications?


Looks great. Wished this could be integrated into Obsidian as replacement for their PDF viewer.


Been using it for years. really the best pdf viewer for me.


Is it good at digesting huge lists of PDFs (say, 100 000)?


From what I understand, there's no bulk import or open dir feature.


Very vim-like navigation (gg/G, commands, etc)

Brilliant!


Excellent textbook examples in there :)


Portals is a very cool idea.


I recently started using an eink Supernote device in A5 size and it is really change the way I interact with PDFs. The best part is the software is native PDF highlighting and commenting and leave comments using handwriting recognition.

Unrelated to PDF I built a Supernote Obsidian plugin too.

https://github.com/philips/supernote-obsidian-plugin


What else about the Supernote changed the way you interact with PDFs, besides highlighting and handwritten comments? Does the form factor make a big difference?

Asking out of curiosity since I've been eyeing eink tablets for a while.


The main thing is reading long form PDFs doesn’t feel like a chore because it was hard to get comfy and just read without printing. And frankly I am not always near my printer when a paper comes up I want to read. A laptop or display just doesn’t work for me. Also, unlike print outs I can have everything just in my bag at all times.

The supernote is light and the right size so reading lying down, at the couch, or sitting on the ground works for me.


How do Supernote devices compare to Kobo devices that were mentioned here recently?


What made you choose the Supernote over the Remarkable?


I liked that their new hardware is repairable. They seem focused on making their entire product work offline too.


Seems to be much better at notetaking, as well as not as locked down ?

https://ewritable.com/best-e-ink-tablets/#Best_Dedicated_Not...

Myself, I just bought the Note Air 3C a few hours ago - I've literally waited a decade for color to show up !

Maybe in yet another decade something GAFAM-free, like PineNote, will be viable, sigh...


Why have you not noticed anywhere that the program does not support Windows 7? I have read the system requirements, then found no info about 7, then run the .exe file, then realized it is not running without any error.

There is a reason software must have a clearly defined system requirements.


>Why have you not noticed anywhere that the program does not support Windows 7?

What's with the attitude? Maybe the author didn't expect people to still be running an OS that's 15 years old and 4 years since its End-Of-Life.

Nothing wrong if you voluntarily choose to daily drive a dead OS today at your own risk, but expecting unpaid developers to cater to your super narrow niche is the epitome of entitlement.


> Maybe the author didn't expect people to still be running an OS that's 15 years old and 4 years since its End-Of-Life.

Do you know why the System Requirements pages exist? Do you know who uses them? Do you know what the user does when he opens the System Requirement page and can not find the information whether this or that machine capable of running the software?

> expecting unpaid developers to cater to your super narrow niche is the epitome of entitlement.

Please don't read what I didn't write and have some respect for those who has just unfreezed from a time capsule. Disability to define whether I can run the program even after looking at the System Requirement page is kind of annoying.


Why are you using windows 7?

"legacy operating systems that have not been supported by their vendor for 4+ years are not supported" is common sense


> Why are you using windows 7?

I have a laptop with ATI videocard, it can not run a modern OS any more.

> is common sense

When the laptop was new, it was a common sense to support as much old Windozes as possible. Come on, this laptop definitely deserves to have a PDF reader.


>I have a laptop with ATI videocard, it can not run a modern OS any more.

Implausable. I have a PC from 2006-2007 with a equally old Nvidia card and it can run modern Debian(AntiX 23.1) just fine with FOSS drivers.

>When the laptop was new, it was a common sense to support as much old Windozes as possible.

What does that even mean in correct English without leet speak?

>Come on, this laptop definitely deserves to have a PDF reader.

Instead of expecting people to write Windows 7 compatible software today why aren't you trying Linux on it? Then you can read all the PDFs you like. Have some common sense please.


FOSS driver for ATI makes my laptop very hot and only 1/3 of battery time.

I expect not this, I expect the author to tell in his minimal requirements page about the OS version.


> When the laptop was new, it was a common sense to support as much old Windozes as possible.

No it wasn't.

> Come on, this laptop definitely deserves to have a PDF reader.

Then use an operating system that is supported instead of expecting devs to do what you tell them to do.


I have edited the message, I meant ATI videocard. The most modern OS which supports this videocard is 7.

> No it wasn't.

How old are you? In 2009 it was not just common, backward compability was Windoze's killer feature at that time.

> Then use an operating system that is supported instead of expecting devs to do what you tell them to do.

Adding one text line in System Requirements page, no any coding, is telling devs what to do? There is a reason why the System Requirement pages exist.


>In 2009 it was not just common, backward compability was Windoze's killer feature at that time.

You're massively confused and mistaken on what backwards compatibility actually is. Backwards compatibility means that a platform/OS from the present day can run software from the past, not that an OS from the distant past(2009) can somehow magically run software from 15 years in the future, which is what you're trying to do and is not a use case any mainstream OS has ever been designed for since nobody ahs a crystal ball to know how SW will be written in the future.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: