Dissertation/.indent.yaml

596 lines
17 KiB
YAML

# defaultSettings.yaml for latexindent.pl, version 3.7.1, 2019-09-07
# 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
PatternLayout:
default: "%A%n"
trace: "%A%n"
ttrace: "%A%n"
# 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: 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: " " # default: \t
# name of code blocks that should have their body aligned at ampersand delimiters
lookForAlignDelims:
tabular:
delims: 1
alignDoubleBackSlash: 1
spacesBeforeDoubleBackSlash: 1
multiColumnGrouping: 1
alignRowsWithoutMaxDelims: 1
spacesBeforeAmpersand: 1
spacesAfterAmpersand: 1
justification: "left"
tabularx:
delims: 1
longtable: 1
tabu: 1
array: 1
matrix: 1
bmatrix: 1
Bmatrix: 1
pmatrix: 1
vmatrix: 1
Vmatrix: 1
align: 1
align*: 1
alignat: 1
alignat*: 1
aligned: 1
cases: 1
dcases: 1
listabla: 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
# 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: 1
level: 1
chapter:
indentAfterThisHeading: 1
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:
foreach: 0
widepage: 1
comment: 1
document: 0
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: " " # default: \t\t
chapter: " "
section: " "
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'
- '\+\+'
- '\-\-'
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: 1
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: ":"
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: 1
BodyStartsOnOwnLine: 1
EndStartsOnOwnLine: 1
EndFinishesWithLineBreak: 1
equation*:
BeginStartsOnOwnLine: 1
BodyStartsOnOwnLine: 1
EndStartsOnOwnLine: 1
EndFinishesWithLineBreak: 1
ifElseFi:
IfStartsOnOwnLine: 1
BodyStartsOnOwnLine: 1
OrStartsOnOwnLine: 1
OrFinishesWithLineBreak: 1
ElseStartsOnOwnLine: 1
ElseFinishesWithLineBreak: 1
FiStartsOnOwnLine: 1
FiFinishesWithLineBreak: 1
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@]*?'
commands:
name: '[+a-zA-Z@\*0-9_\:]+?'
keyEqualsValuesBracesBrackets:
name: '[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: ','