-
LaTeX OCR 및 노션 수식으로 붙여넣기 단축키 설정 (Mac OS)et al/개발편의 2026. 7. 16. 15:12
LaTeX 무료 OCR 오픈소스가 있어서, 설치 및 사용해봤다. 생각외로 성능이 좋아 공유한다.
대략 3초 내외 걸렸다.(컴퓨터 사양에 따라 다를 수 있으므로, 아래 단축키 설정을 하기 전에 먼저 ocr 시간을 확인해볼 것을 추천한다.)
내 컴퓨터 사양: MacBook M1 pro 14inch / 32ram
사전에 설치할 tool: uv, Karabiner-Elements
(uv 대신에 pip로 가능하다.)
아래에서는 영역 캡쳐 + ocr 수행 자동화를
[option + 3] 단축키로 지정하는 예시다.
목차
(1) ocr 및 클립보드 복사 자동화
(2) 노션 수식 붙여넣기 자동화
LaTex ocr - (1) ocr 및 클립보드 복사 자동화
- 오픈소스로 편리하게 단축키 만들기 https://github.com/lukas-blecher/LaTeX-OCR
- uv, Karabiner-Elements 를 활용.
uv tool install "pix2tex[gui]"- “영역 캡처 → LaTex 로 변환 → 클립보드에 복사” 자동화 스크립트 작성
- "~/bin/latexsnip.sh" 로 저장.
- (bin 은 스크립트 저장하는 디렉토리의 관례적 name)
# bin directory 생성 mkdir -p ~/bin # 스크립트 생성 - 아래 스크립트 복사 붙여 넣기. nano ~/bin/latexsnip.sh # 권한 설정 chmod +x ~/bin/latexsnip.sh- ~/bin/latexsnip.sh 의 내용은 아래와 같이 채워준다.(경로 설정 주의하기)
#!/bin/bash TMP="/tmp/latexsnip.png" rm -f "$TMP" /usr/sbin/screencapture -i "$TMP" # 영역 드래그 선택 (ESC로 취소) # 취소된 경우: 파일이 없거나 비어 있으면 조용히 종료 if [ ! -s "$TMP" ]; then rm -f "$TMP" exit 0 fi # 상대경로는 path가 karabiner에 적용되지 않아서, 에러가 발생할 수 있음. 절대경로로 넣기. # ~/.local/bin/pix2tex 디렉토리 위치인데, 절대경로로 바꾸기. {절대경로}/.local/bin/pix2tex "$TMP" 2>/dev/null | sed 's/^.*\.png: //' | tr -> osascript -e 'display notification "LaTeX 복사됨" with title "pix2tex"' rm -f "$TMP"- 스크립트 내에서는 절대경로를 사용할 것. → karabiner를 통해 스크립트를 실행하므로 상대경로 path는 제대로 작동 안할 가능성 있음.
- 위에서 만든 자동화 스크립트 실행 단축키 설정.
- karabiner-elements - Complex Modifications - Add your own rule
- 아래 /User/user 부분을 절대경로에 맞게 바꿀 것.


{ "description": "Option+3 → 수식 캡처 후 LaTeX 복사", "manipulators": [ { "from": { "key_code": "3", "modifiers": { "mandatory": ["option"] } }, "to": [{ "shell_command": "/Users/user/bin/latexsnip.sh" }], "type": "basic" } ] }- 처음 실행시 녹화 권한 요청을 함. 권한 설정 해줘야 작동함. 권한 설정 안 되면 먹통됨.
- “설정 - 개인정보 보호 및 보안 - 화면 및 시스템 오디오 녹음” 에서 아래 두 개 권한 설정할 것.
- karabiner_console_user_server
- Karabiner-Elements

LaTex ocr - (2) 노션 수식 붙여넣기 자동화
- 노션에서 수식 생성 단축키를 활용해서 빠르게 복사 붙여 넣기 위한 단축키 설정. 내부적으로 아래 과정을 순차 실행한다.
- cmd+shift+E : 수식 생성
- cmd+v : 클립보드 붙여넣기
- enter: 수식 편집 완료
- karabiner-elements - Complex Modifications - Add your own rule
- "hold_down_milliseconds"로, 딜레이를 줘야 함(실행 순서 바뀜 예방.)
{ "description": "Notion Inline Equation Paste: Option+Cmd+V → Cmd+Shift+E, Cmd+V, Enter (Notion 인라인 수식)", "manipulators": [ { "from": { "key_code": "v", "modifiers": { "mandatory": ["option", "command"] } }, "to": [ { "hold_down_milliseconds": 70, "key_code": "e", "modifiers": ["left_command", "left_shift"] }, { "hold_down_milliseconds": 20, "key_code": "v", "modifiers": ["left_command"] }, { "key_code": "return_or_enter" } ], "type": "basic" } ] }'et al > 개발편의' 카테고리의 다른 글
Mac mini에서 iPad를 메인 모니터로 쓰는 방법 (1) 2025.06.23 [ubuntu 22.04] 한글 입력모드에서 delete, enter, 방향키 먹통 (6) 2025.04.10 [venv, pyenv, poetry] 윈도우 파이썬 버전 및 가상환경 툴 설치 및 사용법 (0) 2025.01.31 [ubuntu] ubuntu에서 ubuntu 설치 usb 만들기, ubuntu 22.04 설치 (1) 2025.01.09 [oh-my-zsh] ubuntu에서 dracula 테마 적용하기 + Powerlevel10k (0) 2025.01.09