From version 1.6 onwards, the folding in Latex-Suite can be controlled to a large extent via a number of global variables.
This entry defines which sections will be folded. This setting is a comma separated list of section names. The default value is:
part,chapter,section,subsection,subsubsection,paragraph
Each of the entries in the list will fold up a section of the
corresponding name and the corresponding %%fakesection
.
The %%fakesection
section is
provided as a means for the user to group lines into "fake" sections.
In particular, it is useful to fold the introduction of a section
that is not part of a subsection
:
\section{Latex-Suite} %%fakesubsection Introduction A short introduction of the features of Latex-Suite. \subsection{Installation} Installation instructions.
Without the %%fakesubsection
the introduction would not be folded separately from the section.
It is also possible, to add section names at the same level of hierarchy. These have to be separated by "|". This is, e.g., useful for the KOMA classes, which add "\addcap":
" let g:Tex_FoldedSections = 'part|addpart,chapter|addchap,section|addsec,subsection,subsubsection,paragraph,subparagraph'
See also advanced fold settings.
This entry defines which environments will be folded. It is a comma separated string of words each of which defines a single environment. The default setting is
verbatim,comment,eq,gather, align,figure,table,thebibliography, keywords,abstract,titlepage
The words need not be standard Latex environments. You can
add any word you like. Also, each word will fold up all
environments whose name begins with that word. For example, in
the setting above, the word "align"
folds up the
\begin{align}
,
\begin{align*}
,
\begin{aligned}
environments. To avoid
this, you can replace the word "align"
with
"align}"
.
See also advanced fold settings.
This entry defines which commands will be folded. It is a comma separated string of words each of which defines a single command. The default setting is empty, i.e no commands are folded. The words need not be standard Latex commands. You can use whatever words you like. Each word will fold all commands whose name begins with that word as in the case of the Tex_FoldedEnvironments variable.
It is very difficult to fold commands reliably because it is very difficult to create a regexp which will match a line containing unmatched parentheses (or curly brackets), but will not match a line containing matched parentheses.
Just to make things safer, only lines which start a command but do
not contain additional curly braces after the command has started are
folded. In other words, if you wanted to fold the the command
"mycommand"
, then the lines
\mycommand{This is a line and some more text on the next line }
will be folded, but the lines
\mycommand{This is a \textbf{line} and some more text }
will not be folded. This is a bug which is very difficult to fix.
See also advanced fold settings.
This entry defines fold syntax for certain items which do not naturally fit into the section, environment of command lists. It is a comma separated list of words. The default value is:
item,preamble,<<<
Unlike the other Tex_FoldedXXXX variables, the words in this setting are limited to take values from the following list:
Value | Meaning |
---|---|
comments | Folds up contiguous blocks of comments |
item | Folds up the \item s within list
environments |
preamble | Folds up the preamble of a document. (The part between
the \documentclass command and the
\begin{document} environment) |
<<< | Folds defined manually by the user using the
<<< and
>>> strings as fold-markers. |
Any other words in the Tex_FoldedMisc
setting
are silently ignored.
See also advanced fold settings.
The order of the words in the Tex_FoldedXXXX
variables is important. The order defines the
order in which the folds are nested. For example, the value
"subsection,section"
for the
Tex_FoldedSections
variable will not fold any
subsections at all. This is because the folds are created in the
reverse order in which they occur in the
Tex_FoldedSections
setting and also, once a fold is
created, the interior of the fold is not examined for creating
additional folds. In the above case, this means that a
\section
is folded first and then its interior is
not examined further. The correct value should have been
"section,subsection"
Each of the fold setting variables
Tex_FoldedSections
,
Tex_FoldedEnvironments
etc., as explained previously
is a comma separated string of variables. However, to make it easier
to add to the default settings without having to
repeat the whole default setting again, Latex-Suite uses the following logic
in forming the complete setting string from the
Tex_FoldedXXXX
variables. If the variable starts with
a comma, then Tex_FoldedXXXX
is added to the end of
the default string rather than replacing it. Similarly, if it ends
with a comma, then it will be prepended to the beginning of the
default setting rather than replacing it.
For example, if Tex_FoldedEnvironments
is set to the
string "myenv"
, then only an environment of the
form \begin{myenv}
will be folded. However, if the
Tex_FoldedEnvironments
setting is
",myenv"
, then the \begin{myenv}
environment will be folded after all other environments in the default
setting have been folded. On the other hand if
Tex_FoldedEnvironments
is of the form
"myenv,"
, the \begin{myenv}
environment will be folded before the rest of the environments in the
default setting.