
매크로에서는 매크로 정의에서 줄 바꿈 문자를 피하기 위해 줄 끝에 백분율 기호를 넣는 것이 좋습니다. 예를 들어 여러 줄로 정의된 매크로는 다음과 같습니다.
\newcommand{\provideName}[3]{%
\providecommand{#1}{#2}%
\addto\captionsenglish{\renewcommand{#1}{#2}}%
\addto\captionsngerman{\renewcommand{#1}{#3}}%
}
이제 이 latexindent
도구를 사용하여 코드 형식을 자동으로 지정합니다. 일반적으로 이는 꽤 잘 작동하지만 이 경우 형식화된 코드는 다음과 같습니다.
\newcommand{\provideName}[3]{%
\providecommand{#1}{#2}%
\addto\captionsenglish{\renewcommand{#1}{#2}}%
\addto\captionsngerman{\renewcommand{#1}{#3}}%
}
추가 줄 바꿈이 생성되는 이유는 무엇입니까? 그리고 이 동작을 어떻게 끌 수 있나요? (퍼센트 기호는 일반적인 관행이죠? 아니면 안전하게 제거할 수 있나요?)
localSettings.yaml
defaultIndent: ' '
onlyOneBackUp: 1
modifyLineBreaks:
textWrapOptions:
columns: 78
라텍스 매개변수
latexindent -w -m --cruft=build --local=./localSettings.yaml myfile.sty
localSettings.yaml을 업데이트했습니다.
cmhughes가 제안한 대로 다음을 얻을 수 있는 옵션을 추가했습니다 perCodeBlockBasis
.
defaultIndent: ' '
onlyOneBackUp: 1
modifyLineBreaks:
textWrapOptions:
columns: 78
perCodeBlockBasis: 1
결과적으로 texlive-2017 아래에 다음 코드가 생성됩니다.
\newcommand{\provideName}[3]{%
\providecommand{#1}{#2}%
\addto\captionsenglish{\renewcommand{#1}{#2}}%latexindenttrailingcomment36-EN
D
\addto\captionsngerman{\renewcommand{#1}{#3}}%latexindenttrailingcomment37-EN
D
}