Created
February 14, 2020 00:17
-
-
Save cshjin/2eb1961ef5198b71ce063143915bc034 to your computer and use it in GitHub Desktop.
My latexindent defaultSettings
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
# 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: 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: " " | |
# 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" | |
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 | |
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 | |
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: | |
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' | |
- '\+\+' | |
- '\-\-' | |
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@]*?' | |
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: ',' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment