latexindent.pl:缩进类似于 C 风格语言的括号块

latexindent.pl:缩进类似于 C 风格语言的括号块

假设我有以下代码清单:

font/lm/.code={
\RequirePackage{fix-cm}
\RequirePackage[rm={lining=true}]{cfr-lm}
\RequirePackage{amsfonts, amssymb}
% Define tabular-lining figures and oldstyle windows
\providerobustcmd{\tablining}{\tlstyle}
\providerobustcmd{\propold}{\postyle}
% Define bold small caps for AC and other header labels
\providerobustcmd{\labelstyle}[#1]{}
% Define title style
\providerobustcmd{}[]{}
\RequirePackage{inconsolata}
},

latexindent.pl使用指定的默认选项运行此文件defaultSettings.yaml将得到以下结果:

font/lm/.code={
        \RequirePackage{fix-cm}
        \RequirePackage[rm={lining=true}]{cfr-lm}
        \RequirePackage{amsfonts, amssymb}
        % Define tabular-lining figures and oldstyle windows
        \providerobustcmd{\tablining}{\tlstyle}
        \providerobustcmd{\propold}{\postyle}
        % Define bold small caps for AC and other header labels
        \providerobustcmd{\labelstyle}[#1]{}
        % Define title style
        \providerobustcmd{}[]{}
        \RequirePackage{inconsolata}
    },

理想情况下,我希望右括号的缩进}位于同一水平作为font/lm/...行,以及括号内的参数,即各个\RequirePackages 和providerobustcmd{}...要缩进四个空格,类似于 C 风格语言的函数体:

int main() {
    // code
}

tikzpicture当然,我也想将其扩展到可选参数——这在排版/环境时特别有用pgfplots,因为方括号内很容易有数十个参数。

答案1

在摆弄了设置的不同排列之后defaultSettings.yaml,我得到了以下代码段,它完全按照预期工作:大括号不缩进,正文代码按规定缩进(预期缩进的文字游戏并非预期)。

# set noAdditionalIndent globally for codeblocks
noAdditionalIndentGlobal:
    environments: 0
    commands: 1
    optionalArguments: 0
    mandatoryArguments: 0
    ifElseFi: 0
    items: 0
    keyEqualsValuesBracesBrackets: 1
    namedGroupingBracesBrackets: 1
    UnNamedGroupingBracesBrackets: 1
    specialBeginEnd: 0
    afterHeading: 0
    filecontents: 0

说实话,我不太确定为什么这有效,但确实如此。我会查阅手册并在可以的时候发布更新。

相关内容