1

Add latex config .indentsettings.yaml

This commit is contained in:
2023-02-06 17:07:26 +01:00
parent a9c3bea89f
commit 78cb9db250

View File

@ -1,28 +1,29 @@
# defaultSettings.yaml for latexindent.pl, version 3.8.1, 2020-05-05 # defaultSettings.yaml for latexindent.pl, version 3.19.1, 2022-12-04
# a script that aims to # a script that aims to
# beautify .tex, .sty, .cls files # beautify .tex, .sty, .cls files
# #
# (or latexindent.exe if you're on Windows) # (or latexindent.exe if you're on Windows)
# #
#---------------------------------------------------------------------------------------
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# See http://www.gnu.org/licenses/. # See http://www.gnu.org/licenses/.
# #
# Chris Hughes, 2017 # Chris Hughes, 2017
# #
# For all communication, please visit: https://github.com/cmhughes/latexindent.pl # For all communication, please visit: https://github.com/cmhughes/latexindent.pl
#
#---------------------------------------------------------------------------------------
# You should feel encouraged to change anything you like in these settings, but # You should feel encouraged to change anything you like in these settings, but
# it would probably be better to have your own user settings # it would probably be better to have your own user settings
# files somewhere else - remember that this file may be overwritten # files somewhere else - remember that this file may be overwritten
# when you update your tex distribution. Please see the manual linked from: # when you update your tex distribution. Please see the manual linked from:
# #
@ -31,8 +32,10 @@
# for details of how to create and configure your own settings files. # for details of how to create and configure your own settings files.
# #
# Please read the manual (linked from above) first to understand what each switch does. # Please read the manual (linked from above) first to understand what each switch does.
#
#---------------------------------------------------------------------------------------
# latexindent can be called to act on a file without using the file's extension, # latexindent can be called to act on a file without using the file's extension,
# e.g, simply # e.g, simply
# latexindent myfile # latexindent myfile
# in which case the choice of file extension is chosen # in which case the choice of file extension is chosen
@ -47,13 +50,13 @@ fileExtensionPreference:
# default file extension of backup file (if -w switch is active) # default file extension of backup file (if -w switch is active)
# for example, if your .tex file is called # for example, if your .tex file is called
# myfile.tex # myfile.tex
# and you specify the backupExtension as BACKUP.bak then your # and you specify the backupExtension as BACKUP.bak then your
# backup file will be # backup file will be
# myfileBACKUP.bak # myfileBACKUP.bak
backupExtension: .bak backupExtension: .bak
# only one backup per file: # only one backup per file:
# - if onlyOneBackUp is 0 then, as a safety measure, # - if onlyOneBackUp is 0 then, as a safety measure,
# the number on the extension increments by 1 each time: # the number on the extension increments by 1 each time:
# #
# myfile.bak0, myfile.bak1, myfile.bak2 # myfile.bak0, myfile.bak1, myfile.bak2
@ -61,16 +64,16 @@ backupExtension: .bak
# be overwritten each time (not recommended until you trust the script) # be overwritten each time (not recommended until you trust the script)
onlyOneBackUp: 0 onlyOneBackUp: 0
# some users may want a finite number of backup files, # some users may want a finite number of backup files,
# say at most 3; in which case, they can change this maxNumberOfBackUps. # say at most 3; in which case, they can change this maxNumberOfBackUps.
# #
# If maxNumberOfBackUps is set to 0 (or less) then infinitely # If maxNumberOfBackUps is set to 0 (or less) then infinitely
# many backups are possible, unless onlyOneBackUp is switched on # many backups are possible, unless onlyOneBackUp is switched on
maxNumberOfBackUps: 0 maxNumberOfBackUps: 0
# some users may wish to cycle through back up files. # some users may wish to cycle through back up files.
# #
# for example, with maxNumberOfBackUps: 4, they may # for example, with maxNumberOfBackUps: 4, they may
# wish to delete the oldest back up file, and keep only the most recent. # wish to delete the oldest back up file, and keep only the most recent.
# #
# copy myfile.bak1 to myfile.bak0 # copy myfile.bak1 to myfile.bak0
@ -87,37 +90,37 @@ logFilePreferences:
showAmalgamatedSettings: 0 showAmalgamatedSettings: 0
showDecorationStartCodeBlockTrace: 0 showDecorationStartCodeBlockTrace: 0
showDecorationFinishCodeBlockTrace: 0 showDecorationFinishCodeBlockTrace: 0
endLogFileWith: '--------------' endLogFileWith: '--------------'
showGitHubInfoFooter: 1 showGitHubInfoFooter: 1
PatternLayout: Dumper:
default: "%A%n" Terse: 1
trace: "%A%n" Indent: 1
ttrace: "%A%n" Useqq: 1
Deparse: 1
Quotekeys: 0
Sortkeys: 1
Pair: " => "
# verbatim environments specified # verbatim environments specified
# in this field will not be changed at all! # in this field will not be changed at all!
verbatimEnvironments: verbatimEnvironments:
verbatim: 1 verbatim: 1
lstlisting: 1 lstlisting: 1
minted: 1 minted: 1
codeblock: 1 # BSuSP Thesis Listing
# verbatim commands such as \verb! body !, \lstinline$something else$ # verbatim commands such as \verb! body !, \lstinline$something else$
verbatimCommands: verbatimCommands:
verb: 1 verb: 1
lstinline: 1 lstinline: 1
# no indent blocks (not necessarily verbatim # no indent blocks (not necessarily verbatim
# environments) which are marked as %\begin{noindent} # environments) which are marked as %\begin{noindent}
# or anything else that you detail in the following # or anything else that you detail in the following
noIndentBlock: noIndentBlock:
noindent: 1 noindent: 1
cmhtest: 1 cmhtest: 1
# remove trailing whitespace from all lines
removeTrailingWhitespace:
beforeProcessing: 0
afterProcessing: 1
# \begin{document} and \end{document} are treated differently # \begin{document} and \end{document} are treated differently
# by latexindent within filecontents environments # by latexindent within filecontents environments
fileContentsEnvironments: fileContentsEnvironments:
@ -142,12 +145,16 @@ lookForPreamble:
preambleCommandsBeforeEnvironments: 0 preambleCommandsBeforeEnvironments: 0
# default value of indentation # default value of indentation
# defaultIndent: "\t" defaultIndent: " " # Changed from \t to double space
defaultIndent: " "
# remove trailing whitespace from all lines
removeTrailingWhitespace:
beforeProcessing: 0
afterProcessing: 1
# name of code blocks that should have their body aligned at ampersand delimiters # name of code blocks that should have their body aligned at ampersand delimiters
lookForAlignDelims: lookForAlignDelims:
tabular: tabular:
delims: 1 delims: 1
alignDoubleBackSlash: 1 alignDoubleBackSlash: 1
spacesBeforeDoubleBackSlash: 1 spacesBeforeDoubleBackSlash: 1
@ -160,27 +167,63 @@ lookForAlignDelims:
dontMeasure: 0 dontMeasure: 0
delimiterRegEx: '(?<!\\)(&)' delimiterRegEx: '(?<!\\)(&)'
delimiterJustification: left delimiterJustification: left
lookForChildCodeBlocks: 1
tabularx: tabularx:
delims: 1 delims: 1
longtable: 1 longtable: 1
tabu: 1 tabu: 1
array: 1 array: 1
matrix: 1 matrix: 1
bmatrix: 1 listabla: 1
Bmatrix: 1 # amsmath
pmatrix: 1
vmatrix: 1
Vmatrix: 1
align: 1 align: 1
align*: 1 align*: 1
alignat: 1 alignat: 1
alignat*: 1 alignat*: 1
aligned: 1 aligned: 1
bmatrix: 1
Bmatrix: 1
cases: 1 cases: 1
flalign: 1
flalign*: 1
pmatrix: 1
vmatrix: 1
Vmatrix: 1
# mathtools
cases*: 1
dcases: 1 dcases: 1
listabla: 1 dcases*: 1
rcases: 1
rcases*: 1
drcases: 1
drcases*: 1
# nicematrix
NiceTabular: 1
NiceMatrix: 1
pNiceMatrix: 1
bNiceMatrix: 1
BNiceMatrix: 1
vNiceMatrix: 1
VNiceMatrix: 1
NiceArray: 1
pNiceArrayC: 1
bNiceArrayC: 1
BNiceArrayC: 1
vNiceArrayC: 1
VNiceArrayC: 1
NiceArrayCwithDelims: 1
pNiceArrayRC: 1
bNiceArrayRC: 1
BNiceArrayRC: 1
vNiceArrayRC: 1
VNiceArrayRC: 1
NiceArrayRCwithDelims: 1
# tabularray
tblr: 1
longtblr: 1
talltblr: 1
# if you want the script to look for \item commands # if you want the script to look for \item commands
# and format it, as follows (for example), # and format it, as follows (for example),
# \begin{itemize} # \begin{itemize}
# \item content here # \item content here
@ -191,13 +234,16 @@ lookForAlignDelims:
# then populate indentAfterItems. See also itemNames # then populate indentAfterItems. See also itemNames
indentAfterItems: indentAfterItems:
itemize: 1 itemize: 1
itemize*: 1
enumerate: 1 enumerate: 1
enumerate*: 1
description: 1 description: 1
description*: 1
list: 1 list: 1
# if you want to use other names for your items (for example, \part) # if you want to use other names for your items (for example, \part)
# then populate them here; note that you can trick latexindent.pl # then populate them here; note that you can trick latexindent.pl
# into indenting all kinds of commands (within environments specified in # into indenting all kinds of commands (within environments specified in
# indentAfterItems) using this technique. # indentAfterItems) using this technique.
itemNames: itemNames:
item: 1 item: 1
@ -222,17 +268,17 @@ specialBeginEnd:
# if you want to add indentation after # if you want to add indentation after
# a heading, such as \part, \chapter, etc # a heading, such as \part, \chapter, etc
# then populate it in here - you can add # then populate it in here - you can add
# an indent rule to indentRules if you would # an indent rule to indentRules if you would
# like something other than defaultIndent # like something other than defaultIndent
# #
# you can also change the level if you like, # you can also change the level if you like,
# or add your own title command # or add your own title command
indentAfterHeadings: indentAfterHeadings:
part: part:
indentAfterThisHeading: 0 indentAfterThisHeading: 0
level: 1 level: 1
chapter: chapter:
indentAfterThisHeading: 0 indentAfterThisHeading: 0
level: 2 level: 2
section: section:
@ -257,9 +303,9 @@ indentAfterHeadings:
# maximum indentation, off by default # maximum indentation, off by default
maximumIndentation: -1 maximumIndentation: -1
# if you don't want to have additional indentation # if you don't want to have additional indentation
# in a code block, then add it to noAdditionalIndent; note that # in a code block, then add it to noAdditionalIndent; note that
# code blocks in this field will inherit # code blocks in this field will inherit
# the *current* level of indentation they just won't # the *current* level of indentation they just won't
# get any *additional* indentation # get any *additional* indentation
noAdditionalIndent: noAdditionalIndent:
@ -275,7 +321,7 @@ noAdditionalIndent:
frame: 0 frame: 0
# if you have indent rules for particular code blocks # if you have indent rules for particular code blocks
# then you can populate them in indentRules; for example, you might just want # then you can populate them in indentRules; for example, you might just want
# to use a space " " or maybe a double tab "\t\t" # to use a space " " or maybe a double tab "\t\t"
indentRules: indentRules:
myenvironment: "\t\t" myenvironment: "\t\t"
@ -300,7 +346,7 @@ noAdditionalIndentGlobal:
afterHeading: 0 afterHeading: 0
filecontents: 0 filecontents: 0
# set indentRules globally for codeblocks; these need # set indentRules globally for codeblocks; these need
# to be horizontal spaces, if they are to be used # to be horizontal spaces, if they are to be used
indentRulesGlobal: indentRulesGlobal:
environments: 0 environments: 0
@ -320,7 +366,7 @@ indentRulesGlobal:
commandCodeBlocks: commandCodeBlocks:
roundParenthesesAllowed: 1 roundParenthesesAllowed: 1
stringsAllowedBetweenArguments: stringsAllowedBetweenArguments:
- -
amalgamate: 1 amalgamate: 1
- 'node' - 'node'
- 'at' - 'at'
@ -328,128 +374,133 @@ commandCodeBlocks:
- 'decoration' - 'decoration'
- '\+\+' - '\+\+'
- '\-\-' - '\-\-'
- '\#\#\d'
commandNameSpecial: commandNameSpecial:
- -
amalgamate: 1 amalgamate: 1
- '@ifnextchar\[' - '@ifnextchar\['
# modifyLineBreaks will only be searched if the -m # change dos line breaks into unix
dos2unixlinebreaks: 0
# modifyLineBreaks will only be searched if the -m
# switch is active # switch is active
# #
# poly-switch examples: # poly-switch examples:
# #
# BeginStartsOnOwnLine: # BeginStartsOnOwnLine:
# modify line breaks before a begin statement # modify line breaks before a begin statement
# #
# when set to -1, e.g # when set to -1, e.g
# some text some text # some text some text
# \begin{myenvironment} # \begin{myenvironment}
# will be changed to # will be changed to
# some text some text \begin{myenvironment} # some text some text \begin{myenvironment}
# when set to 0, the switch is ignored # when set to 0, the switch is ignored
# when set to 1, e.g # when set to 1, e.g
# some text some text \begin{myenvironment} # some text some text \begin{myenvironment}
# will be changed to # will be changed to
# some text some text # some text some text
# \begin{myenvironment} # \begin{myenvironment}
# when set to 2, e.g # when set to 2, e.g
# some text some text \begin{myenvironment} # some text some text \begin{myenvironment}
# will be changed to # will be changed to
# some text some text% # some text some text%
# \begin{myenvironment} # \begin{myenvironment}
# when set to 3, e.g # when set to 3, e.g
# some text some text \begin{myenvironment} # some text some text \begin{myenvironment}
# will be changed to # will be changed to
# some text some text # some text some text
# #
# \begin{myenvironment} # \begin{myenvironment}
# #
# BodyStartsOnOwnLine: # BodyStartsOnOwnLine:
# modify line breaks before the beginning of the body # modify line breaks before the beginning of the body
# #
# when set to -1, e.g # when set to -1, e.g
# \begin{myenv} # \begin{myenv}
# body text body text # body text body text
# will be changed to # will be changed to
# \begin{myenv}body text body text # \begin{myenv}body text body text
# when set to 0, the switch is ignored # when set to 0, the switch is ignored
# when set to 1, e.g # when set to 1, e.g
# \begin{myenv}body text body text # \begin{myenv}body text body text
# will be changed to # will be changed to
# \begin{myenv} # \begin{myenv}
# body text body text # body text body text
# when set to 2, e.g # when set to 2, e.g
# \begin{myenv}body text body text # \begin{myenv}body text body text
# will be changed to # will be changed to
# \begin{myenv}% # \begin{myenv}%
# body text body text # body text body text
# when set to 3, e.g # when set to 3, e.g
# \begin{myenv}body text body text # \begin{myenv}body text body text
# will be changed to # will be changed to
# \begin{myenv} # \begin{myenv}
# #
# body text body text # body text body text
# #
# EndStartsOnOwnLine: # EndStartsOnOwnLine:
# modify line breaks before the end statement # modify line breaks before the end statement
# #
# when set to -1, e.g # when set to -1, e.g
# some text some text # some text some text
# \end{myenvironment} # \end{myenvironment}
# will be changed to # will be changed to
# some text some text \end{myenvironment} # some text some text \end{myenvironment}
# when set to 0, the switch is ignored # when set to 0, the switch is ignored
# when set to 1, e.g # when set to 1, e.g
# some text some text \end{myenvironment} # some text some text \end{myenvironment}
# will be changed to # will be changed to
# some text some text # some text some text
# \end{myenvironment} # \end{myenvironment}
# when set to 2, e.g # when set to 2, e.g
# some text some text \end{myenvironment} # some text some text \end{myenvironment}
# will be changed to # will be changed to
# some text some text% # some text some text%
# \end{myenvironment} # \end{myenvironment}
# when set to 3, e.g # when set to 3, e.g
# some text some text \end{myenvironment} # some text some text \end{myenvironment}
# will be changed to # will be changed to
# some text some text # some text some text
# #
# \end{myenvironment} # \end{myenvironment}
# #
# EndFinishesWithLineBreak: # EndFinishesWithLineBreak:
# modify line breaks after the end statement # modify line breaks after the end statement
# #
# when set to -1, e.g # when set to -1, e.g
# \end{myenvironment} # \end{myenvironment}
# some text some text # some text some text
# will be changed to # will be changed to
# \end{myenvironment}some text some text # \end{myenvironment}some text some text
# when set to 0, the switch is ignored # when set to 0, the switch is ignored
# when set to 1, e.g # when set to 1, e.g
# \end{myenvironment}some text some text # \end{myenvironment}some text some text
# will be changed to # will be changed to
# \end{myenvironment} # \end{myenvironment}
# some text some text # some text some text
# when set to 2, e.g # when set to 2, e.g
# \end{myenvironment}some text some text # \end{myenvironment}some text some text
# will be changed to # will be changed to
# \end{myenvironment}% # \end{myenvironment}%
# some text some text # some text some text
# when set to 3, e.g # when set to 3, e.g
# \end{myenvironment}some text some text # \end{myenvironment}some text some text
# will be changed to # will be changed to
# \end{myenvironment} # \end{myenvironment}
# #
# some text some text # some text some text
# #
# you can specify settings on a per-name basis # you can specify settings on a per-name basis
modifyLineBreaks: modifyLineBreaks:
preserveBlankLines: 1 preserveBlankLines: 1
condenseMultipleBlankLinesInto: 1 condenseMultipleBlankLinesInto: 1
oneSentencePerLine: oneSentencePerLine:
manipulateSentences: 0 manipulateSentences: 0 # enable oneSentencePerLine
removeSentenceLineBreaks: 1 removeSentenceLineBreaks: 1
textWrapSentences: 0 multipleSpacesToSingle: 1
textWrapSentences: 0 # setting to 1 disables main textWrap routine
sentenceIndent: "" sentenceIndent: ""
sentencesFollow: sentencesFollow:
par: 1 par: 1
@ -471,47 +522,30 @@ modifyLineBreaks:
questionMark: 1 questionMark: 1
other: 0 other: 0
textWrapOptions: textWrapOptions:
columns: 100 columns: 100 # Changed from 0, requires -m option
multipleSpacesToSingle: 1
removeBlockLineBreaks: 1
blocksFollow:
headings: 1
commentOnPreviousLine: 1
par: 1
blankLine: 1
verbatim: 1
filecontents: 1
other: '\\\]|\\item(?:\h|\[)' # regex
blocksBeginWith:
A-Z: 1
a-z: 1
0-9: 0
other: '\\textbf' # regex
blocksEndBefore:
commentOnOwnLine: 1
verbatim: 1
filecontents: 1
other: '\\begin\{|\\\[|\\end\{' # regex
huge: overflow # forbid mid-word line breaks
separator: "" separator: ""
perCodeBlockBasis: 0 # poly-switches below here
all: 0
alignAtAmpersandTakesPriority: 1
environments:
quotation: 0
ifElseFi: 0
optionalArguments: 0
mandatoryArguments: 0
items: 0
specialBeginEnd: 0
afterHeading: 0
preamble: 0
filecontents: 0
masterDocument: 0
removeParagraphLineBreaks:
all: 0
beforeTextWrap: 0
alignAtAmpersandTakesPriority: 1
environments:
quotation: 0
ifElseFi: 0
optionalArguments: 0
mandatoryArguments: 0
items: 0
specialBeginEnd: 0
afterHeading: 0
preamble: 0
filecontents: 0
masterDocument: 0
paragraphsStopAt:
environments: 1
verbatim: 1
commands: 0
ifElseFi: 0
items: 0
specialBeginEnd: 0
heading: 0
filecontents: 0
comments: 0
environments: environments:
BeginStartsOnOwnLine: 0 BeginStartsOnOwnLine: 0
BodyStartsOnOwnLine: 0 BodyStartsOnOwnLine: 0
@ -574,35 +608,66 @@ modifyLineBreaks:
# replacements, only active when either -r or -rr switches are active # replacements, only active when either -r or -rr switches are active
replacements: replacements:
- -
amalgamate: 1 amalgamate: 1
- -
this: 'latexindent.pl' this: 'latexindent.pl'
that: 'pl.latexindent' that: 'pl.latexindent'
lookForThis: 1 lookForThis: 0
when: before when: before
# fineTuning allows you to tweak the internal pattern matching that # fineTuning allows you to tweak the internal pattern matching that
# is central to latexindent.pl # is central to latexindent.pl
fineTuning: fineTuning:
environments: environments:
name: '[a-zA-Z@\*0-9_\\]+' name: '[a-zA-Z@\*0-9_\\]+'
ifElseFi: ifElseFi:
name: '@?if[a-zA-Z@]*?' name: '(?!@?if[a-zA-Z@]*?\{)@?if[a-zA-Z@]*?'
commands: commands:
name: '[+a-zA-Z@\*0-9_\:]+?' name: '[+a-zA-Z@\*0-9_\:]+?'
items:
canBeFollowedBy: '(?:\[[^]]*?\])|(?:<[^>]*?>)'
keyEqualsValuesBracesBrackets: keyEqualsValuesBracesBrackets:
name: '[a-zA-Z@\*0-9_\/.\h\{\}:\#-]+?' name: '[a-zA-Z@\*0-9_\/.:\#-]+[a-zA-Z@\*0-9_\/.\h\{\}:\#-]*?'
follow: '(?:(?<!\\)\{)|,|(?:(?<!\\)\[)' follow: '(?:(?<!\\)\{)|,|(?:(?<!\\)\[)'
NamedGroupingBracesBrackets: namedGroupingBracesBrackets:
name: '[0-9\.a-zA-Z@\*><]+?' name: '[0-9\.a-zA-Z@\*><]+?'
follow: '\h|\R|\{|\[|\$|\)|\(' follow: '\h|\R|\{|\[|\$|\)|\('
UnNamedGroupingBracesBrackets: UnNamedGroupingBracesBrackets:
follow: '\{|\[|,|&|\)|\(|\$' follow: '\{|\[|,|&|\)|\(|\$'
arguments: arguments:
before: '(?:#\d\h*;?,?\/?)+|\<.*?\>' before: '(?:#\d\h*;?,?\/?)+|\<.*?\>'
between: '_|\^|\*' between: '_|\^|\*'
trailingComments:
notPreceededBy: '(?<!\\)'
modifyLineBreaks: modifyLineBreaks:
betterFullStop: '(?:\.\)(?!\h*[a-z]))|(?:(?<!(?:(?:e\.g)|(?:i\.e)|(?:etc))))\.(?!(?:[a-z]|[A-Z]|\-|~|\,|[0-9]))'
doubleBackSlash: '\\\\(?:\h*\[\h*\d+\h*[a-zA-Z]+\h*\])?' doubleBackSlash: '\\\\(?:\h*\[\h*\d+\h*[a-zA-Z]+\h*\])?'
comma: ',' comma: ','
betterFullStop: |-
(?x) # ignore spaces in the below
(?: #
\.\) # .)
(?!\h*[a-z]) # not *followed by* a-z
) #
| # OR
(?: #
(?<! # not *preceeded by*
(?: #
(?:[eE]\.[gG]) # e.g OR E.g OR e.G OR E.G
| #
(?:[iI]\.[eE]) # i.e OR I.e OR i.E OR I.E
| #
(?:etc) # etc
) #
) #
) #
\. # .
(?! # not *followed by*
(?: #
[a-zA-Z0-9-~,] #
| #
\), # ),
| #
\)\. # ).
) #
) #