TL;DR

  • TeXmacs Vue는 GNU TeXmacs 2.1.5를 웹 페이지에서 실행하는 실험적 포트로, 설치가 필요 없고 다운로드하지 않는 한 데이터가 브라우저 밖으로 나가지 않음.
  • WebAssembly, Vue 인터페이스, S7 Scheme, OpenType 글꼴과 수학 글꼴을 사용하며 편집·조판·인쇄·클립보드·Scheme 세션·원격 메뉴 기능을 제공함.
  • 플러그인이 프로그램을 실행하는 기능, 다른 머신의 TeXmacs 서버를 위한 wss, 대화상자 크기 조정은 아직 지원되지 않으며 Firefox와 Safari에서 테스트됨.
  • 첫 방문에는 프로그램과 부팅에 필요한 파일 등 약 11MB를 불러오고 나머지는 백그라운드에서 받으며, 두 번째 방문에는 아무것도 불러오지 않음.
  • 데스크톱용 Vue 그래픽 백엔드는 위젯 툴킷에 의존하지 않으며, 레이아웃에 Clay, 창·입력·클립보드에 SDL3, 픽셀 처리에 MuPDF를 사용함.

브라우저에서 실행하는 GNU TeXmacs

  • 체험하기에서 wip_wasm_vue 브랜치의 GNU TeXmacs 2.1.5 실험적 포트를 웹 페이지에서 실행할 수 있음. 설치 과정은 없으며, 파일을 다운로드하지 않는 한 데이터가 브라우저 밖으로 나가지 않음.
  • 기본 TeXmacs를 WebAssembly로 컴파일하고, TeXmacs의 새 인터페이스인 Vue를 사용함. 인터페이스는 아래에서 설명하는 Clay, SDL3, MuPDF를 활용하며, Guile 대신 S7 Scheme을 사용하고 수학 글꼴을 포함한 OpenType 글꼴을 제공함.
  • 작동하는 기능은 다음과 같음.
  • 편집과 조판
  • 웹 페이지 안에 그려지는 메뉴와 대화상자
  • 문서별 탭
  • 브라우저에 보관되는 파일: 업로드, 드래그 앤 드롭, ZIP 프로젝트, 다운로드
  • 인쇄: PDF가 브라우저 탭에서 열림
  • 시스템 클립보드
  • Scheme 세션
  • WebSocket을 통한 TeXmacs 서버 연결을 지원하는 Remote 메뉴
  • 아직 지원되지 않는 기능은 프로그램을 실행하는 플러그인임. 웹 페이지에서는 프로세스를 실행할 수 없음. 다른 머신의 TeXmacs 서버를 위한 wss와 대화상자 크기 조정도 아직 지원되지 않음.
  • Firefox와 Safari에서 테스트됨.
  • 공식 TeXmacs 배포판에서는 발생하지 않는 이 포트 고유의 문제는 TeXmacs 프로젝트가 아니라 이 저장소의 이슈 페이지에 보고해야 함. 그 밖의 문제는 기존 방식대로 TeXmacs에 보고하면 됨.
  • 첫 방문 시 프로그램과 부팅에 필요한 파일 등 약 11MB를 불러오며, 나머지 파일은 백그라운드에서 불러옴. 두 번째 방문에는 아무것도 불러오지 않음.
  • CI는 vue_ci 브랜치에서만 실행됨. 작업은 CI를 실행하지 않는 wip_wasm_vue 브랜치에서 진행되며, git push origin wip_wasm_vue:vue_ci로 상태를 빌드·테스트·게시함. 각 실행 결과는 texmacs-wasm-web 아티팩트로도 보관됨.
  • 빌드 방법은 src/README.md를 참고하고, 설계 관련 메모와 계획은 src/docs/wasm/에 있음.

Vue 인터페이스(데스크톱), wip_vue 브랜치

  • 위젯 툴킷에 의존하지 않는 GNU TeXmacs용 그래픽 백엔드가 개발 중임.
  • Vue 플러그인이 편집기, 바, 메뉴, 대화상자, 도구를 직접 그리며 세 라이브러리를 사용함.
  • Clay: 레이아웃
  • SDL3: 창, 입력, 클립보드
  • MuPDF: 픽셀 처리
  • 플러그인과 관련 문서를 제외한 나머지는 기본 TeXmacs임. 다만 GUI가 Qt도 X11도 아니라는 점을 반영해야 했던 일부 부분은 예외임.
  • 코드 위치: src/src/Plugins/Vue/이며, TODO와 테스트는 tests/에 있음.
  • 개발자 문서는 src/docs/에 있으며 그래픽 스택, 위젯, 테스트 하네스, TeXmacs 코어와 GUI 플러그인의 통신 방식, 빌드와 디버깅 방법을 다룸.
  • src/에서 ./configure --with-gui=vue --with-sdl3 --with-mupdf=<prefix>를 실행해 빌드함.

이 저장소

  • 저장소 구조는 미러링 대상인 TeXmacs SVN trunk의 구조를 따름.
  • src/: 편집기 소스, Scheme, 스타일, 문서, 패키징을 포함하며, 이 프로젝트의 README는 src/README.md임.
  • misc/: 빌드 스크립트, 플러그인 및 기타 자료.
  • web/: 웹사이트 소스.
  • guile-texmacs/: 함께 포함된 Guile 1.8.