1 Punkte von GN⁺ 2024-05-11 | 1 Kommentare | Auf WhatsApp teilen
  • Sioyek ist ein PDF-Viewer mit Fokus auf das Lesen von Lehrbüchern und wissenschaftlichen Arbeiten. Er bietet Funktionen, um zuvor geöffnete Dateien schnell wiederzufinden und innerhalb der Struktur eines Papers zu navigieren.
  • Auch in PDFs ohne Links kann man zu Abbildungen und Literaturverzeichniseinträgen springen; außerdem unterstützt Sioyek das Suchen von Referenznamen in Google Scholar oder Libgen.
  • Der Viewer ist auf Navigationsfunktionen ausgelegt, die beim Lesen langer Dokumente benötigt werden, darunter Suche im Inhaltsverzeichnis, schnelle Übersicht, Markierungen, Bookmarks und Suche in Highlights.
  • Nutzer mehrerer Monitore können mit Portals Textstellen und Abbildungspositionen verknüpfen und in einem separaten Fenster automatisch das nächstgelegene Portal-Ziel anzeigen lassen.
  • Offizielle Installer für Windows, macOS und Linux sowie ein Homebrew Cask und Third-Party-Pakete für mehrere Linux-Distributionen werden bereitgestellt; Builds aus dem Entwicklungs-Branch erfordern Qt 6.7 oder 6.8.

Projektüberblick

Installationswege

Funktionen zur Dokumentnavigation

  • Quick Open ermöglicht das schnelle Suchen und Öffnen von Dateien, mit denen man zuvor in Sioyek interagiert hat.
  • Die Funktion Table of Contents erlaubt es, Einträge im Inhaltsverzeichnis zu suchen und an die entsprechende Stelle zu springen.
  • Smart Jump ermöglicht das Springen zu referenzierten Abbildungen oder Literaturverzeichniseinträgen, selbst wenn die PDF-Datei keine Links bereitstellt.
    • Durch Mittelklick oder Shift+Mittelklick auf den Namen eines Literaturverzeichniseintrags kann man in Google Scholar oder Libgen danach suchen.
  • Overview ermöglicht es, Abbildungen, Referenzen, Tabellen usw. per Rechtsklick in einer schnellen Übersicht zu öffnen.
    • Wie Smart Jump funktioniert dies auch dann, wenn das Dokument keine Links bereitstellt.

Hilfsfunktionen für das Lesen langer Dokumente

  • Mark speichert benannte Positionen innerhalb einer PDF und ermöglicht es, später schnell über diesen Namen dorthin zurückzukehren.
    • Jede Mark hat einen einstelligen Namen wie a oder m.
    • Kleinbuchstaben-Marks sind dokumentlokal, Großbuchstaben-Marks sind global.
    • Die Bedienweise ist Nutzern von Vim vertraut.
  • Bookmarks ähneln Marks, verwenden jedoch Textstrings als Namen und sind alle global.
  • Highlights markieren Text mit verschiedenen Arten von Hervorhebungen und ermöglichen die Suche über alle Highlights hinweg.
  • Portals ermöglichen es, den aktuellen Absatz mit einer weiter entfernten Position wie einer Abbildung zu verknüpfen.
    • In einem separaten Fenster wird das nächstgelegene Portal-Ziel angezeigt.
    • Dieses Fenster wird üblicherweise auf einem zweiten Monitor platziert.
    • Wenn der Nutzer durch das Dokument navigiert, wird automatisch auf das nächstgelegene Portal-Ziel aktualisiert.

Konfiguration und Build

  • Über Configuration lassen sich durch Bearbeiten von keys_user.config und prefs_user.config alle Keybindings und einige UI-Elemente anpassen.
    • Die Standardeinstellungen befinden sich in keys.config und prefs.config.
  • Wenn beim Bauen des Entwicklungs-Branches Build-Fehler mit Qt 5.* auftreten, sollte Qt 6.7 oder 6.8 verwendet werden.
  • Wenn unter macOS die Meldung "sioyek is damaged and cannot be opened. It is recommended to eject the image." erscheint, handelt es sich um ein Problem im Zusammenhang mit der macOS-Quarantine; dazu wird auf eine entsprechende Diskussion verwiesen.
  • Für Linux-Builds werden Befehle für Fedora und ein Verfahren für allgemeine Distributionen bereitgestellt.
    • Enthalten ist ein auf Fedora Workstation 36 getestetes Verfahren.
    • Das Verfahren für allgemeine Distributionen sieht vor, Qt 5, qmake und libharfbuzz zu installieren und anschließend ./build_linux.sh auszuführen.
  • Der Windows-Build wurde mit Visual Studio 2019 getestet; relativ aktuelle Versionen könnten ebenfalls funktionieren.
    • Nach dem Einrichten von Qt 5 und qmake wird build_windows.bat in der 64-Bit Visual Studio Developer Command Prompt ausgeführt.
  • Der Mac-Build sieht vor, nach der Installation von Xcode und Qt6 build_mac.sh auszuführen, die gebaute sioyek.app nach /Applications/ zu verschieben und anschließend codesign auszuführen.

1 Kommentare

 
GN⁺ 2024-05-11
Meinungen auf Hacker News
  • Es gefiel mir so gut, dass ich es installiert habe, noch bevor ich die Funktionsliste zu Ende gelesen hatte; Verbesserungen wie etwa eine Zwei-Seiten-Ansicht scheinen aber nötig zu sein.
    Die Tastaturbedienung ist hervorragend, schade ist jedoch, dass es keine Menübefehle gibt. Seltsam fand ich auch, dass es keine Möglichkeit gibt, die Hilfe innerhalb des Programms erneut aufzurufen. Beim ersten Öffnen wird die Hilfe angezeigt, aber sobald man eine Datei öffnet, verschwindet sie, sodass ich letztlich zur Dokumentationsseite auf der Website gehen musste.
    Trotzdem gibt es so viele gute, auf Forschung zugeschnittene Funktionen, dass sich diese Unannehmlichkeiten in Kauf nehmen lassen.

    • Ich bin der Entwickler von Sioyek. Im Entwicklungs-Branch habe ich einen Zwei-Seiten-Modus hinzugefügt.
    • Mit : kann man die Befehlspalette öffnen und nach Befehlen und Tastenkürzeln suchen.
  • Ich habe daran gearbeitet, gelesene Inhalte und meine Notizen besser zu integrieren. Ich möchte die Stellen sammeln, an denen Ideen in der Literatur weiterentwickelt oder widerlegt werden, und zugleich gute Ideen mit erfassen.
    Cahier (https://getcahier.com), das ich entwickle, kann Karten erstellen, die auf bestimmte Passagen in gelesenen PDFs verweisen.
    Es ist spannend zu sehen, welche Fortschritte es in diesem Bereich in den letzten Jahren gibt.

    • Cahier scheint ziemlich genau dem zu entsprechen, was ich mir schon lange gewünscht habe. In den letzten Jahren ist eine Bewegung entstanden, die Wissensmanagement ernsthaft angeht, und es gibt viele hervorragende Tools wie Obsidian, Zotero und Anki. Aber es fehlt noch immer an einer guten Lösung, um Dokumente sauber zu highlighten und zu kommentieren und diese Inhalte anschließend aus dem Originaldokument herauszulösen und mit dem größeren Kontext der eigenen Notizen zu verbinden.
      Am Ende entstehen mehrere Silos: Papers liegen in Zotero, Notizen separat in Obsidian. Cahier scheint klar in die richtige Richtung zu gehen, weil es Wissensmanagement als integrierten Workflow betrachtet, der Lesen, Notizen machen, Notizen organisieren, neue Erkenntnisse gewinnen und Schreiben miteinander verbindet.
      Allerdings sorge ich mich, dass in manchen Bereichen das Rad neu erfunden werden könnte. Ich frage mich zum Beispiel, ob geplant ist, auch Funktionen wie den Web-Importer von Zotero vollständig zu integrieren. Das wäre eine enorme Menge Arbeit; ohne so etwas wäre es schwer, Zotero als Lösung für Literaturverwaltung komplett zu ersetzen. Mich interessieren Roadmap, endgültiger Funktionsumfang und Nutzer-Workflow.
    • Sieht gut aus. Wie andere werde ich wohl vorerst weiter Zotero verwenden. Die wichtigste Funktion von Zotero ist für mich die Synchronisierung zwischen Geräten.
      Normalerweise lese und annotiere ich Papers auf dem iPad, und mir gefällt, dass Highlights und Notizen synchronisiert werden und ich sie beim Schreiben auf dem MacBook oder Windows-Desktop sofort referenzieren kann.
      Allerdings sieht Cahier als Notizlösung deutlich besser aus. Manchmal wünschte ich, man könnte mehrere Programme kombinieren und sich so genau das Tool bauen, das zu einem passt.
    • Könntest du näher erklären, welche Entwicklungen du spannend findest? Ich sollte mir den Originallink, diesen Link und die anderen Tools im Thread ansehen.
      Es ist ein paar Jahre her, dass ich mir das für den persönlichen Gebrauch ernsthaft angeschaut habe, aber damals war ich von den Optionen ziemlich enttäuscht. Für das Lesen und Organisieren von PDFs gehörten Zotero und org-noter auf ganz unterschiedliche Weise zu den besten Ansätzen.
      OneNote habe ich auch ein Jahr lang genutzt und mochte es in dem Moment, aber weil es Informationssuche, Entdeckung und Wiederholung nicht unterstützt, war es für den Aufbau einer Wissensbasis oder Literaturreviews schwer durchzuhalten.
      Ich denke, Software zum Lesen und Verknüpfen von Dokumentinformationen – egal ob PDF, HTML, Video oder anderes Format – kann noch sehr viel besser werden als das, was ich heute täglich nutze.
    • Ich wollte mir die Website ansehen und habe bemerkt, dass das SSL-Zertifikat heute abgelaufen ist. Es sollte wohl erneuert werden. :)
    • Sieht ziemlich interessant aus. Eine für mich unverzichtbare Funktion ist, dass Daten einschließlich Notizen und Annotationen auch in Jahrzehnten noch nutzbar bleiben.
      Andernfalls verschwindet die Arbeit von heute. Ich frage mich, was passiert, wenn die Entwicklung von Cahier irgendwann eingestellt wird oder ich auf ein anderes System umziehen muss.
  • Ich nutze diese App ständig. Gute App. Einige Funktionen, etwa das Springen zu Zitaten, gibt es auch in der Google-Scholar-Erweiterung für Chrome, aber die Idee, die App wie Vim bedienen zu können, ist wirklich gut.
    Vor Sioyek hatte ich mit Karabiner in macOS Preview j/k usw. eingerichtet, um mit Vim-Tasten zu navigieren, aber der Prozess war umständlich und viele Funktionen von Sioyek fehlten. Außerdem verwende ich zur Verringerung der Augenbelastung eine solarized-Hintergrundfarbe für PDFs; diese App unterstützt Nachtmodus sogar für Grafiken innerhalb von PDFs.
    Ein paar Kritikpunkte habe ich auch. Es gibt eine Erweiterung, um PDFs in zwei Spalten-Panels nebeneinander anzusehen, aber sie verändert die eigentliche PDF-Datei. Die Plugin-Installation ist insgesamt schwierig; ich habe Workarounds gesucht und gemeldet, weiß aber nicht, ob sie in Verbesserungen der App eingeflossen sind. Die Konfigurationsdatei scheint im Applications-Verzeichnis der App gespeichert zu werden; ~/.config wäre mir lieber. Die Funktion zum schnellen Öffnen von Dateien aus einem Verzeichnis funktioniert nicht mit Cloud-Laufwerken einschließlich iCloud.

    • Ich bin der Entwickler von Sioyek. Im Entwicklungs-Branch habe ich einen nativen Zwei-Panel-Modus hinzugefügt.
      Auf der Plugin-Seite unterstützt der Entwicklungs-Branch jetzt native JavaScript-Erweiterungen. Da die interne JavaScript-Engine von Qt verwendet wird, gibt es keine externen Abhängigkeiten und es sollte deutlich einfacher zu handhaben sein.
      Ich glaube, dass die Konfigurationsdatei im Entwicklungs-Branch ebenfalls ~/.config verwenden kann, bin mir aber nicht zu 100 % sicher.
    • Ich stimme zu, dass die Installation von Erweiterungen kompliziert ist.
      Ich konnte mir den Namen sioyek wirklich nicht merken und habe ihn deshalb als Alias für xpdf eingerichtet.
  • Ich habe einen stärker kollaborativen Ansatz zum Lesen und Diskutieren von Forschungspapern ausprobiert. Unter https://www.scholars.io oder https://app.scholars.io können Leute Forschung annotieren, kommentieren und gemeinsam daran arbeiten.

  • Ich frage mich, ob die Inhaltsverzeichnis-Funktion auch dann funktioniert, wenn das PDF kein Inhaltsverzeichnis enthält. Das ist eine Funktion, die ich mir von PDF-Readern schon immer gewünscht habe.

    • Bis zu einem gewissen Grad ja. Sioyek parst den Text und versucht, ein Inhaltsverzeichnis zu erzeugen, verändert dabei aber das Original-PDF nicht; Genauigkeit und Nützlichkeit schwanken stark.
      Bei Papers funktioniert es ziemlich gut; gelegentlich werden ein paar Abschnitte übersehen oder es landen irrelevante Einträge darin. Bei Lehrbüchern, besonders bei solchen mit viel Formelsatz, gab es oft zu viele nutzlose Einträge oder Auslassungen.
      Wenn man nur Papers oder Teile von Lehrbüchern braucht, reichen das automatisch erzeugte Inhaltsverzeichnis und Bookmarks meist aus. Ansonsten erstelle ich lieber halbmanuell mit pdf.tocgen(https://github.com/Krasjet/pdf.tocgen) ein genaues Inhaltsverzeichnis.
    • Das ist möglich.
      Wenn die Datei kein Inhaltsverzeichnis hat und die Einstellung aktiviert ist, wird per heuristischem Verfahren eines erzeugt. Mit max_created_toc_size kann verhindert werden, dass ein zu großes Inhaltsverzeichnis erzeugt wird.
      https://sioyek-documentation.readthedocs.io/en/latest/config...
    • Auf der Website steht, dass es möglich ist: https://sioyek.info/
      Ich finde, der Link sollte eher auf die Website zeigen.
  • Als einfache Umgehung für das Hin- und Herspringen zwischen zwei Seiten, das bei Papierbüchern leicht, am Computer aber schwierig ist: Wenn die Software zwei Instanzen erlaubt, öffnet man das PDF zweimal.
    Wenn sie zu schlau ist und das nicht zulässt, kopiert man das PDF, öffnet die zweite Kopie, scrollt beide an unterschiedliche Stellen und wechselt mit alt-tab hin und her.
    Auf dem Handy kann man Acrobat Reader und Koreader gleichzeitig verwenden.

  • Sioyek hat gute Funktionen, war aber ziemlich buggy. Fehlerbehebung und das Schreiben von Tests können viel Aufwand bedeuten.

  • Etwas am Rande: Kennt jemand einen guten PDF-Reader mit integrierter LLM-basierter Suche? Es wäre schön, wenn eine Suche nach „cities in USA“ im Dokument zum Beispiel alle Vorkommen wie New York, Los Angeles, Chicago usw. anzeigen würde.

    • PDFgear hat ein integriertes LLM und ist derzeit kostenlos.
  • Es wäre schön, wenn dieser Reader in Zotero integriert wäre. Auch als Plugin scheint das möglich.

  • Ich mochte Sioyek ziemlich gern, wie eine funktionsreichere Version von Zathura, konnte es aber aus zwei Gründen nicht als Standard-PDF-Reader nutzen.
    Erstens kann man nicht mehrere PDFs gleichzeitig öffnen. Wenn bereits ein PDF geöffnet ist und man ein zweites öffnen will, stürzen beide Instanzen ab.
    Zweitens werden Anmerkungen nicht im PDF selbst gespeichert, sondern in einem separaten Dokument.
    Andere Nutzer haben beides ebenfalls schon einmal erwähnt. Für Punkt 1 habe ich keine einfache Lösung gefunden; für Punkt 2 gibt es eine Teillösung über eine Erweiterung, aber soweit ich mich erinnere, musste man weiterhin manuell einen Befehl ausführen, um die Anmerkungen in das PDF-Dokument selbst zu übertragen.

    • Beim Problem mit mehreren PDFs stimme ich zu. Ich denke, daran wird gearbeitet. Dass Anmerkungen nicht ins PDF eingebettet, sondern in einem separaten Dokument gespeichert werden, bevorzuge ich dagegen sogar.
      Idealerweise gäbe es, wie bei Zotero und der erwähnten Erweiterung, beide Optionen. Aber da man so eine saubere Kopie des PDFs behalten und mit anderen teilen kann, ist es besser, wenn Anmerkungen getrennt bleiben.
      Außerdem behandelt derzeit jeder PDF-Viewer mit Annotationsunterstützung das auf seine eigene Art, und Programme können Highlights oder Notizen anderer Programme schlecht vom Original unterscheiden.
      Allerdings beginnen Zotero und einige Reader, das Web Annotation Data Model(https://www.w3.org/TR/annotation-model/) als allgemeinen Mechanismus zum Speichern von Anmerkungen zu verwenden. Ich hoffe, dass man eines Tages in Sioyek erstellte Highlights und Notizen in KOReader auf einem E-Book-Reader ansehen und bearbeiten und anschließend die Annotationsdatei an Kollegen schicken kann, die Zotero oder Obsidian/PMK mit einer separaten Kopie desselben PDFs nutzen. Das ist noch sehr früh, aber in Arbeit. https://hypothes.is funktioniert ein wenig ähnlich.
    • In der aktuellen Version 2.0.0 scheint es für Punkt 1 eine Einstellung zu geben, aber der Kommentar in der mitgelieferten Konfigurationsdatei kann irreführend sein.
      Wenn should_launch_new_instance auf 1 gesetzt ist, konnte ich in Sioyek mehrere PDFs gleichzeitig öffnen, allerdings nur, wenn ich die PDFs nach dem ersten über das Terminal geöffnet habe. Wenn ich sie aus Sioyek heraus oder über dmenu öffne, wird das bereits geöffnete PDF ersetzt. Abstürze habe ich aber nie erlebt. Ich nutze dwm unter Debian.
      Punkt 2 halte ich für wünschenswert.
    • Ich bin der Entwickler von Sioyek. Mehrere PDFs sollten natürlich geöffnet werden können. Man kann zum Beispiel den Befehl new-window verwenden oder die Kommandozeilenoption --new-window übergeben.
      Wenn es zu Abstürzen kommt, wäre es gut, wenn ihr ein GitHub-Issue erstellt.