자동 LaTeX 코드 형식 지정(clang-format과 유사)

자동 LaTeX 코드 형식 지정(clang-format과 유사)

다음과 같은 도구가 있습니다.clang 형식예를 들어 "추악한"(형식화되지 않은) C++ 소스 코드 파일을 가져와 특정 들여쓰기 및 기타 규칙을 적용하여 코드를 더 읽기 쉽게 만듭니다.

LaTeX 소스 코드를 자동으로 포맷할 수 있는 도구가 있습니까? 나는 LaTeX 파일을 기여자들 사이에서 깨끗하고 일관되게 유지하고 싶습니다.

답변1

도구라텍스인덴트댓글에서 @muzimuzhi-Z가 제안한 것이 저에게 효과적이었습니다. 이 Perl 스크립트는 매우 강력해 보이지만 시작은 쉽습니다.

설치

나는 이미 이전 버전을 갖고 있었지만(아마도 를 통해 texlive-full) 이 프로젝트가 상당히 활발하게 개발되었기 때문에 최신 버전을 받기로 결정했습니다.

  1. 출처는 에서 가져왔습니다공식 저장소 GitHub
  2. 누락된 종속성을 설치했습니다.sudo ./helper-scripts/latexindent-module-installer.pl
  3. 내 경로에 추가했습니다 ~/.bashrc.export PATH="/path/to/latexindent.pl:$PATH"

용법

기본 옵션, 파일 덮어쓰기( -w), 터미널에 복사본을 쓰지 않음( -s):

latexindent.pl -w -s myfile.tex

이렇게 하면 원본 파일 .bak0(또는 .bak1등)의 백업이 유지됩니다. 저장소 *.bak?에 이 내용이 있으면 .gitignore.

yml다음과 같이 파일 에 고유한 서식 스타일을 지정할 수도 있습니다 latexindent.pl -l mysettings.yml myfile.tex.

답변2

emacs(놀랍네요!)는 즉시 사용 가능한 LaTeX 지원 기능과 함께 제공됩니다.많이더 멋진 지원은 AUC-TeX(및 상호 참조 및 참고문헌 인용을 위한 RefTeX)를 제공합니다. 모든 표준 패키지는 패키지 색인을 확인하세요.

어쨌든 나는 LaTeX 소스 파일의 형식을 각 줄에 구두점으로 끝나는 문구를 포함하도록 형식화했습니다.내 논문에 troff(!)를 작성할 때 vi...)를 사용하여 변경한다는 것은 종종 삭제/삽입 또는 줄/줄 이동을 의미하며 "논문", "코끼리" 또는 "논문"과 같은 야유를 확인하는 것을 의미합니다. 사례"는 라인 기반 도구를 사용하여 수행할 수 있습니다(간단한 정규식 교체로 자동화된 수정도 가능). 오늘 나는 그것을 git에 숨겼는데, 형식에는 단어를 추가/삭제해도 단락이 리플로우되지 않으므로 버전 차이가 실제 변경 사항을 강조한다는 추가 이점이 있습니다.

예, 그런 식으로 다시 포맷하는 것은 손으로 해야 하는 자질구레한 일입니다... 하지만 한 번만 하면 됩니다(나중에 계속).

관련 정보