|
# defaultSettings.yaml for latexindent.pl, version 3.9.1, 2021-03-21 |
|
# a script that aims to |
|
# beautify .tex, .sty, .cls files |
|
# |
|
# (or latexindent.exe if you're on Windows) |
|
# |
|
# 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 |
|
# the Free Software Foundation, either version 3 of the License, or |
|
# (at your option) any later version. |
|
# |
|
# This program is distributed in the hope that it will be useful, |
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
# GNU General Public License for more details. |
|
# |
|
# See http://www.gnu.org/licenses/. |
|
# |
|
# Chris Hughes, 2017 |
|
# |
|
# For all communication, please visit: https://github.com/cmhughes/latexindent.pl |
|
|
|
|
|
# You should feel encouraged to change anything you like in these settings, but |
|
# it would probably be better to have your own user settings |
|
# files somewhere else - remember that this file may be overwritten |
|
# when you update your tex distribution. Please see the manual linked from: |
|
# |
|
# https://github.com/cmhughes/latexindent.pl |
|
# |
|
# 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. |
|
|
|
# latexindent can be called to act on a file without using the file's extension, |
|
# e.g, simply |
|
# latexindent myfile |
|
# in which case the choice of file extension is chosen |
|
# according to the choices made in fileExtensionPreference |
|
# Other file extensions can be added. |
|
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 |
|
|
|
# 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 |
|
|
|
# remove trailing whitespace from all lines |
|
removeTrailingWhitespace: |
|
beforeProcessing: 0 |
|
afterProcessing: 1 |
|
|
|
# \begin{document} and \end{document} are treated differently |
|
# by latexindent within filecontents environments |
|
fileContentsEnvironments: |
|
filecontents: 1 |
|
filecontents*: 1 |
|
|
|
# indent preamble |
|
indentPreamble: 0 |
|
|
|
# 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: "\t" |
|
|
|
# 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 |
|
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 |
|
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 |
|
|
|
# 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 |
|
enumerate: 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: 0 |
|
level: 3 |
|
subsection: |
|
indentAfterThisHeading: 0 |
|
level: 4 |
|
subsection*: |
|
indentAfterThisHeading: 0 |
|
level: 4 |
|
subsubsection: |
|
indentAfterThisHeading: 0 |
|
level: 5 |
|
paragraph: |
|
indentAfterThisHeading: 0 |
|
level: 6 |
|
subparagraph: |
|
indentAfterThisHeading: 0 |
|
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: |
|
myexample: 1 |
|
mydefinition: 1 |
|
problem: 1 |
|
exercises: 1 |
|
mysolution: 1 |
|
foreach: 0 |
|
widepage: 1 |
|
comment: 1 |
|
document: 1 |
|
frame: 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: |
|
myenvironment: "\t\t" |
|
anotherenvironment: "\t\t\t\t" |
|
chapter: " " |
|
section: " " |
|
item: " " |
|
myitem: " " |
|
|
|
# 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\[' |
|
|
|
# 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: 0 |
|
removeSentenceLineBreaks: 1 |
|
textWrapSentences: 0 |
|
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: 0 |
|
sentencesEndWith: |
|
basicFullStop: 0 |
|
betterFullStop: 1 |
|
exclamationMark: 1 |
|
questionMark: 1 |
|
other: 0 |
|
textWrapOptions: |
|
columns: 0 |
|
separator: "" |
|
perCodeBlockBasis: 0 |
|
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: |
|
BeginStartsOnOwnLine: 0 |
|
BodyStartsOnOwnLine: 0 |
|
EndStartsOnOwnLine: 0 |
|
EndFinishesWithLineBreak: 0 |
|
equation*: |
|
BeginStartsOnOwnLine: 0 |
|
BodyStartsOnOwnLine: 0 |
|
EndStartsOnOwnLine: 0 |
|
EndFinishesWithLineBreak: 0 |
|
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: 0 |
|
namedGroupingBracesBrackets: |
|
NameStartsOnOwnLine: 0 |
|
NameFinishesWithLineBreak: 0 |
|
specialBeginEnd: |
|
SpecialBeginStartsOnOwnLine: 0 |
|
SpecialBodyStartsOnOwnLine: 0 |
|
SpecialEndStartsOnOwnLine: 0 |
|
SpecialEndFinishesWithLineBreak: 0 |
|
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: 1 |
|
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_\:]+?' |
|
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: '_|\^|\*' |
|
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*\])?' |
|
comma: ',' |