
En las macros tiene sentido poner signos de porcentaje al final de la línea para evitar caracteres de salto de línea en la definición de la macro. Por ejemplo, una macro con una definición de varias líneas podría verse así:
\newcommand{\provideName}[3]{%
\providecommand{#1}{#2}%
\addto\captionsenglish{\renewcommand{#1}{#2}}%
\addto\captionsngerman{\renewcommand{#1}{#3}}%
}
Ahora uso la latexindent
herramienta para formatear mi código automáticamente. Normalmente, esto funciona bastante bien, pero en este caso el código formateado tiene este aspecto:
\newcommand{\provideName}[3]{%
\providecommand{#1}{#2}%
\addto\captionsenglish{\renewcommand{#1}{#2}}%
\addto\captionsngerman{\renewcommand{#1}{#3}}%
}
¿Por qué se generan esas nuevas líneas adicionales? ¿Y cómo puedo desactivar este comportamiento? (Los signos de porcentaje son una práctica común, ¿verdad? ¿O puedo eliminarlos de forma segura?)
localSettings.yaml
defaultIndent: ' '
onlyOneBackUp: 1
modifyLineBreaks:
textWrapOptions:
columns: 78
parámetros de látex
latexindent -w -m --cruft=build --local=./localSettings.yaml myfile.sty
LocalSettings.yaml actualizado
Según lo sugerido por cmhughes, agregué la perCodeBlockBasis
opción para obtener:
defaultIndent: ' '
onlyOneBackUp: 1
modifyLineBreaks:
textWrapOptions:
columns: 78
perCodeBlockBasis: 1
Esto da como resultado el siguiente código en texlive-2017:
\newcommand{\provideName}[3]{%
\providecommand{#1}{#2}%
\addto\captionsenglish{\renewcommand{#1}{#2}}%latexindenttrailingcomment36-EN
D
\addto\captionsngerman{\renewcommand{#1}{#3}}%latexindenttrailingcomment37-EN
D
}