Zotero와 함께 쓰는 링크 자동 복사 스크립트 설정 방법
요즘 들어 논문을 읽고 어떻게 정리할지에 대한 고민을 하면서, 논문을 읽으며 하는 메모와 논문 원본 파일 등을 어떻게 하면 유기적으로 정리할까에 대한 아이디어를 구상해보았다. 핵심은 논문을 읽으며 하는 메모는 텍스트 파일로 적고 정리하되, 논문 PDF 파일은 바이너리 파일이므로 따로 저장하는 방식을 쓰는 것이다. 그러면 이런 서로 다른 형태의 파일들의 유기적 연결은 어떻게 할까? 텍스트 파일에 링크를 넣어두면 해결 되는 것이다.
요약하면, 내가 만드는 메모는 zettlr를 이용해서 마크다운 파일에 하고, PDF 파일은 zotero의 저장 공간에 링크만 걸어서 유기성을 확보하는 것이다.
이 때 연결 고리로 Zotero 웹 링크를 사요할 수도 있지만, 이건 어플리케이션에서 직접 논문 항목을 여는 데는 무용지물이다. 내가 필요한 건 Zotero에서 특정 논문을 선택하고 바로 "Zotero 앱에서 열 수 있는 링크"를 만들어서 클립보드에 복사해주는 기능. 그래서 메모에 [이 논문 보기](zotero://...)
형태로 붙여놓고, 클릭하면 Zotero가 열리도록 말이다.
결국 이 기능을 구현할 수 있는 방법을 찾았고, 만족스럽게 활용 중이다. 이 글은 그 과정을 정리한 것이다. 비슷한 고민을 하는 분들께 도움이 되기를.
1. Zotero에서 직접 열리는 링크란?
Zotero는 zotero://select/library/items/XXXX
형태의 URI 스킴을 제공한다. 이를 통해 외부 앱(Obsidian, Zettlr 등)에서 이 링크를 클릭하면, Zotero 데스크톱 앱이 자동으로 열리고 해당 항목을 하이라이트해준다.
단점은 이 링크를 자동으로 생성해주는 기본 기능이 없다는 점이다. 대신 플러그인과 스크립트를 조합하면 가능하다.
2. 준비물: 플러그인 설치
필수 플러그인: Actions & Tags
Zotero 버전 7 부터는 이 플러그인을 사용하는게 논문 별 URI 생성에 좋다
- Zotero Actions & Tags GitHub 페이지에서
.xpi
파일을 내려받는다. - Zotero 데스크톱 앱에서 메뉴 바 →
Tools
→Plugins
→ 우측 상단 톱니바퀴 →Install Plugin From File
선택 - 다운로드한
.xpi
파일을 선택하면 설치된다. - Zotero를 재시작한다. (생략해도 됨)
3. 스크립트 설정
설정 방법:
Edit
→Settings
→Actions & Tags
탭으로 이동+
버튼 클릭 → 다음 항목을 채운다:- Operation:
Script
- 필요하다면 Shortcut: 단축키 지정 (예:
Ctrl+Alt+C
) - Menu Label: 예:
Copy Item Link
(이걸 채워야 논문 우클릭으로 스크립트 실행이 가능)
- Operation:
아래 스크립트 입력: (스크립트 출처: https://github.com/windingwind/zotero-actions-tags/discussions/115)
// @author windingwind
// @usage Select an item in the library and press the assigned shortcut keys
// @update 2025-07-21
let linkTextField = "title";
let linkType = "md";
let useColl = false;
if (!item) return "[Copy Item Link] item is empty";
const uriParts = ["zotero://select"];
let libraryType = item.library.libraryType;
if (libraryType === "user") {
uriParts.push("library");
} else {
uriParts.push(`groups/${Zotero.Libraries.get(item.libraryID).groupID}`);
}
if (useColl) {
let coll = Zotero.getActiveZoteroPane().getSelectedCollection();
if (coll) {
uriParts.push(`collections/${coll.key}`);
}
}
uriParts.push(`items/${item.key}`);
let uri = uriParts.join("/");
let linkText = item.getField(linkTextField);
const clipboard = new Zotero.ActionsTags.api.utils.ClipboardHelper();
if (linkType === "html") {
clipboard.addText(`<a href="${uri}">${linkText}</a>`, "text/unicode");
} else if (linkType === "md") {
clipboard.addText(`[${linkText}](${uri})`, "text/unicode");
} else {
clipboard.addText(uri, "text/unicode");
}
clipboard.copy();
return `[Copy Item Link] item link copied: ${uri}`;
4. 활용법: Zettlr, Obsidian 등에서의 연동
이제 Zotero에서 논문을 하나 선택하고, 위에서 설정한 단축키를 누르면, [논문 제목](zotero://select/library/items/XXXX)
형태의 Markdown 링크가 클립보드에 복사된다. Obsidian, Zettlr 등에 그대로 붙여 넣기만 하면 된다. 클릭하면 Zotero 앱이 열리고 해당 논문이 바로 표시된다.
'소소한 일상. 다요리.' 카테고리의 다른 글
윈도우 11에서 프로그램 실행 단축키 설정하기 (1) | 2025.04.08 |
---|---|
옵시디언(obsidian)과 유사한 제틀러(zettlr) (1) | 2024.10.30 |
윈도우 11에서 탐색기의 원드라이브(OneDrive) 삭제 (0) | 2024.10.29 |
윈도우에서 터미널 설정 (2) | 2024.10.17 |
윈도우(Windows)에 레이텍(LaTex) 환경 설치 (1) | 2024.10.02 |
파워 포인트에서 스피커 노트 (대본) 글자 크기 변경 (0) | 2024.05.11 |
레이텍(LaTeX)에서 수정 한 곳 강조 방법: 하이라이트(\hl) 재정의 (0) | 2024.02.20 |
해외 호텔 방문 경험 (2016~2018) (0) | 2024.02.15 |