ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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 및 클립보드 복사 자동화

    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) 노션 수식 붙여넣기 자동화

    • 노션에서 수식 생성 단축키를 활용해서 빠르게 복사 붙여 넣기 위한 단축키 설정. 내부적으로 아래 과정을 순차 실행한다.
      1. cmd+shift+E : 수식 생성
      2. cmd+v : 클립보드 붙여넣기
      3. 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"
            }
        ]
    }

     

    댓글

Designed by Tistory.