제가 임의로 제작한 어도비 인디자인용 스크립트 “인디자인 멍청이 스크립트”에 대해 소개합니다. 인디자인 스크립트 사용 방법이나 설정 방법 등, 관련 정보가 넘쳐나므로 해당 부분은 간략하게 설명하고, 제가 만든 스크립트 자체에 대해서만 설명합니다. 게다가 전문적으로 공부하지 않았기 때문에 코드 작성 방식은 다소 허술합니다. 잘 아는 사람들에게는 웃음거리가 될 정도라고 자부합니다.
커서 위치의 단락을 최소 트래킹으로 한 줄 밀어내는 스크립트
스크립트 개요
저는 기본적으로 ‘단축’ 방식만 사용해 왔고, 글자를 빽빽하게 묶어 줄을 정하는 ‘레이아웃’을 거의 시도한 적이 없습니다. 하지만 최근 새로운 출판사에서 제게 소개한 방식은 기본적으로 ‘단락 마지막 3자까지는 단축 방식을 사용한다’는 레이아웃 규칙(편집자로서, 약한 조정으로 어떻게든 하거나, 최후의 수단은 글을 수정해서 어떻게든 해결하고 싶었지만, 트래킹으로 묶어주는 것은 괜찮다고 하니…). 이렇게 되면, 단락의 마지막 몇 글자가 다음 줄로 흘러넘어졌을 때, 수동으로 트래킹을 “-5”, “-10”, “-15” 등으로 꼼꼼하게 조정하면서 묶는 작업이 발생합니다. 흔히 ‘한 글자 남음’ 또는 ‘두 글자 남음’을 묶어 해결하는 스크립트와 같은 것을, 이제 와서야 만들게 되었습니다. “시각적인 어색함을 최소화하면서, 정확히 1줄 줄이는 딱 적절한 트래킹 값을 한 번에 적용하고 싶다!”라는 생각에, 커서를 둔 단락을 대상으로 줄수가 1줄 줄어드는 최소한의 트래킹 값을 자동으로 탐색하여 적용하는 스크립트입니다.
또한 이 스크립트는 제가 직접 쓴 것을 Gemini를 사용하여 수정하고 있으며, 거의 Gemini가 만든 스크립트입니다.
구체적으로 다음 절차들을 자동화합니다.
- 현재 커서가 위치한 단락(또는 선택된 텍스트의 단락)을 가져옵니다.
- 과다한 설정으로 인한 사고를 방지하기 위해 안전 제한(초기 설정: -100) 범위 내에서 1/1000 em 刻み로 트래킹을 조금씩 감소시켜 나갑니다.
- 문단의 마지막 행에 남아있는 글자 수와 상관없이, 그 행의 글자가 압축되어 원래 행 수에서 1행 감소된 순간의 트래킹 값이 확정됩니다.
- 만약 목표치(-100)에 도달하지 못하고 1행이 줄어들지 않았다면, 억지로 적용하지 말고 원래 추적값을 유지하고 알림을 드리겠습니다.
스크립트 작동
스크립트를 실행하면 커서 위치의 단락에 대해 다음 단계로 처리합니다.
- 대상 단락과 행 수 판정: 텍스트 내 커서 위치를 확인하고, 대상 단락의 행 수를 가져옵니다. 원본에서 1행만 있는 단락의 경우 “더 이상 줄일 수 없습니다”라는 경고를 표시하고 종료합니다.
- 남은 문자 수와 관계없이 마이너스 1행을 처리합니다. 단락의 마지막 행에 남아있는 글자 수가 아무리 적지 않더라도, 그 마지막 행의 글자가 제한까지 처리될 때까지 계속 진행합니다. 즉, “일자 남은”, “이자 남은”으로 판단하는 것이 아니라, 극단적으로 “팔자 남은” 경우에도 1행이 줄어들 때까지 탐색합니다(물론 설정한 제한 범위 내에서 진행합니다).
- 최소 추적 값 자동 탐색: 현재 추적 값에서 설정된 단계 폭(1/1000 em 刻み)으로 점진적으로 음수를 적용하며 단락을 재계산(`recompose()`)하고, 줄 수가 1 줄 씩 줄어들었는지 여부를 판단합니다.
- 안전 제한 내 복원: 설정된 제한 값(`MIN_TRACKING_LIMIT: -100`)까지 밀려도 행 수가 감소하지 않으면, 추적을 원래 값으로 복구하고 경고를 표시하며 안전하게 중단합니다.
- 일괄 취소(되돌림) 지원: 스크립트 전체 처리 내용을 하나의 동작으로 기록하여, 결과가 만족스럽지 않은 경우에도 “⌘+Z” 한 번으로 완전히 이전 상태로 복귀할 수 있습니다.
스크립트 주의사항
본 스크립트는 기본적으로 제가 사용하는 데 문제 없이 작동하도록 제작되었습니다. 사용 중 문제가 발생하더라도 책임은 지지 않으니 양해해 주십시오. 필요하시면 자유롭게 수정해 주세요.
- 스크립트 실행 환경: macOS Sequoia 15.7.9에서 InDesign 2024 (19.5.5)로 동작 확인 중입니다.
- 오류 처리: 문서가 열리지 않았거나 텍스트가 선택되지 않았을 경우에는 1행 이하의 단락일 경우 알림이 표시되고 처리 없이 종료됩니다.
- “스크립트 취소” 처리: 처리 결과가 원하는 대로 나오지 않을 경우에는 (“Command”+Z“(Mac의 경우)를 한 번 누르면 원래대로 되돌릴 수 있습니다.
- 정비한 값(MIN_TRACKING_LIMIT) 조정을 통해 코드 상단의 `MIN_TRACKING_LIMIT: -100` 값을 변경하여 허용 가능한 최대 압축량을 조정할 수 있습니다(예: `-50` 등). 출판사의 규칙이나 취향에 따라 조정해 주십시오.
다운로드
출처: note 원문
번역: Gemma 3(.44) 초벌 + 교정 22청크
원문 보기 | 출처: note.com