사용법
핵심 개념
명령을 외우기 전에 네 가지만 알면 플러그인이 왜 그렇게 동작하는지 예측할 수 있습니다. 주소와 정체, 인덱스, 소유, 두 가지 인용 표기입니다.
citekey는 주소, 정체는 Zotero 항목입니다
[@luhmannKommunikationMitZettelkaesten1981]의 luhmannKommunikationMitZettelkaesten1981이 citekey입니다. 사람이 읽고 쓰기 좋은 라벨이지만 영구 식별자는 아닙니다. 저자 이름을 고치거나 공식을 바꾸면 달라질 수 있고, 드물게 두 항목이 같은 키를 갖기도 합니다.
그래서 플러그인은 문헌을 라이브러리 종류, 로컬 라이브러리 ID, Zotero item key 세 가지로 알아봅니다. citekey는 그 항목을 부르는 현재 이름이고, 예전에 쓰던 이름은 이력으로 함께 기억합니다.
flowchart LR K1["옛 citekey"] --> H["citekey 이력"] K2["현재 citekey"] --> E["Zotero 항목<br>라이브러리 + item key"] H --> E E --> N["문헌 노트<br>zoteroID"] E --> R["원고의 인용"] %% @key: E %% @aux: K1, H
이 구분 덕분에 생기는 일들입니다.
- 원고에 옛 키가 남아 있으면 지우거나 다른 항목으로 바꾸지 않고 "예전 키"로 표시합니다. Fix renamed citekey in this note가 미리보기를 거쳐 바꿉니다.
- 두 항목이 같은 키를 가지면 짐작하지 않고 어느 항목인지 묻습니다.
- 문헌 노트를 다른 폴더로 옮기거나 이름을 바꿔도
zoteroID로 찾아 그 자리에서 갱신합니다. - 다른 볼트의 노트도 같은 정체로 찾습니다(여러 볼트 연결).
인덱스는 서재의 사본입니다
Refresh citekey index는 Zotero 서재의 항목 목록을 볼트 안 JSON 파일(기본 References/Zotero/zotero-index.json)에 저장합니다. 이 사본이 인덱스입니다.
| 인덱스를 읽는 일 | 지금의 Zotero가 필요한 일 |
|---|---|
[@ 자동완성, 문제 있는 키 밑줄 |
새 문헌 노트 만들기, 노트 갱신 |
| Check citations, 참고문헌 사이드바의 목록 | 참고문헌 문장 만들기(스타일 렌더링) |
| 자료 선택 창, 필드 검색 | Word kit을 docx로 변환하기 |
| 다른 볼트의 노트 찾기 | 최근 읽은 논문 목록 |
인덱스를 읽는 일은 키를 칠 때마다 Zotero를 부르지 않으므로 빠르고, Zotero가 꺼져 있어도 됩니다. 반대로 방금 Zotero에 넣은 문헌이 자동완성에 없으면 인덱스가 오래된 것입니다. Refresh citekey index를 실행하거나, 설정의 Maximum index age(기본 60분)가 지나 다음 조회 때 다시 만들어질 때까지 기다립니다.
인덱스가 불완전할 때(갱신이 중간에 실패했을 때)는 어떤 키도 "없음"으로 표시하지 않습니다. 모르는 것을 없다고 말하지 않는 것이 원칙입니다.
사람의 문장은 덮어쓰지 않습니다
문헌 노트에는 두 종류의 영역이 섞여 있습니다.
- 관리 구역: 플러그인이
<!-- cmds-zotero:<id>:<해시> -->와<!-- /cmds-zotero:<id> -->표식 사이에 쓰는 부분. 제목과 초록, 참고문헌 문장, 메타데이터와 링크, Zotero 노트, 주석이 여기에 들어갑니다. - 사용자 영역:
## Synthesis와## Notes아래처럼 표식 밖의 모든 곳. 플러그인은 이곳을 읽지도 고치지도 않습니다.
표식 안의 해시는 플러그인이 마지막으로 쓴 내용의 지문입니다. 다시 보낼 때 지문이 맞으면 새 내용으로 바꾸고, 맞지 않으면 사람이 고친 것으로 보고 멈춥니다.
stateDiagram-v2 [*] --> 최신: 처음 가져오기 최신 --> 최신: 다시 보내기 최신 --> 편집됨: 사람이 구역을 고침 편집됨 --> 편집됨: Keep this time 편집됨 --> 분리됨: Detach 편집됨 --> 최신: Reset from Zotero 분리됨 --> [*]
- Keep this time: 이번에는 그대로 둡니다. 다음에 또 묻습니다.
- Detach: 그 블록을 영구히 내 것으로 만듭니다. 다시 렌더링하지 않습니다.
- Reset from Zotero: Zotero 내용으로 되돌립니다. 이전 노트는
.cmds-zotero/backups/notes/에 백업합니다.
frontmatter는 다르게 다룹니다. 처음 만들 때 한 번 쓰고, 그다음부터는 사용자 소유입니다. 갱신은 frontmatter를 건드리지 않으며, 메타데이터를 다시 맞추고 싶을 때만 Refresh frontmatter of current note from Zotero가 줄 단위 미리보기를 거쳐 이미 있는 키만 고칩니다.
Zotero에서 지운 주석의 블록도 노트에서 지우지 않습니다. 그 블록 아래에 써 둔 생각이 있을 수 있기 때문입니다.
인용 표기는 두 가지입니다
| 표기 | 무엇인가 | 쪽수 | 누가 읽나 |
|---|---|---|---|
[@key], [@key, p. 3] |
인용 | 붙일 수 있음 | pandoc, Word kit, 참고문헌 구역, Check citations |
[[@key]] |
문헌 노트로 가는 wikilink | 붙일 수 없음 | Obsidian 그래프, 백링크, 미리보기 |
둘 다 같은 문헌을 가리키고 둘 다 참고문헌 목록에 들어갑니다. 차이는 목적입니다. 원고에서 근거를 대는 자리에는 [@를, 노트끼리 생각을 잇는 자리에는 [[@를 씁니다. 내보낼 때 [[@key]]는 [@key]로 바뀌므로 원고에 섞여 있어도 Word에서는 인용이 됩니다. 다만 쪽수가 필요한 인용은 처음부터 [@로 써야 합니다.
볼트에 쓰는 것과 쓰지 않는 것
플러그인이 볼트에 쓰는 것은 설정, 인덱스, 문헌 노트, 그림 주석 사본, 요청한 내보내기 키트, 그리고 .cmds-zotero/ 아래의 비공개 파일(참고문헌 캐시, 노트 지도, 백업, PDF 텍스트 캐시)입니다. .cmds-zotero/.gitignore를 먼저 만들어 이 폴더가 git에 올라가지 않게 합니다.
볼트 밖에는 쓰지 않습니다. 예외는 사용자가 켜는 선택 설정 하나, 내보내기 키트를 볼트 밖 폴더에 두는 것뿐입니다. 텔레메트리, 자체 서버, 자동 업데이트는 없습니다.