latexindent e comentários finais

latexindent e comentários finais

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 latexindentferramenta 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 perCodeBlockBasisopçã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
}

informação relacionada