Created
December 19, 2022 21:47
-
-
Save dpo/eae6ca229611d73e162ec3a2ec9aca3a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fileExtensionPreference: | |
.tex: 1 | |
.sty: 2 | |
.cls: 3 | |
.bib: 4 | |
# default file extension of backup file (if -w switch is active) | |
# for example, if your .tex file is called | |
# myfile.tex | |
# and you specify the backupExtension as BACKUP.bak then your | |
# backup file will be | |
# myfileBACKUP.bak | |
backupExtension: .bak | |
# only one backup per file: | |
# - if onlyOneBackUp is 0 then, as a safety measure, | |
# the number on the extension increments by 1 each time: | |
# | |
# myfile.bak0, myfile.bak1, myfile.bak2 | |
# - if you set onlyOnebackUp to 1, then the backup file will | |
# be overwritten each time (not recommended until you trust the script) | |
onlyOneBackUp: 0 | |
# some users may want a finite number of backup files, | |
# say at most 3; in which case, they can change this maxNumberOfBackUps. | |
# | |
# If maxNumberOfBackUps is set to 0 (or less) then infinitely | |
# many backups are possible, unless onlyOneBackUp is switched on | |
maxNumberOfBackUps: 0 | |
# some users may wish to cycle through back up files. | |
# | |
# for example, with maxNumberOfBackUps: 4, they may | |
# wish to delete the oldest back up file, and keep only the most recent. | |
# | |
# copy myfile.bak1 to myfile.bak0 | |
# copy myfile.bak2 to myfile.bak1 | |
# copy myfile.bak3 to myfile.bak2 | |
# copy myfile.bak4 to myfile.bak3 | |
# | |
# the back up will be written to myfile.bak4 | |
cycleThroughBackUps: 0 | |
# preferences for information displayed in the log file | |
logFilePreferences: | |
showEveryYamlRead: 1 | |
showAmalgamatedSettings: 0 | |
showDecorationStartCodeBlockTrace: 0 | |
showDecorationFinishCodeBlockTrace: 0 | |
endLogFileWith: '--------------' | |
showGitHubInfoFooter: 1 | |
Dumper: | |
Terse: 1 | |
Indent: 1 | |
Useqq: 1 | |
Deparse: 1 | |
Quotekeys: 0 | |
Sortkeys: 1 | |
Pair: " => " | |
# verbatim environments specified | |
# in this field will not be changed at all! | |
verbatimEnvironments: | |
verbatim: 1 | |
lstlisting: 1 | |
minted: 1 | |
# verbatim commands such as \verb! body !, \lstinline$something else$ | |
verbatimCommands: | |
verb: 1 | |
lstinline: 1 | |
# no indent blocks (not necessarily verbatim | |
# environments) which are marked as %\begin{noindent} | |
# or anything else that you detail in the following | |
noIndentBlock: | |
noindent: 1 | |
cmhtest: 1 | |
# \begin{document} and \end{document} are treated differently | |
# by latexindent within filecontents environments | |
fileContentsEnvironments: | |
filecontents: 1 | |
filecontents*: 1 | |
# indent preamble | |
indentPreamble: 1 | |
# assume no preamble in cls, sty, by default | |
lookForPreamble: | |
.tex: 1 | |
.sty: 0 | |
.cls: 0 | |
.bib: 0 | |
# some preambles can contain \begin and \end statements | |
# that are not in their 'standard environment block', for example, | |
# consider the following key = values: | |
# preheadhook={\begin{mdframed}[style=myframedstyle]}, | |
# postfoothook=\end{mdframed}, | |
preambleCommandsBeforeEnvironments: 0 | |
# default value of indentation | |
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 | |
lookForAlignDelims: | |
tabular: | |
delims: 1 | |
alignDoubleBackSlash: 1 | |
spacesBeforeDoubleBackSlash: 1 | |
multiColumnGrouping: 0 | |
alignRowsWithoutMaxDelims: 1 | |
spacesBeforeAmpersand: 1 | |
spacesAfterAmpersand: 1 | |
justification: left | |
alignFinalDoubleBackSlash: 0 | |
dontMeasure: 0 | |
delimiterRegEx: '(?<!\\)(&)' | |
delimiterJustification: left | |
lookForChildCodeBlocks: 1 | |
tabularx: | |
delims: 1 | |
longtable: 1 | |
tabu: 1 | |
array: 1 | |
matrix: 1 | |
listabla: 1 | |
# amsmath | |
align: 1 | |
align*: 1 | |
alignat: 1 | |
alignat*: 1 | |
aligned: 1 | |
bmatrix: 1 | |
Bmatrix: 1 | |
cases: 1 | |
flalign: 1 | |
flalign*: 1 | |
pmatrix: 1 | |
vmatrix: 1 | |
Vmatrix: 1 | |
# mathtools | |
cases*: 1 | |
dcases: 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 | |
# and format it, as follows (for example), | |
# \begin{itemize} | |
# \item content here | |
# next line is indented | |
# next line is indented | |
# \item another item | |
# \end{itemize} | |
# then populate indentAfterItems. See also itemNames | |
indentAfterItems: | |
itemize: 1 | |
itemize*: 1 | |
enumerate: 1 | |
enumerate*: 1 | |
description: 1 | |
description*: 1 | |
list: 1 | |
# if you want to use other names for your items (for example, \part) | |
# then populate them here; note that you can trick latexindent.pl | |
# into indenting all kinds of commands (within environments specified in | |
# indentAfterItems) using this technique. | |
itemNames: | |
item: 1 | |
myitem: 1 | |
# specialBeginEnd is, by default, mathmode focus, although | |
# there's no restrictions | |
specialBeginEnd: | |
displayMath: | |
begin: '\\\[' | |
end: '\\\]' | |
lookForThis: 1 | |
inlineMath: | |
begin: '(?<!\$)(?<!\\)\$(?!\$)' | |
end: '(?<!\\)\$(?!\$)' | |
lookForThis: 1 | |
displayMathTeX: | |
begin: '\$\$' | |
end: '\$\$' | |
lookForThis: 1 | |
specialBeforeCommand: 0 | |
# if you want to add indentation after | |
# a heading, such as \part, \chapter, etc | |
# then populate it in here - you can add | |
# an indent rule to indentRules if you would | |
# like something other than defaultIndent | |
# | |
# you can also change the level if you like, | |
# or add your own title command | |
indentAfterHeadings: | |
part: | |
indentAfterThisHeading: 0 | |
level: 1 | |
chapter: | |
indentAfterThisHeading: 0 | |
level: 2 | |
section: | |
indentAfterThisHeading: 1 | |
level: 3 | |
subsection: | |
indentAfterThisHeading: 1 | |
level: 4 | |
subsection*: | |
indentAfterThisHeading: 1 | |
level: 4 | |
subsubsection: | |
indentAfterThisHeading: 1 | |
level: 5 | |
paragraph: | |
indentAfterThisHeading: 1 | |
level: 6 | |
subparagraph: | |
indentAfterThisHeading: 1 | |
level: 7 | |
# maximum indentation, off by default | |
maximumIndentation: -1 | |
# if you don't want to have additional indentation | |
# in a code block, then add it to noAdditionalIndent; note that | |
# code blocks in this field will inherit | |
# the *current* level of indentation they just won't | |
# get any *additional* indentation | |
noAdditionalIndent: | |
widepage: 1 | |
document: 0 | |
# if you have indent rules for particular code blocks | |
# then you can populate them in indentRules; for example, you might just want | |
# to use a space " " or maybe a double tab "\t\t" | |
indentRules: | |
chapter: " " | |
section: " " | |
subsection: " " | |
paragraph: " " | |
item: " " | |
# set noAdditionalIndent globally for codeblocks | |
noAdditionalIndentGlobal: | |
environments: 0 | |
commands: 1 | |
optionalArguments: 0 | |
mandatoryArguments: 0 | |
ifElseFi: 0 | |
items: 0 | |
keyEqualsValuesBracesBrackets: 0 | |
namedGroupingBracesBrackets: 0 | |
UnNamedGroupingBracesBrackets: 0 | |
specialBeginEnd: 0 | |
afterHeading: 0 | |
filecontents: 0 | |
# set indentRules globally for codeblocks; these need | |
# to be horizontal spaces, if they are to be used | |
indentRulesGlobal: | |
environments: 0 | |
commands: 0 | |
optionalArguments: 0 | |
mandatoryArguments: 0 | |
ifElseFi: 0 | |
items: 0 | |
keyEqualsValuesBracesBrackets: 0 | |
namedGroupingBracesBrackets: 0 | |
UnNamedGroupingBracesBrackets: 0 | |
specialBeginEnd: 0 | |
afterHeading: 0 | |
filecontents: 0 | |
# command code block details | |
commandCodeBlocks: | |
roundParenthesesAllowed: 1 | |
stringsAllowedBetweenArguments: | |
- | |
amalgamate: 1 | |
- 'node' | |
- 'at' | |
- 'to' | |
- 'decoration' | |
- '\+\+' | |
- '\-\-' | |
- '\#\#\d' | |
commandNameSpecial: | |
- | |
amalgamate: 1 | |
- '@ifnextchar\[' | |
# change dos line breaks into unix | |
dos2unixlinebreaks: 1 | |
# modifyLineBreaks will only be searched if the -m | |
# switch is active | |
# | |
# poly-switch examples: | |
# | |
# BeginStartsOnOwnLine: | |
# modify line breaks before a begin statement | |
# | |
# when set to -1, e.g | |
# some text some text | |
# \begin{myenvironment} | |
# will be changed to | |
# some text some text \begin{myenvironment} | |
# when set to 0, the switch is ignored | |
# when set to 1, e.g | |
# some text some text \begin{myenvironment} | |
# will be changed to | |
# some text some text | |
# \begin{myenvironment} | |
# when set to 2, e.g | |
# some text some text \begin{myenvironment} | |
# will be changed to | |
# some text some text% | |
# \begin{myenvironment} | |
# when set to 3, e.g | |
# some text some text \begin{myenvironment} | |
# will be changed to | |
# some text some text | |
# | |
# \begin{myenvironment} | |
# | |
# BodyStartsOnOwnLine: | |
# modify line breaks before the beginning of the body | |
# | |
# when set to -1, e.g | |
# \begin{myenv} | |
# body text body text | |
# will be changed to | |
# \begin{myenv}body text body text | |
# when set to 0, the switch is ignored | |
# when set to 1, e.g | |
# \begin{myenv}body text body text | |
# will be changed to | |
# \begin{myenv} | |
# body text body text | |
# when set to 2, e.g | |
# \begin{myenv}body text body text | |
# will be changed to | |
# \begin{myenv}% | |
# body text body text | |
# when set to 3, e.g | |
# \begin{myenv}body text body text | |
# will be changed to | |
# \begin{myenv} | |
# | |
# body text body text | |
# | |
# EndStartsOnOwnLine: | |
# modify line breaks before the end statement | |
# | |
# when set to -1, e.g | |
# some text some text | |
# \end{myenvironment} | |
# will be changed to | |
# some text some text \end{myenvironment} | |
# when set to 0, the switch is ignored | |
# when set to 1, e.g | |
# some text some text \end{myenvironment} | |
# will be changed to | |
# some text some text | |
# \end{myenvironment} | |
# when set to 2, e.g | |
# some text some text \end{myenvironment} | |
# will be changed to | |
# some text some text% | |
# \end{myenvironment} | |
# when set to 3, e.g | |
# some text some text \end{myenvironment} | |
# will be changed to | |
# some text some text | |
# | |
# \end{myenvironment} | |
# | |
# EndFinishesWithLineBreak: | |
# modify line breaks after the end statement | |
# | |
# when set to -1, e.g | |
# \end{myenvironment} | |
# some text some text | |
# will be changed to | |
# \end{myenvironment}some text some text | |
# when set to 0, the switch is ignored | |
# when set to 1, e.g | |
# \end{myenvironment}some text some text | |
# will be changed to | |
# \end{myenvironment} | |
# some text some text | |
# when set to 2, e.g | |
# \end{myenvironment}some text some text | |
# will be changed to | |
# \end{myenvironment}% | |
# some text some text | |
# when set to 3, e.g | |
# \end{myenvironment}some text some text | |
# will be changed to | |
# \end{myenvironment} | |
# | |
# some text some text | |
# | |
# you can specify settings on a per-name basis | |
modifyLineBreaks: | |
preserveBlankLines: 1 | |
condenseMultipleBlankLinesInto: 1 | |
oneSentencePerLine: | |
manipulateSentences: 1 | |
removeSentenceLineBreaks: 1 | |
multipleSpacesToSingle: 1 | |
textWrapSentences: 0 # setting to 1 disables main textWrap routine | |
sentenceIndent: "" | |
sentencesFollow: | |
par: 1 | |
blankLine: 1 | |
fullStop: 1 | |
exclamationMark: 1 | |
questionMark: 1 | |
rightBrace: 1 | |
commentOnPreviousLine: 1 | |
other: 0 | |
sentencesBeginWith: | |
A-Z: 1 | |
a-z: 0 | |
other: "\$|\\(" | |
sentencesEndWith: | |
basicFullStop: 0 | |
betterFullStop: 1 | |
exclamationMark: 1 | |
questionMark: 1 | |
other: 0 | |
textWrapOptions: | |
columns: 0 | |
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: 0 # regex | |
blocksEndBefore: | |
commentOnOwnLine: 1 | |
verbatim: 1 | |
filecontents: 1 | |
other: '\\begin\{|\\\[|\\end\{' # regex | |
huge: overflow # forbid mid-word line breaks | |
separator: "" | |
# poly-switches below here | |
environments: | |
DBSStartsOnOwnLine: 0 | |
DBSFinishesWithLineBreak: 1 | |
BeginStartsOnOwnLine: 1 | |
BodyStartsOnOwnLine: 2 | |
EndStartsOnOwnLine: 1 | |
EndFinishesWithLineBreak: 1 | |
equation*: | |
BeginStartsOnOwnLine: 1 | |
BodyStartsOnOwnLine: 1 | |
EndStartsOnOwnLine: 1 | |
EndFinishesWithLineBreak: 1 | |
ifElseFi: | |
IfStartsOnOwnLine: 0 | |
BodyStartsOnOwnLine: 0 | |
OrStartsOnOwnLine: 0 | |
OrFinishesWithLineBreak: 0 | |
ElseStartsOnOwnLine: 0 | |
ElseFinishesWithLineBreak: 0 | |
FiStartsOnOwnLine: 0 | |
FiFinishesWithLineBreak: 0 | |
ifnum: | |
IfStartsOnOwnLine: 0 | |
BodyStartsOnOwnLine: 0 | |
OrStartsOnOwnLine: 0 | |
OrFinishesWithLineBreak: 0 | |
ElseStartsOnOwnLine: 0 | |
ElseFinishesWithLineBreak: 0 | |
FiStartsOnOwnLine: 0 | |
FiFinishesWithLineBreak: 0 | |
commands: | |
CommandStartsOnOwnLine: 0 | |
CommandNameFinishesWithLineBreak: 0 | |
optionalArguments: | |
LSqBStartsOnOwnLine: 0 | |
OptArgBodyStartsOnOwnLine: 0 | |
RSqBStartsOnOwnLine: 0 | |
RSqBFinishesWithLineBreak: 0 | |
mandatoryArguments: | |
LCuBStartsOnOwnLine: 0 | |
MandArgBodyStartsOnOwnLine: 0 | |
RCuBStartsOnOwnLine: 0 | |
RCuBFinishesWithLineBreak: 0 | |
keyEqualsValuesBracesBrackets: | |
KeyStartsOnOwnLine: 0 | |
EqualsStartsOnOwnLine: 0 | |
EqualsFinishesWithLineBreak: 0 | |
items: | |
ItemStartsOnOwnLine: 0 | |
ItemFinishesWithLineBreak: 1 | |
namedGroupingBracesBrackets: | |
NameStartsOnOwnLine: 0 | |
NameFinishesWithLineBreak: 0 | |
specialBeginEnd: | |
displayMath: | |
SpecialBeginStartsOnOwnLine: 1 | |
SpecialBodyStartsOnOwnLine: 1 | |
SpecialEndStartsOnOwnLine: 1 | |
SpecialEndFinishesWithLineBreak: 1 | |
verbatim: | |
VerbatimBeginStartsOnOwnLine: 0 | |
VerbatimEndFinishesWithLineBreak: 0 | |
# replacements, only active when either -r or -rr switches are active | |
replacements: | |
- | |
amalgamate: 1 | |
- | |
this: 'latexindent.pl' | |
that: 'pl.latexindent' | |
lookForThis: 0 | |
when: before | |
# fineTuning allows you to tweak the internal pattern matching that | |
# is central to latexindent.pl | |
fineTuning: | |
environments: | |
name: '[a-zA-Z@\*0-9_\\]+' | |
ifElseFi: | |
name: '(?!@?if[a-zA-Z@]*?\{)@?if[a-zA-Z@]*?' | |
commands: | |
name: '[+a-zA-Z@\*0-9_\:]+?' | |
items: | |
canBeFollowedBy: '(?:\[[^]]*?\])|(?:<[^>]*?>)' | |
keyEqualsValuesBracesBrackets: | |
name: '[a-zA-Z@\*0-9_\/.:\#-]+[a-zA-Z@\*0-9_\/.\h\{\}:\#-]*?' | |
follow: '(?:(?<!\\)\{)|,|(?:(?<!\\)\[)' | |
namedGroupingBracesBrackets: | |
name: '[0-9\.a-zA-Z@\*><]+?' | |
follow: '\h|\R|\{|\[|\$|\)|\(' | |
UnNamedGroupingBracesBrackets: | |
follow: '\{|\[|,|&|\)|\(|\$' | |
arguments: | |
before: '(?:#\d\h*;?,?\/?)+|\<.*?\>' | |
between: '_|\^|\*' | |
trailingComments: | |
notPreceededBy: '(?<!\\)' | |
modifyLineBreaks: | |
doubleBackSlash: '\\\\(?:\h*\[\h*\d+\h*[a-zA-Z]+\h*\])?' | |
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-~,] # | |
| # | |
\), # ), | |
| # | |
\)\. # ). | |
) # | |
) # |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment