latexindent 的压痕行为出乎意料

latexindent 的压痕行为出乎意料

我有以下文件,它是我的一个自定义类的一部分:

% actual latexindent output:
\DeclareDocumentCommand {\chapterformat}  { } { \thechapter }
 \DeclareDocumentCommand {\sectionformat} { } {\thesection}
  \DeclareDocumentCommand \subsectionformat { } {\thesubsection}
    \DeclareDocumentCommand \subsubsectionformat {} {\thesubsubsection}
    \DeclareDocumentCommand \paragraphformat {} {\theparagraph}
    \DeclareDocumentCommand \subparagraphformat {} {\thesubparagraph}

您在此处看到的源代码是运行后的确切输出latexindent。然而,我期望得到如下输出

% expected latexindent output:
\DeclareDocumentCommand {\chapterformat}  { } { \thechapter }
\DeclareDocumentCommand {\sectionformat} { } {\thesection}
\DeclareDocumentCommand \subsectionformat { } {\thesubsection}
\DeclareDocumentCommand \subsubsectionformat {} {\thesubsubsection}
\DeclareDocumentCommand \paragraphformat {} {\theparagraph}
\DeclareDocumentCommand \subparagraphformat {} {\thesubparagraph}

显然,latexindent根据我的配置,这里应用了缩进分段命令的规则:

# from latexindentconfig.yaml
indentAfterHeadings:
    part:
       indentAfterThisHeading: 0
       level: 1
    chapter:
       indentAfterThisHeading: 1
       level: 2
    section:
       indentAfterThisHeading: 1
       level: 4
    subsection:
       indentAfterThisHeading: 1
       level: 8
    subsection*:
       indentAfterThisHeading: 0
       level: 9
    subsubsection:
       indentAfterThisHeading: 0
       level: 10
    paragraph:
       indentAfterThisHeading: 0
       level: 11
    subparagraph:
       indentAfterThisHeading: 0
       level: 12

我喜欢缩进部分,但不喜欢缩进定义,我感觉我从来没被告知latexindent要缩进我的定义。显然,我的期望和实际功能之间存在差距。

现在的问题是:我如何告诉latexindent不要应用于分段命令的定义?

答案1

我有以下文件,它是我的一个自定义类的一部分

鉴于这是类文件的一部分,我建议indentAfterHeadings关闭

latexindent.yaml

indentAfterHeadings:
    chapter:
       indentAfterThisHeading: 0
    section:
       indentAfterThisHeading: 0
    subsection:
       indentAfterThisHeading: 0

然后运行

latexindent.pl -l myfile.tex

如果你想将yaml文件命名为其他名称,marc.yaml那么你可以调用

latexindent.pl -l marc.yaml myfile.tex

相关内容