GN⁺: Quiver - 현대적인 교환(commutative) 다이어그램 편집기
(github.com/varkor)-
quiver는 현대적인 그래픽 편집기로, 교환 및 붙여넣기 다이어그램을 위한 도구
-
고품질의 다이어그램을 화면에서 볼 수 있도록 렌더링하며, LaTeX로 내보내기 가능함
-
수작업으로 LaTeX를 작성하는 것보다 훨씬 빠르게 다이어그램을 생성하고 수정할 수 있으며, 약간의 경험만 있으면 손으로 그리는 것과 경쟁할 수 있음.
-
기능 및 스크린샷
-
quiver는 복잡한 교환 다이어그램과 붙여넣기 다이어그램을 생성하기 위한 효율적이고 직관적인 인터페이스를 제공함. 당김 및 밀어내기, 부착, 고차원 셀을 포함한 다이어그램을 쉽게 그릴 수 있음. 객체 배치는 레이블 크기에 따라 조정되는 유연한 그리드를 기반으로 함. 다양한 조합 가능한 화살표 스타일과 레이블 및 화살표에 대한 색상 사용이 가능함.
-
quiver는 스크린샷을 위해 잘 보이도록 설계되었으며, 원본 다이어그램과 최대한 유사하게 보이는 LaTeX로 내보내기 가능함. 마우스를 사용하여 클릭 및 드래그하거나 키보드를 사용하여 다이어그램을 생성하고 수정할 수 있으며, 모든 작업을 수행할 수 있는 완전한 키보드 단축키 세트를 제공함.
-
LaTeX로 다이어그램을 내보낼 때, quiver는 다이어그램에 대한 링크를 포함하여 나중에 수정하거나 다른 사람과 공유할 수 있도록 함.
-
기타 기능
- 다중 선택 기능으로 대량 변경을 쉽게 수행할 수 있음
- 작업을 실행 취소/재실행할 수 있는 히스토리 시스템
- 사용자 정의 매크로 정의 지원:
\newcommand
가 포함된 파일의 URL을 붙여넣기 - HTML로 내장 가능한 다이어그램 내보내기
- 대형 다이어그램을 위한 팬 및 줌 기능
- 스마트 레이블 정렬 및 가장자리 오프셋
-
-
매크로 및 색상 가져오기
-
quiver에서 사용자 정의 매크로와 색상을 사용하려면, 다음과 같은 정의를 포함하는 파일을 생성해야 함.
\newcommand{\cat}{\mathscr} \newcommand{\psh}{\widehat} \newcommand{\smcat}{\mathbb} \newcommand{\yo}{よ}
-
파일을 공개적으로 접근 가능한 URL에 업로드하고, quiver의 "매크로" 입력란에 해당 URL을 붙여넣기. 현재 매크로는
\newcommand
,\newcommand*
,\renewcommand
,\renewcommand*
,\DeclareMathOperator
,\DeclareMathOperator*
로 정의 가능하며, 색상은\definecolor
를 사용하여 정의 가능함 (rgb
,RGB
,HTML
,gray
색상 모드 사용).
-
-
편집기 통합
- quiver 위키에서 편집기 통합을 참조할 수 있음.
-
빌드
-
명령줄에서
make
를 실행한 후,src/index.html
을 웹 브라우저에서 열기. 실패할 경우, Make 또는 Bash의 호환되지 않는 버전을 사용 중일 수 있음. 이 경우, 최신 KaTeX 릴리스를 수동으로 다운로드하여src/
에src/KaTeX/
로 배치해야 함. KaTeX 경로가 올바르지 않으면 KaTeX 로드 실패 오류가 발생함. -
quiver는
localhost
를 통해 실행해야 함. Python이 설치되어 있다면, 다음 명령어를 실행하여 쉽게 해결 가능함:python3 -m http.server
-
quiver
src
디렉토리에서 실행한 후, 브라우저에서localhost:8000
을 열기. 빌드에 문제가 있을 경우, 문제를 자세히 설명하여 이슈를 열면 도움을 받을 수 있음.
-
-
감사의 말
- S. C. Steenkamp: 화살표의 미적 렌더링에 대한 유익한 논의
- AndréC: 고정 높이 곡선을 위한 사용자 정의 TikZ 스타일 제공
- Nathan Corbyn: HTML로 내장 가능한 다이어그램 내보내기 기능 추가
- Paolo Brasolin: 오프라인 지원 추가
- Carl Davidson: 루프 렌더링에 대한 논의 및 프로토타입
- quiver 개선에 기여한 모든 문제 보고자 및 개선 제안자들
Hacker News 의견
-
이 도구는 훌륭하며, Fourier-Poisson 큐브를 약 10분 만에 생성할 수 있었음. UI가 매우 직관적임
- 자유로운 캔버스보다 교환 다이어그램에 집중하는 것이 깔끔하고 사용하기 쉬운 훌륭한 디자인 선택임
- 논문 작성 시 이 도구가 있었다면 많은 시간을 절약할 수 있었을 것임
-
최근에 Petri net editor에 깊은 인상을 받았음
- Petri net은 유한 상태 기계가 멀티스레드가 될 수 있는 것과 비슷함
- "statebox"라는 조직의 글을 통해 Petri net을 처음 알게 되었음
- 그들의 논문을 읽고 매료되어 그곳에서 일하는 것이 꿈이 되었음
- 현재 그들의 홈페이지는 "범주 이론가가 되는 것을 상상해보세요"라는 텍스트와 웃는 이모티콘만 있어서 무슨 일이 있었는지 알 수 없음
-
며칠 전 이 도구를 사용하여 책을 위한 간단한 다이어그램을 그렸음
- 범주 이론에만 사용 가능하여 노드를 예쁘게 꾸미는 데는 지원이 부족하지만, LaTeX로 가능함
-
어젯밤에 TikZCD를 사용했는데, 이 도구의 기능이 적은 버전임
- 간단한 다이어그램을 그리기에 꽤 좋음
-
"교환 및 붙이기 다이어그램"이 무엇인지 설명해줄 수 있는지 궁금함
- 위키백과 페이지가 너무 추상적이어서 기본 수준에서 이해하기 어려웠음
-
웹 친화적인 형식으로 내보내기가 가능한지 궁금함. SVG가 될 것 같음
- localhost에서 quiver를 실행하면 링크를 통해 공유하는 것은 옵션이 아님
-
매우 좋은 제품임
- 과거에는 TikZ 코드를 손으로 작성했는데 꽤 빨랐지만, 이제는 많은 것을 잊어버려서 이 도구가 교환 다이어그램에 매우 유용할 것임
-
몇 년 전 범주 이론 수업을 들을 때 Quiver가 절대적으로 필수적이었음
- UI가 깔끔하고 직관적이며 기능이 많았음
- TikZ와 비교했을 때, Quiver는 비교할 수 없을 정도로 우수함
-
Quiver를 여러 번 사용했으며, 모든 경험이 훌륭했음
- 작성자들에게 찬사를 보냄
-
코드 생성 도구가 여기서 만들어질 수 있을 것임