596 lines
17 KiB
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: ','
|