1P by GN⁺ | ★ favorite | 댓글 1개
  • Sioyek은 교과서와 연구 논문 읽기에 초점을 둔 PDF 뷰어로, 이전에 열어본 파일을 빠르게 찾고 논문 구조 안에서 이동하는 기능을 제공함
  • 링크가 없는 PDF에서도 그림·참고문헌 항목으로 점프할 수 있고, 참고문헌 이름을 Google Scholar나 Libgen에서 검색하는 동작을 지원함
  • 목차 검색, 빠른 개요, 마크, 북마크, 하이라이트 검색 등 긴 문서를 읽을 때 필요한 탐색 기능을 중심으로 구성됨
  • 여러 모니터 사용자는 Portals로 본문 위치와 그림 위치를 연결하고, 별도 창에서 가까운 포털 목적지를 자동으로 볼 수 있음
  • Windows, macOS, Linux용 공식 설치 파일과 Homebrew Cask, 여러 Linux 배포판의 서드파티 패키지가 제공되며, 개발 브랜치 빌드에는 Qt 6.7 또는 6.8이 필요함

프로젝트 개요

설치 경로

문서 탐색 기능

  • Quick Open은 Sioyek으로 이전에 상호작용한 파일을 빠르게 검색하고 열 수 있게 함
  • Table of Contents 기능은 목차 항목을 검색하고 해당 위치로 이동할 수 있게 함
  • Smart Jump는 PDF 파일이 링크를 제공하지 않아도 참조된 그림이나 참고문헌 항목으로 이동할 수 있게 함
    • 참고문헌 항목 이름을 가운데 클릭하거나 Shift+가운데 클릭하면 Google Scholar 또는 Libgen에서 검색할 수 있음
  • Overview는 그림, 참고문헌, 표 등을 오른쪽 클릭해 빠른 개요로 열 수 있게 함
    • Smart Jump처럼 문서가 링크를 제공하지 않아도 동작함

긴 문서 읽기 보조 기능

  • Mark는 PDF 안의 이름 있는 위치를 저장하고 나중에 해당 이름으로 빠르게 돌아갈 수 있게 함
    • 각 마크는 a 또는 m 같은 단일 문자 이름을 가짐
    • 소문자 마크는 문서 로컬이고, 대문자 마크는 전역임
    • Vim을 사용해 본 사용자에게 익숙한 방식임
  • Bookmarks는 마크와 비슷하지만 텍스트 문자열 이름을 사용하며 모두 전역임
  • Highlights는 여러 종류의 하이라이트로 텍스트를 표시하고, 모든 하이라이트를 검색할 수 있게 함
  • Portals는 현재 문단과 멀리 떨어진 그림 같은 위치를 연결할 수 있게 함
    • 별도 창에서 가장 가까운 포털 목적지를 표시함
    • 이 창은 보통 두 번째 모니터에 배치됨
    • 사용자가 문서를 탐색하면 가장 가까운 포털 목적지로 자동 갱신됨

설정과 빌드

  • Configurationkeys_user.configprefs_user.config를 편집해 모든 키 바인딩과 일부 UI 요소를 사용자화할 수 있게 함
    • 기본 설정은 keys.configprefs.config에 있음
  • 개발 브랜치를 빌드할 때 Qt 5.* 빌드 오류가 발생하면 Qt 6.7 또는 6.8을 사용해야 함
  • macOS에서 "sioyek is damaged and cannot be opened. It is recommended to eject the image." 메시지가 나오면 macOS quarantine과 관련된 문제이며, 관련 논의가 안내됨
  • Linux 빌드는 Fedora용 명령과 일반 배포판용 절차가 제공됨
    • Fedora Workstation 36에서 테스트된 절차가 포함됨
    • 일반 배포판 절차는 Qt 5, qmake, libharfbuzz 설치 후 ./build_linux.sh 실행을 안내함
  • Windows 빌드는 Visual Studio 2019에서 테스트됐고, 비교적 최근 버전도 동작할 수 있음
    • Qt 5와 qmake를 준비한 뒤 64비트 Visual Studio Developer Command Prompt에서 build_windows.bat를 실행함
  • Mac 빌드는 Xcode와 Qt6 설치 후 build_mac.sh를 실행하고, 빌드된 sioyek.app/Applications/로 옮긴 뒤 codesign을 수행하는 절차를 안내함

댓글과 토론

Hacker News 의견들
  • 기능 목록을 끝까지 읽기도 전에 설치했을 만큼 마음에 들지만, 예를 들어 2페이지 표시 같은 개선은 필요해 보임
    키보드 조작 인터페이스는 훌륭한데 메뉴 명령이 없는 건 아쉬움. 프로그램 안에서 도움말을 다시 띄울 방법이 없는 것도 이상했음. 처음 열 때는 도움말이 보이지만 파일을 열면 사라져서, 결국 웹사이트의 문서 페이지로 가야 했음
    그래도 연구에 최적화된 좋은 기능이 워낙 많아서 이런 불편을 감수할 만함

    • Sioyek 개발자임. 개발 브랜치에 2페이지 모드를 추가했음
    • :명령 팔레트를 열고 명령과 단축키를 검색할 수 있음
  • 읽는 콘텐츠와 내 노트를 더 잘 통합하는 쪽으로 작업해 왔음. 문헌에서 어떤 아이디어가 발전되거나 반박되는 위치를 모으고, 좋은 아이디어도 함께 수집하려고 함
    내가 개발 중인 Cahier(https://getcahier.com)는 읽은 PDF의 특정 구절을 참조하는 카드를 만들 수 있음
    최근 몇 년 사이 이 분야에서 진행되는 발전을 보는 게 흥미로움

    • Cahier는 오랫동안 바라던 것에 거의 딱 맞아 보임. 최근 몇 년 동안 지식 관리를 진지하게 다루는 흐름이 생기면서 Obsidian, Zotero, Anki 같은 훌륭한 도구가 많아졌지만, 문서를 제대로 하이라이트하고 주석을 단 뒤 그 내용을 원문서 밖으로 꺼내 노트의 더 넓은 맥락과 연결하는 좋은 해법은 아직 부족함
      결국 논문은 Zotero에, 노트는 Obsidian에 따로 갇히는 식으로 여러 사일로가 생김. Cahier는 읽기, 노트 작성, 노트 정리, 새 통찰 생성과 글쓰기까지 이어지는 통합 워크플로로 지식 관리를 보는 점에서 확실히 올바른 방향으로 보임
      다만 일부 영역에서 바퀴를 다시 발명하게 될까 봐 걱정됨. 예를 들어 Zotero의 웹 통합 수집기 같은 기능까지 모두 통합할 계획인지 궁금함. 그건 엄청난 작업량일 텐데, 없으면 참고문헌 관리 해법으로 Zotero를 완전히 대체하기 어려움. 로드맵과 최종 기능 범위, 사용자 워크플로가 궁금함
    • 좋아 보임. 다른 사람들처럼 나도 당분간은 Zotero를 계속 쓸 것 같음. Zotero에서 가장 중요한 기능은 기기 간 동기화
      보통 iPad에서 논문을 읽고 주석을 다는데, 하이라이트와 노트가 동기화되어 MacBook이나 Windows 데스크톱에서 글을 쓸 때 바로 참조할 수 있는 점이 좋음
      다만 노트 작성 해법은 Cahier가 훨씬 나아 보임. 가끔 여러 소프트웨어를 합쳐서 각자에게 딱 맞는 도구를 만들 수 있으면 좋겠다는 생각이 듦
    • 어떤 발전이 흥미롭다고 보는지 더 설명해 줄 수 있을까? 원문 링크와 이 링크, 스레드의 다른 도구들도 확인해 봐야겠음
      개인 용도로 진지하게 살펴본 지는 몇 년 됐지만, 당시 선택지에는 꽤 실망했음. PDF 읽기나 정리와 관련해서는 Zotero와 org-noter가 서로 완전히 다른 방식으로는 가장 나은 축에 들었음
      OneNote도 1년 써 봤고 그 순간에는 마음에 들었지만, 정보 탐색·발견·복습을 지원하지 않아서 지식 기반 구축이나 문헌 검토에는 버티기 어려웠음
      PDF, HTML, 동영상 등 어떤 형태든 문서 정보를 읽고 연결하는 소프트웨어는 지금 매일 쓰는 것보다 훨씬 더 좋아질 수 있다고 봄
    • 웹사이트를 확인하려고 했는데 SSL 인증서가 오늘 만료된 걸 봤음. 새로 발급받아야 할 듯함 :)
    • 꽤 흥미로워 보임. 나에게 필수적인 기능은 노트와 주석을 포함한 데이터가 수십 년 뒤에도 사용 가능한 상태로 남는 것임
      그렇지 않으면 오늘의 작업이 사라짐. 언젠가 Cahier 개발을 중단하거나 내가 다른 시스템으로 옮겨야 하면 어떻게 되는지 궁금함
  • 이 앱을 항상 씀. 좋은 앱임. 인용으로 점프하는 기능 같은 일부 기능은 Chrome용 Google Scholar 확장에도 있지만, 앱을 Vim처럼 조작할 수 있게 만드는 발상이 정말 좋음
    Sioyek 전에는 Karabiner로 macOS Preview에서 j/k 등을 설정해 Vim 키로 이동했는데, 과정이 번거롭고 Sioyek이 제공하는 많은 기능은 없었음. 또 눈 피로를 줄이려고 PDF 배경색을 solarized로 쓰는데, 이 앱은 PDF 안의 그래프에도 야간 모드를 지원함
    불만도 몇 가지 있음. PDF를 두 열 패널로 나란히 보는 확장이 있는데 실제 PDF 파일 자체를 바꿔 버림. 플러그인 설치가 전반적으로 어렵고, 우회 방법을 찾아 보고했지만 앱 개선에 반영됐는지는 모르겠음. 설정 파일이 앱의 Applications 디렉터리에 저장되는 것 같은데 ~/.config에 있으면 더 좋겠음. 디렉터리에서 파일을 빠르게 여는 기능은 iCloud를 포함한 클라우드 드라이브에서 작동하지 않음

    • Sioyek 개발자임. 개발 브랜치에 네이티브 두 패널 모드를 추가했음
      플러그인 쪽은 개발 브랜치에서 네이티브 JavaScript 확장을 지원하도록 했음. Qt 내부 JavaScript 엔진을 쓰기 때문에 외부 의존성이 없고 훨씬 다루기 쉬울 것임
      설정 파일도 개발 브랜치에서는 ~/.config를 쓸 수 있는 것으로 생각하지만, 100% 확신은 아님
    • 확장 설치가 복잡한 점에 동의함
      sioyek이라는 이름을 정말 기억하지 못해서 xpdf의 별칭으로 만들어 뒀음
  • 연구 논문을 읽고 토론하는 데 좀 더 협업적인 접근을 해 봤음. https://www.scholars.io 또는 https://app.scholars.io에서 사람들이 연구에 주석을 달고, 댓글을 달고, 협업할 수 있게 함

  • PDF에 목차가 포함되어 있지 않아도 목차 기능이 작동하는지 궁금함. PDF 리더가 해 줬으면 늘 바라던 기능임

    • 어느 정도는 됨. Sioyek이 텍스트를 파싱해 목차 생성을 시도하지만, 원본 PDF는 수정하지 않으며 정확도와 유용성은 들쭉날쭉함
      논문에서는 꽤 잘 작동하는 편이고, 가끔 몇몇 섹션을 놓치거나 잡항목이 들어가는 정도였음. 교과서, 특히 수식 조판이 많은 책에서는 쓸모없는 항목이나 누락이 너무 많았던 경우가 많음
      논문이나 교과서 일부만 필요한 경우에는 자동 생성 목차와 북마크만으로 대체로 충분함. 그 외에는 pdf.tocgen(https://github.com/Krasjet/pdf.tocgen)으로 반수동으로 정확한 목차를 만드는 걸 선호함
    • 가능함
      파일에 목차가 없고 설정이 켜져 있으면 휴리스틱 방법으로 목차를 생성함. max_created_toc_size로 너무 큰 목차 생성을 막을 수 있음
      https://sioyek-documentation.readthedocs.io/en/latest/config...
    • 웹사이트에는 가능하다고 되어 있음: https://sioyek.info/
      링크는 웹사이트로 걸리는 편이 맞다고 봄
  • 종이책에서는 쉽지만 컴퓨터에서는 어려운 두 페이지 사이 오가기 기능의 간단한 우회법으로, 소프트웨어가 두 인스턴스를 허용하면 PDF를 두 번 열어 둠
    너무 똑똑해서 그게 안 되면 PDF를 복사해 두 번째 사본을 열고, 서로 다른 위치로 스크롤한 뒤 alt-tab으로 오가면 됨
    휴대폰에서는 Acrobat Reader와 Koreader를 동시에 쓸 수 있음

  • Sioyek에는 좋은 기능이 있지만 꽤 버그가 많았음. 버그 수정과 테스트 작성에는 많은 노력이 들 수 있음

  • 약간 곁가지지만, LLM 기반 검색이 통합된 좋은 PDF 리더를 아는지 궁금함. 문서에서 “cities in USA”를 검색하면 예를 들어 New York, Los Angeles, Chicago 같은 모든 출현을 보여 주는 식이면 좋겠음

    • PDFgear에는 LLM이 통합되어 있고, 현재 무료임
  • 이 리더가 Zotero와 통합되면 좋겠음. 플러그인 형태도 가능해 보임

  • Sioyek을 더 기능이 풍부한 Zathura처럼 꽤 좋아했지만, 두 가지 때문에 기본 PDF 리더로 쓰지 못했음
    첫째, 여러 PDF를 동시에 열 수 없음. 이미 어떤 PDF가 열린 상태에서 두 번째 PDF를 열려고 하면 두 인스턴스가 모두 충돌함
    둘째, 주석이 PDF 자체가 아니라 별도 문서에 저장됨
    다른 사용자들도 둘 다 이미 적어 둔 적이 있음. 1번의 쉬운 해결책은 찾지 못했고, 2번의 부분 해법은 확장을 쓰지만 기억으로는 여전히 명령을 수동 실행해 주석을 PDF 문서 자체로 옮겨야 했음

    • 여러 PDF 문제에는 동의함. 진행 중인 작업이라고 생각함. 하지만 주석을 PDF에 내장하지 않고 별도 문서에 저장하는 쪽은 오히려 선호함
      이상적으로는 Zotero와 언급한 확장처럼 두 옵션을 모두 제공하면 좋겠지만, PDF의 깨끗한 사본을 유지해 다른 사람과 공유할 수 있으니 주석은 분리되는 편이 좋음
      게다가 현재 주석을 지원하는 PDF 뷰어마다 각자 고유한 방식으로 처리하고, 프로그램들은 다른 프로그램이 만든 하이라이트나 노트를 원본과 잘 구분하지 못함
      다만 Zotero와 몇몇 리더가 보편적인 주석 저장 메커니즘으로 Web Annotation Data Model(https://www.w3.org/TR/annotation-model/)을 쓰기 시작했음. 언젠가는 Sioyek에서 만든 하이라이트와 노트를 전자책 리더의 KOReader에서 보고 편집한 뒤, 같은 PDF의 별도 사본을 가진 Zotero나 Obsidian/PMK 사용자 동료에게 주석 파일을 보낼 수 있기를 기대함. 아직 아주 초기지만 작업 중임. https://hypothes.is도 약간 이런 식으로 동작함
    • 최신 버전 2.0.0 기준으로 1번에는 설정이 있는 것으로 되어 있지만, 제공된 설정 파일의 주석은 오해를 부를 수 있음
      should_launch_new_instance를 1로 설정하면 Sioyek에서 여러 PDF를 동시에 열 수 있었지만, 첫 번째 이후의 PDF를 터미널에서 열 때만 가능했음. Sioyek 안에서 열거나 dmenu에서 열면 이미 열린 PDF가 교체됨. 그래도 충돌은 한 번도 겪지 않았음. Debian에서 dwm을 사용함
      2번은 바람직하다고 봄
    • Sioyek 개발자임. 여러 PDF는 당연히 열 수 있어야 함. 예를 들어 new-window 명령을 쓰거나 --new-window 명령줄 옵션을 넘기면 됨
      충돌이 발생한다면 GitHub 이슈를 열어 주면 좋겠음