
Nas macros, faz sentido colocar sinais de porcentagem no final da linha para evitar caracteres de quebra de linha na definição da macro. Por exemplo, uma macro com uma definição multilinha poderia ter esta aparência:
\newcommand{\provideName}[3]{%
\providecommand{#1}{#2}%
\addto\captionsenglish{\renewcommand{#1}{#2}}%
\addto\captionsngerman{\renewcommand{#1}{#3}}%
}
Agora uso a latexindent
ferramenta para formatar meu código automaticamente. Normalmente, isso funciona muito bem, mas neste caso o código formatado se parece com:
\newcommand{\provideName}[3]{%
\providecommand{#1}{#2}%
\addto\captionsenglish{\renewcommand{#1}{#2}}%
\addto\captionsngerman{\renewcommand{#1}{#3}}%
}
Por que essas novas linhas extras são geradas? E como posso desligar esse comportamento? (Os sinais de porcentagem são uma prática comum, certo? Ou posso removê-los com segurança?)
localSettings.yaml
defaultIndent: ' '
onlyOneBackUp: 1
modifyLineBreaks:
textWrapOptions:
columns: 78
parâmetros latexindent
latexindent -w -m --cruft=build --local=./localSettings.yaml myfile.sty
LocalSettings.yaml atualizado
Conforme sugerido por cmhughes, adicionei a perCodeBlockBasis
opção de obter:
defaultIndent: ' '
onlyOneBackUp: 1
modifyLineBreaks:
textWrapOptions:
columns: 78
perCodeBlockBasis: 1
Isso resulta no seguinte código em texlive-2017:
\newcommand{\provideName}[3]{%
\providecommand{#1}{#2}%
\addto\captionsenglish{\renewcommand{#1}{#2}}%latexindenttrailingcomment36-EN
D
\addto\captionsngerman{\renewcommand{#1}{#3}}%latexindenttrailingcomment37-EN
D
}