aboutsummaryrefslogtreecommitdiff
path: root/dot_vim/doc
diff options
context:
space:
mode:
Diffstat (limited to 'dot_vim/doc')
-rw-r--r--dot_vim/doc/csupport.txt1577
-rw-r--r--dot_vim/doc/haskellmode.txt456
-rw-r--r--dot_vim/doc/imaps.txt116
-rw-r--r--dot_vim/doc/latex-suite-quickstart.txt448
-rw-r--r--dot_vim/doc/latex-suite.txt3418
-rw-r--r--dot_vim/doc/latexhelp.txt2430
-rw-r--r--dot_vim/doc/ps_color.txt585
-rwxr-xr-xdot_vim/doc/taglist.txt1501
-rw-r--r--dot_vim/doc/tags1138
9 files changed, 11669 insertions, 0 deletions
diff --git a/dot_vim/doc/csupport.txt b/dot_vim/doc/csupport.txt
new file mode 100644
index 0000000..266b8db
--- /dev/null
+++ b/dot_vim/doc/csupport.txt
@@ -0,0 +1,1577 @@
+*csupport.txt* C/C++ Support November 21 2007
+
+C/C++ Support *c-support* *csupport*
+ Plugin version 5.0.5
+ for Vim version 6.0 and above
+ Fritz Mehner <mehner@fh-swf.de>
+
+C/C++-IDE for Vim/gVim. It is written to considerably speed up writing code in
+a consistent style. This is done by inserting complete statements,idioms, code
+snippets, templates, and comments. Syntax checking, compiling, running a
+program, running a code checker or indent can be done with a keystroke.
+
+
+ 1. Usage |csupport-usage-gvim|
+ 1.1 Menu 'Comments' |csupport-comm|
+ 1.1.1 Append aligned comments |csupport-comm-aligned|
+ 1.1.2 Adjust end-of-line comments |csupport-comm-realign|
+ 1.1.3 Code to comment |csupport-code-to-comm|
+ 1.1.4 Comment to code |csupport-comm-to-code|
+ 1.1.5 Frame comments, file header, ... |csupport-comm-frame|
+ 1.1.6 KEYWORD + comment |csupport-comm-keywords|
+ 1.1.7 C to C++ comments and vice versa |csupport-comm-c-cpp|
+ 1.1.8 Date and date+time |csupport-comm-date|
+ 1.2 Menu 'Statements' |csupport-stat|
+ 1.2.1 Normal mode, insert mode. |csupport-stat-normal-mode|
+ 1.2.2 Visual mode. |csupport-stat-visual-mode|
+ 1.3 Menu 'Preprocessor' |csupport-prep|
+ 1.3.1 Normal mode, insert mode. |csupport-prep-normal-mode|
+ 1.3.2 Visual mode. |csupport-prep-visual-mode|
+ 1.3.3 Block out code with #if 0 .. #endif |csupport-prep-if0|
+ 1.4 Menu 'Idioms' |csupport-idioms|
+ 1.5 Menu 'Snippets' |csupport-snippets|
+ 1.5.1 Code snippets |csupport-snippets|
+ 1.5.2 Picking up prototypes |csupport-proto|
+ 1.6 Menu 'C++' |csupport-c++|
+ 1.6.1 Normal mode, insert mode. |csupport-c++-normal-mode|
+ 1.6.2 Visual mode. |csupport-c++-visual-mode|
+ 1.6.3 Method implementation |csupport-c++-method-impl|
+ 1.7 Menu 'Run' |csupport-run|
+ 1.7.1 Minimal make functionality |csupport-run-buffer|
+ 1.7.2 Command line arguments |csupport-run-cmdline-args|
+ 1.7.3 Run make |csupport-run-make|
+ 1.7.4 Command line arguments for make |csupport-run-make-args|
+ 1.7.5 Splint |csupport-run-splint|
+ 1.7.6 CodeCheck |csupport-run-codecheck|
+ 1.7.7 Indent |csupport-run-indent|
+ 1.7.8 Hardcopy |csupport-run-hardcopy|
+ 1.7.9 Rebuild templates |csupport-run-templates|
+ 1.7.10 Xterm size |csupport-run-xterm|
+ 1.7.11 Output redirection |csupport-run-output|
+ 1.8 Help |csupport-help|
+
+ 2. Usage without GUI |csupport-usage-vim|
+ 3. Hotkeys |csupport-hotkeys|
+ 4. Customization and configuration |csupport-custom|
+ 4.1 Global variables |csupport-custom-glob-vars|
+ 4.2 The root menu |csupport-custom-root-menu|
+ 4.3 System-wide installation |csupport-system-wide|
+ 5. Template files and tags |csupport-templates|
+ 5.1 Template files |csupport-templates-files|
+ 5.2 Macros |csupport-templates-macros|
+ 5.3 Templates |csupport-templates-names|
+ 5.3.1 Template names |csupport-templates-names|
+ 5.3.2 Template definition |csupport-templates-definition|
+ 5.3.3 Template expansion |csupport-templates-expansion|
+ 6. C/C++ Dictionaries |csupport-dictionary|
+ 7. Extend taglist.vim for make and qmake |csupport-taglist|
+ 8. Syntax based folding |csupport-folding|
+ 9. Windows particularities |csupport-windows|
+10. Troubleshooting |csupport-troubleshooting|
+11. Release Notes /Change Log |csupport-release-notes|
+
+ How to add this help file to Vim's help |add-local-help|
+
+
+==============================================================================
+1. USAGE WITH GUI (gVim) *csupport-usage-gvim*
+==============================================================================
+
+If the root menu 'C/C++' is not visible call it with the item "Load C Support"
+from the standard Tools-menu.
+The item "Load C Support" can also be used to unload the C/C++-root menu.
+
+Nearly all menu entries insert code snippets or comments. All these stuff is
+taken from template files and can be changed by the user to meet his
+requirements (see|csupport-templates|).
+
+------------------------------------------------------------------------------
+1.1 MENU 'Comments' *csupport-comm*
+------------------------------------------------------------------------------
+
+1.1.1 APPEND ALIGNED COMMENTS TO CONSECUTIVE LINES *csupport-comm-aligned*
+
+In NORMAL MODE the menu items 'end-of-line comment' will append an comment to
+the current line.
+In VISUAL MODE these item will append aligned comments to all marked lines.
+Marking the first 4 lines
+
+ print_double_array ( double array[],
+ int n,
+ int columns,
+ char* arrayname
+ )
+
+and choosing 'end-of-line com. /**/' will yield.
+
+ print_double_array ( double array[], /* */
+ int n, /* */
+ int columns, /* */
+ char* arrayname /* */
+ ) /* */
+
+If one ore more lines go beyond the starting column (s.below) the comments
+will start at the 2. column after the longest line. The cursor will be
+positioned inside the first comment.
+
+The default starting column is 49 ( = (multiple of 2,4, or 8) + 1 ). This can
+be changed by setting a global variable in the file ~/.vimrc , e.g. :
+
+ let g:C_LineEndCommColDefault = 45
+
+The starting column can also be set by the menu item
+'Comments->set end-of-line com. col' . Just position the cursor in an
+arbitrary column (column number is shown in the Vim status line) and choose
+this menu item. This setting is buffer related.
+
+If the cursor was at the end of a line you will be asked for a column number
+because this position is most likely not the desired starting column.
+Your choice will be confirmed.
+
+------------------------------------------------------------------------------
+
+1.1.2 ADJUST END-OF-LINE COMMENTS *csupport-comm-realign*
+
+After some changes end-of-line comments may be no longer aligned:
+
+ print_double_array ( double array[], /* */
+ long int n, /* */
+ unsigned int columns, /* */
+ char* a_name /* */
+ ) /* */
+
+Realignment can be achieved with the menu item 'adjust end-of-line com.' In
+normal mode the comment (if any) in the current line will be aligned to the
+end-of-line comment column (see above) if possible. In visual mode the
+comments in the marked block will be aligned:
+
+ print_double_array ( double array[], /* */
+ long int n, /* */
+ unsigned int columns, /* */
+ char* a_name /* */
+ ) /* */
+
+------------------------------------------------------------------------------
+
+1.1.3 CODE TO COMMENT *csupport-code-to-comm*
+
+The marked block
+
+xxxxxxxx
+xxxxxxxx
+xxxxxxxx
+
+will be changed by the menu item 'code->comment /**/' into the multiline
+comment (all (partially) marked lines):
+
+/* xxxxxxxx
+ * xxxxxxxx
+ * xxxxxxxx
+ */
+
+The marked block will be changed by the menu item 'code->comment //' into the
+multiline comment
+
+//xxxxxxxx
+//xxxxxxxx
+//xxxxxxxx
+
+The menu items works also for a single line. A single line needs not to be
+marked.
+
+------------------------------------------------------------------------------
+
+1.1.4 COMMENT TO CODE *csupport-comm-to-code*
+
+If one (or more) complete comment (i.e. all lines belonging to the comment) is
+marked the item 'comment->code' will uncomment it. If the following lines
+are marked
+
+ * printf ("\n");
+ */
+
+ printf ("\n");
+
+ // printf ("\n");
+ //
+
+ /*
+ * printf ("\n");
+ */
+
+uncommenting will yield
+
+ * printf ("\n");
+ */
+
+ printf ("\n");
+
+ printf ("\n");
+
+
+
+ printf ("\n");
+
+The first 2 lines are only a part of a C-comment and remain unchanged.
+A C-comment can start with /* , /** or /*! .
+
+The menu item works also for a single line with a leading // . A single line
+needs not to be marked.
+
+------------------------------------------------------------------------------
+
+1.1.5 FRAME COMMENTS, FILE HEADER, ... *csupport-comm-frame*
+
+Frame comments, file header comments and function, methods, class descriptions
+are read as templates from the appropriate files (see |csupport-templates|).
+
+------------------------------------------------------------------------------
+
+1.1.6 KEYWORD+comment *csupport-comm-keywords*
+
+Preliminary comments to document (and find again) places where works will be
+resumed shortly. Usually not meant for the final documentation.
+
+------------------------------------------------------------------------------
+
+1.1.7 C TO C++ COMMENTS AND VICE VERSA *csupport-comm-c-cpp*
+
+The menu item '// xxx -> /* xxx */' changes a C++ comment into an C comment.
+This is done for the current line in normal or insert mode and for a marked
+area of lines in visual mode.
+If there are multiple C comments only the first one will be changed:
+ printf ("\n"); /* one */ /* two */ /* three */
+will be changed into
+ printf ("\n"); // one /* two */ /* three */
+
+The menu item '/* xxx */ -> // xxx' changes a C comment into an C++ comment.
+
+------------------------------------------------------------------------------
+
+1.1.8 DATE AND DATE+TIME *csupport-comm-date*
+
+The format for 'date' and 'date time' can be defined by the user (see
+|csupport-templates-date|).
+
+------------------------------------------------------------------------------
+1.2 MENU 'Statements' *csupport-stat*
+------------------------------------------------------------------------------
+
+1.2.1 NORMAL MODE, INSERT MODE. *csupport-stat-normal-mode*
+
+An empty statement will be inserted and properly indented. The item 'if{}'
+will insert an if-statement:
+
+if ( )
+{
+}
+
+
+1.2.2 VISUAL MODE. *csupport-stat-visual-mode*
+
+STATEMENTS WITH BLOCKS AND CASE LABEL.
+--------------------------------------
+The highlighted area
+
+xxxxx
+xxxxx
+
+can be surrounded by one of the following statements:
+
+ +----------------------------+-----------------------------+
+ | if ( ) | if ( ) |
+ | { | { |
+ | xxxxx | xxxxx |
+ | xxxxx | xxxxx |
+ | } | } |
+ | | else |
+ | | { |
+ | | } |
+ +----------------------------+-----------------------------+
+ | for ( ; ; ) | while ( ) |
+ | { | { |
+ | xxxxx | xxxxx |
+ | xxxxx | xxxxx |
+ | } | } |
+ +----------------------------+-----------------------------+
+ | do | |
+ | { | { |
+ | xxxxx | xxxxx |
+ | xxxxx | xxxxx |
+ | } | } |
+ | while ( ); | |
+ +----------------------------+-----------------------------+
+ | switch ( ) { |
+ | case : |
+ | break; |
+ | |
+ | case : |
+ | break; |
+ | |
+ | case : |
+ | break; |
+ | |
+ | case : |
+ | break; |
+ | |
+ | default: |
+ | break; |
+ | } |
+ +----------------------------+-----------------------------+
+
+For 'switch' and 'case' see |csupport-stat-switch| and |csupport-stat-case|.
+
+The whole statement will be indented after insertion.
+
+
+STATEMENTS WITHOUT BLOCKS.
+--------------------------
+One of the following statements can be inserted:
+
+ +-------------------------------+--------------------------+
+ | if ( ) | for ( ; ; ) |
+ +-------------------------------+--------------------------+
+ | if ( ) | while ( ) |
+ | else | |
+ +-------------------------------+--------------------------+
+ | case : | |
+ | break; | |
+ +-------------------------------+--------------------------+
+
+
+------------------------------------------------------------------------------
+1.3 MENU 'Preprocessor' *csupport-prep*
+------------------------------------------------------------------------------
+
+1.3.1 NORMAL MODE, INSERT MODE. *csupport-prep-normal-mode*
+
+The preprocessor statements will be inserted and properly indented.
+
+1.3.2 VISUAL MODE. *csupport-prep-visual-mode*
+
+STATEMENTS WITH BLOCKS
+----------------------
+The highlighted area
+
+xxxxx
+xxxxx
+
+can be surrounded by one of the following statements:
+
+ +----------------------------+-----------------------------+
+ | #if CONDITION |
+ | xxxxx |
+ | xxxxx |
+ | #else /* ----- #if CONDITION ----- */ |
+ | |
+ | #endif /* ----- #if CONDITION ----- */ |
+ +----------------------------------------------------------+
+ | #ifdef CONDITION |
+ | xxxxx |
+ | xxxxx |
+ | #else /* ----- #ifdef CONDITION ----- */ |
+ | |
+ | #endif /* ----- #ifdef CONDITION ----- */ |
+ +----------------------------------------------------------+
+ | #ifndef CONDITION |
+ | xxxxx |
+ | xxxxx |
+ | #else /* ----- #ifndef CONDITION ----- */ |
+ | |
+ | #endif /* ----- #ifndef CONDITION ----- */ |
+ +----------------------------------------------------------+
+ | #ifndef INC_TEST |
+ | #define INC_TEST |
+ | xxxxx |
+ | xxxxx |
+ | #endif /* ----- #ifndef INC_TEST ----- */ |
+ +----------------------------------------------------------+
+ | #if 0 /* ----- #if 0 : If0Label_1 ----- */ |
+ | |
+ | #endif /* ----- #if 0 : If0Label_1 ----- */ |
+ +----------------------------------------------------------+
+
+The macro name for an include guard (e.g. INC_TEST above) will be derived as a
+suggestion from the file name.
+
+1.3.3 BLOCK OUT CODE WITH #if 0 ... #endif *csupport-prep-if0*
+
+The menu item #if 0 #endif inserts the lines
+
+ #if 0 /* ----- #if 0 : If0Label_1 ----- */
+
+ #endif /* ----- #if 0 : If0Label_1 ----- */
+
+In visual mode the marked block of lines will be surrounded by these lines.
+
+This is usually done to temporarily block out some code. The label names like
+If0Label_1 are automatically inserted into the comments. The trailing numbers
+are automatically incremented. These numbers can be changed by the user. The
+next number will be one above the highest number found in the current buffer.
+
+A corresponding label can be found by searching with the vim star command (*).
+All labels can be found with a global search like :g/If0Label_/ or
+:g/If0Label_\d\+/. All corresponding lines can be deleted with :g/If0Label_/d .
+
+
+REMOVE THE ENCLOSING #if 0 ... #endif -CONSTRUCT.
+
+The menu item 'remove #if #endif' removes such a construct if the cursor is
+in the middle of such a section or on one of the two enclosing lines. Nested
+constructs will be untouched.
+
+------------------------------------------------------------------------------
+1.4 MENU 'Idioms' *csupport-idioms*
+------------------------------------------------------------------------------
+
+1.4.1 ENTRY 'function'
+
+NORMAL MODE, INSERT MODE:
+The name of the function is asked for and the following lines (for function
+name "f") will be inserted:
+
+ void
+ f ( )
+ {
+ return ;
+ } /* ---------- end of function f ---------- */
+
+VISUAL MODE:
+Main or [static] function: the highlighted lines will go inside the new
+function or main.
+for-loops: the highlighted lines will be set in braces.
+
+1.4.2 ENTRY 'open input file'
+
+The item 'open input file' will create the statements to open and close an
+input file (e.g. with the file pointer 'infile').
+
+1.4.3 ENTRY 'open output file'
+
+The item 'open output file' will create the statements to open and close an
+output file (e.g. with the file pointer 'outfile').
+
+------------------------------------------------------------------------------
+1.5 MENU 'Snippets' *csupport-snippets*
+------------------------------------------------------------------------------
+
+1.5.1 CODE SNIPPETS
+
+Code snippets are pieces of code which are kept in separate files in a special
+directory (e.g. a few lines of code or a complete template for a Makefile).
+File names are used to identify the snippets. The snippet directory will be
+created during the installation ( $HOME/.vim/codesnippets-c is the default).
+Snippets are managed with the 3 items
+
+ C/C++ -> Snippets -> read code snippet
+ C/C++ -> Snippets -> write code snippet
+ C/C++ -> Snippets -> edit code snippet
+
+from the Snippets submenu.
+
+CREATING A NEW SNIPPET
+When nothing is marked, "write code snippet" will write the whole buffer
+to a snippet file, otherwise the marked area will be written to a file.
+
+INSERT A SNIPPET
+Select the appropriate file from the snippet directory ("read code snippet").
+The inserted lines will be indented.
+
+EDIT A SNIPPET
+This is a normal edit.
+
+INDENTATION / NO INDENTATION
+Code snippets are normally indented after insertion. To suppress indentation
+add the file extension "ni" or "noindent" to the snippet file name, e.g.
+
+ parameter_handling.c.noindent
+
+
+1.5.2 PICKING UP PROTOTYPES *csupport-proto*
+
+PICK UP PROTOTYPES.
+To make a prototype from a function head mark the function head and choose
+'Snippets -> pick up prototype'. From the first six lines of
+
+ void
+ print_double_array ( double array[], /* array to print */
+ int n, /* number of elements to print */
+ int columns, /* number of elements per column */
+ char* arrayname /* array name */
+ )
+ {
+ ...
+ } /* ---------- end of function print_double_array ---------- */
+
+the prototype
+
+ void print_double_array ( double array[], int n, int columns, char* arrayname );
+
+is produced and put in an internal buffer.
+- Leading and trailing whitespaces are removed.
+- All inner whitespaces are squeezed.
+- All comments will be discarded.
+- Trailing parts of the function body (e.g a '{' ) will also be removed.
+- The class name and the scope resolution operator will be removed (C++ method
+ implementations).
+Further prototypes can be picked up and gathered in the buffer.
+
+For C++ methods namespace names and class names will be removed
+(exception: 'std::' ). The first two lines of
+
+ std::string
+ ROBOT::Robot::get_name ( void )
+ {
+ return type_name;
+ } /* ----- end of method Robot::get_name ----- */
+
+result in the prototype
+
+ std::string get_name ( void );
+
+Folding may help picking up prototypes (see |csupport-folding|).
+
+
+INSERT PROTOTYPES
+With 'Snippets -> insert prototype(s)' all picked up prototypes currently in
+the buffer will be inserted below the cursor.
+The prototype buffer will be cleared after insertion.
+
+
+DISCARD PROTOTYPES
+The prototype buffer can be cleared with 'Snippets -> clear prototype(s)' .
+
+
+SHOW PROTOTYPES
+The list of gathered prototypes can be shown with
+'Snippets -> show prototype(s)'. The number and the filename are shown, e.g.
+
+ (1) matrix.c # double** calloc_double_matrix ( int rows, int columns );
+ (2) matrix.c # void free_double_matrix ( double **m );
+ (3) foomain.c # void foo ( );
+
+
+REMARK. Generating prototypes this way is nice in a small project. You may
+want to use an extractor like cextract or something else.
+
+
+------------------------------------------------------------------------------
+1.6 MENU 'C++' *csupport-c++*
+------------------------------------------------------------------------------
+
+1.6.1 NORMAL MODE, INSERT MODE. *csupport-c++-normal-mode*
+
+An empty statement will be inserted and in some cases properly indented. The
+item 'try .. catch' will insert the following lines:
+
+ try {
+ }
+ catch ( const &ExceptObj ) { // handle exception:
+ }
+ catch (...) { // handle exception: unspezified
+ }
+
+The cursor will go into the try block.
+
+1.6.2 VISUAL MODE. *csupport-c++-visual-mode*
+
+The highlighted area can be surrounded by one of the following statements:
+
+ try - catch
+ catch
+ catch(...)
+ namespace { }
+ extern "C" { }
+
+The whole statement will be indented after insertion.
+
+1.6.3 METHOD IMPLEMENTATION *csupport-c++-method-impl*
+
+The menu item 'method implement.' asks for a method name. If this item is
+called the first time you will see just an scope resolution operator. If you
+specify the scope this is used the next time you call this item. If you use
+one of the menu items to generate a class (see |csupport-templates|) the
+scope will be extracted and used for the next method.
+
+------------------------------------------------------------------------------
+1.7 MENU 'Run' *csupport-run*
+------------------------------------------------------------------------------
+
+1.7.1 MINIMAL MAKE FUNCTIONALITY *csupport-run-buffer*
+
+The 'Run' menu provides a minimal make functionality for single file projects
+(e.g. in education) :
+
+SAVE AND COMPILE
+'save and compile' saves the buffer and run the compiler with the given
+options (see |csupport-custom-glob-vars|).
+
+An error window will be opened if the compiler reports errors and/or warnings.
+Quickfix commands can now be used to jump to an error location.
+
+Consider using maps like
+ map <silent> <F7> <Esc>:cp<CR>
+ map <silent> <F8> <Esc>:cn<CR>
+in your ~/.vimrc file to jump over the error locations and make navigation
+easier. The error list and the error locations in your source buffer will be
+synchronized.
+
+
+LINK
+'link' makes an executable from the current buffer. If the buffer is not
+saved, or no object is available or the object is older then the source step
+'save and compile' is executed first.
+
+The behavior of the compiler / linker is determined by the options assigned to
+the variables described in |csupport-custom-glob-vars| (4.group).
+
+RUN
+'run' runs the executable with the same name (extension .e) as the current
+buffer. If the buffer is not saved, or no executable is available or the
+executable is older then the source steps 'save and compile' and 'link' are
+executed first.
+
+
+1.7.2 COMMAND LINE ARGUMENTS *csupport-run-cmdline-args*
+
+The item 'command line arguments' calls an input dialog which asks for command
+line arguments. These arguments are forwarded to the program which is run by
+the 'run' item. The arguments are kept until you change them.
+
+The arguments belong to the current buffer (that is, each buffer can have its
+own arguments).
+If the buffer gets a new name with "save as" the arguments will now belong to
+the buffer with the new name.
+
+The command line arguments can be followed by pipes and redirections:
+
+ 11 22 | sort -rn | head -10 > out
+
+Caveat: If you look for the current arguments by calling this menu item again
+be sure to leave it with a CR (not Esc !). Due to a limitation of an internal
+Vim function CR will keep the arguments, Esc with discard them.
+
+
+1.7.3 RUN make *csupport-run-make*
+
+The item 'make' runs the external make program.
+
+
+1.7.4 COMMAND LINE ARGUMENTS FOR make *csupport-run-make-args*
+
+The item 'command line arguments for make' calls an input dialog which asks
+for command line arguments for make. These arguments are forwarded to make
+when called by the item 'make'.
+
+
+1.7.5 SPLINT *csupport-run-splint*
+
+Splint is a tool for statically checking C programs (see http://www.splint.org).
+Of course it has to be installed in order to be used within Vim. The menu
+item 'Run->splint' will run the current buffer through splint.
+
+An error window will be opened if splint has something to complain about.
+Quickfix commands can now be used to jump to an error location. For easier
+navigation see tip under 'SAVE AND COMPILE' |csupport-run-buffer|.
+
+Splint has many options. Presumably the best way is to keep the options in an
+option file (~/.splintrc). For a quick try you can use the menu item
+'Run->cmd. line arg. for splint' to specify some buffer related options.
+
+When vim is started this plugin will check whether splint is executable. If
+not, the menu item will *NOT' be visible.
+
+
+1.7.6 CODECHECK *csupport-run-codecheck*
+
+CodeCheck (TM) is a commercial code analyzing tool produced by Abraxas
+Software, Inc. (www.abraxas-software.com).
+Of course it has to be installed in order to be used within Vim. The menu
+item 'Run->CodeCheck' will run the current buffer through CodeCheck.
+
+An error window will be opened if CodeCheck has something to complain about.
+Quickfix commands can now be used to jump to an error location. For easier
+navigation see tip under 'SAVE AND COMPILE' |csupport-run-buffer|.
+
+CodeCheck has many options. For a quick try you can use the menu item
+'Run->cmd. line arg. for CodeCheck' to specify some buffer related options.
+
+CodeCheck will be run with default options (see |csupport-custom-glob-vars|).
+The default options can be overwritten by placing a global variable in
+~/.vimrc , e.g.
+
+ let g:C_CodeCheckOptions = "-K13 -Rmeyers"
+
+The default name for the executable is 'check'. There are other names in use
+on different platforms. The name can be changed by placing a global variable
+in ~/.vimrc , e.g.
+
+ let g:C_CodeCheckExeName = "chknt.exe"
+
+When vim is started this plugin will check whether CodeCheck is executable. If
+not, the menu item will *NOT' be visible.
+
+
+1.7.7 INDENT *csupport-run-indent*
+
+The formatter 'indent' can be run over the whole buffer or a marked region.
+Before formatting the whole buffer this buffer will be saved to disk and you
+will be asked for a confirmation.
+
+Indent has many options. These are kept in the file '.indent.pro' in your home
+directory. See the indent manual for more information.
+
+
+1.7.8 HARDCOPY *csupport-run-hardcopy*
+
+Generates a PostScript file from the whole buffer or from a marked region.
+On a Windows system a printer dialog is displayed.
+
+The print header contains date and time for the current locale. The definition
+used is
+
+ let s:C_Printheader = "%<%f%h%m%< %=%{strftime('%x %X')} Page %N"
+
+The current locale can be overwritten by changing the language, e.g.
+
+ :language C
+
+or by setting a global variable in the file ~/.vimrc , e.g. :
+
+ let g:C_Printheader = "%<%f%h%m%< %=%{strftime('%x %X')} SEITE %N"
+
+See :h printheader and :h strftime() for more details.
+
+
+1.7.9 REBUILD TEMPLATES *csupport-run-templates*
+
+After editing one or more template files a click on this item rereads the
+template files and rebuilds all templates.
+
+
+1.7.10 XTERM SIZE *csupport-run-xterm*
+
+The size of the xterm used for running a program (below) can be set by this
+menu item. The default is 80 columns with 24 lines.
+This feature is not available under Windows.
+
+
+1.7.11 OUTPUT REDIRECTION *csupport-run-output*
+
+Running a program can be done in one of three ways:
+(1) Run the program from the gVim command line.
+ This is for interactive programs with little input and output.
+(2) Run the program and direct the output into a window with name "C-Output".
+ The buffer and its content will disappear when the window is closed and
+ reused otherwise.
+ This is for non-interactive programs with little to very much output.
+ You have unlimited line length, regex search, navigation, ...
+ The tabstop value will be set to 8 for "C-Output".
+(3) Run the program in an xterm.
+
+The output method can be chosen from the menu item 'Run->output: ...'.
+This menu has three states:
+
+ output: VIM->buffer->xterm
+ output: BUFFER->xterm->vim
+ output: XTERM->vim->buffer
+
+The first (uppercase) item shows the current method. The default is 'vim'.
+This can be changed by setting the variable g:C_OutputGvim to another value.
+Possible values are 'vim', 'buffer' and 'xterm' .
+
+The xterm defaults can be set in ~/.vimrc by the variable g:C_XtermDefaults .
+The default is "-fa courier -fs 12 -geometry 80x24" :
+ font name : -fa courier
+ font size : -fs 12
+ terminal size : -geometry 80x24
+See 'xterm -help' for more options. Xterms are not available under Windows.
+
+------------------------------------------------------------------------------
+1.8 'help' *csupport-help*
+------------------------------------------------------------------------------
+
+The root menu item 'help' shows this plugin help in a help window. The help
+tags must have been generated with
+ :helptags ~/.vim/doc
+
+==============================================================================
+2. USAGE WITHOUT GUI (Vim) *csupport-usage-vim*
+==============================================================================
+
+The frequently used constructs can be inserted with key mappings. The
+mappings are also described in the document c-hot-keys.pdf (reference card,
+part of this package).
+Hint: Typing speed matters. The combination of a leader ('\') and the
+following character(s) will only be recognized for a short time.
+The insert mode mappings start with ` (backtick).
+
+Legend: (i) insert mode, (n) normal mode, (v) visual mode
+
+ -- Load / Unload C/C++ Support ----------------------------------------
+
+ \lcs Load C/C++ Support Menus (n, GUI only)}
+ \ucs Unload C/C++ Support Menus (n, GUI only)}
+
+ -- Comments -----------------------------------------------------------
+
+ \cl end-of-line comment (n,v,i)
+ \cj adjust end-of-line comment(s) (n,v,i)
+ \cs set end-of-line comment column (n)
+ \c* code -> comment /* */ (n,v)
+ \c/ code -> comment // (n,v)
+ \co comment -> code (n,v)
+ \cfr frame comment (n,i)
+ \cfu function comment (n,i)
+ \cme method description (n,i)
+ \cca class description (n,i)
+ \cd date (n,i)
+ \ct date \& time (n,i)
+
+ -- Statements ---------------------------------------------------------
+
+ \sd do { } while (n,v,i)
+ \sf for (n,i)
+ \sfo for { } (n,v,i)
+ \si if (n,i)
+ \sif if { } (n,v,i)
+ \sie if else (n,v,i)
+ \sife if { } else { } (n,v,i)
+ \sw while (n,i)
+ \swh while { } (n,v,i)
+ \ss switch (n,v,i)
+ \sc case (n,i)
+ \s{ { } (n,v,i)
+
+ -- Preprocessor -------------------------------------------------------
+
+ \p< #include <> (n,i)
+ \p" #include "" (n,i)
+ \pd #define (n,i)
+ \pu #undef (n,i)
+ \pie #if #else #endif (n,v,i)
+ \pid #ifdef #else #endif (n,v,i)
+ \pin #ifndef #else #endif (n,v,i)
+ \pind #ifndef #def #endif (n,v,i)
+ \pi0 #if 0 #endif (n,v,i)
+ \pr0 remove #if 0 #endif (n)
+ -- Idioms -------------------------------------------------------------
+
+ \if function (n,v,i)
+ \isf static function (n,v,i)
+ \im main() (n,v,i)
+ \i0 for( x=0; x<n; x+=1 ) (n,v,i)
+ \in for( x=n-1; x>=0; x-=1 ) (n,v,i)
+ \ie enum + typedef (n,i)
+ \is struct + typedef (n,i)
+ \iu union + typedef (n,i)
+ \ip printf() (n,i)
+ \isc scanf() (n,i)
+ \ica p=calloc() (n,i)
+ \ima p=malloc() (n,i)
+ \isi sizeof() (n,v,i)
+ \ias assert() (n,v,i)
+ \ii open input file (n,i)
+ \io open output file (n,i)
+
+ -- Snippets -----------------------------------------------------------
+
+ \nr read code snippet (n)
+ \nw write code snippet (n,v)
+ \ne edit code snippet (n)
+ \np pick up prototype (n,v)
+ \ni insert prototype(s) (n)
+ \nc clear prototype(s) (n)
+ \ns show prototype(s) (n)
+
+ -- C++ ----------------------------------------------------------------
+
+ \+m method implementation (n,i)
+ \+c class (n,i)
+ \+cn class (using new) (n,i)
+ \+tm template method implementation (n,i)
+ \+tc template class (n,i)
+ \+tcn template class (using new) (n,i)
+ \+tf template function (n,i)
+ \+ec error class (n,i)
+ \+tr try ... catch (n,v,i)
+ \+ca catch (n,v,i)
+ \+c. catch(...) (n,v,i)
+
+ -- Run ----------------------------------------------------------------
+
+ \rc save and compile (n)
+ \rl link (n)
+ \rr run (n)
+ \ra set comand line arguments (n)
+ \rm run make (n)
+ \rg cmd. line arg. for make (n)
+ \rp run splint (n)
+ \ri cmd. line arg. for splint (n)
+ \rk run CodeCheck (TM) (n)
+ \re cmd. line arg. for CodeCheck (TM) (n)
+ \rd run indent (n,v)
+ \rh hardcopy buffer (n,v)
+ \rs show plugin settings (n)
+ \rx set xterm size (n, only Linux/UNIX & GUI)
+ \ro change output destination (n)
+ \rt rebuild templates (n)
+
+The hotkeys are defined in the file type plugin c.vim (part of this csupport
+plugin package) and described in the document c-hot-keys.pdf
+
+==============================================================================
+3. HOTKEYS *csupport-hotkeys*
+==============================================================================
+
+The following hotkeys are defined in normal, visual and insert mode:
+
+ F9 compile and link
+ Alt-F9 write buffer and compile
+ Ctrl-F9 run executable
+ Shift-F9 set command line arguments
+
+ Shift-F2 switch between source files and header files
+
+Shift-F2 can be used to switch between source files and header files if the
+plugin a.vim is present. To suppress the creation of a new header file when
+switching from a source file the file ~/.vimrc should contain a line
+
+ let g:alternateNoDefaultAlternate = 1
+
+A header file will only be opened if it already exists.
+
+The hotkeys are defined in the file type plugin c.vim .
+
+All hotkeys from the non-GUI mode also work for gVim (see |csupport-usage-vim|).
+
+==============================================================================
+4. CUSTOMIZATION *csupport-custom*
+==============================================================================
+
+------------------------------------------------------------------------------
+4.1 GLOBAL VARIABLES *csupport-custom-glob-vars*
+------------------------------------------------------------------------------
+
+Several global variables are checked by the script to customize it:
+
+ ----------------------------------------------------------------------------
+ GLOBAL VARIABLE DEFAULT VALUE TAG (see below)
+ ----------------------------------------------------------------------------
+ g:C_GlobalTemplateFile plugin_dir.'c-support/templates/Templates'
+ g:C_LocalTemplateFile $HOME.'/.vim/c-support/templates/Templates'
+ g:C_TemplateOverwrittenMsg 'yes'
+
+ g:C_CodeSnippets plugin_dir."/c-support/codesnippets/"
+ g:C_Dictionary_File ""
+ g:C_LoadMenus "yes"
+ g:C_MenuHeader "yes"
+ g:C_OutputGvim "vim"
+ g:C_XtermDefaults "-fa courier -fs 12 -geometry 80x24"
+ g:C_Printheader "%<%f%h%m%< %=%{strftime('%x %X')} Page %N"
+
+ Linux/UNIX:
+ g:C_ObjExtension ".o"
+ g:C_ExeExtension ""
+ g:C_CCompiler "gcc"
+ g:C_CplusCompiler "g++"
+ Windows:
+ g:C_ObjExtension ".obj"
+ g:C_ExeExtension ".exe"
+ g:C_CCompiler "gcc.exe"
+ g:C_CplusCompiler "g++.exe"
+ g:C_CFlags "-Wall -g -O0 -c"
+ g:C_LFlags "-Wall -g -O0"
+ g:C_Libs "-lm"
+ g:C_LineEndCommColDefault 49
+ g:C_CExtension "c"
+ g:C_TypeOfH "cpp"
+
+ g:C_CodeCheckExeName "check"
+ g:C_CodeCheckOptions "-K13"
+
+The variable plugin_dir will automatically be set to one of the following values:
+ $HOME.'/.vim/' for Linux/Unix
+ $VIM.'/vimfiles/' for Windows
+
+ ----------------------------------------------------------------------------
+
+1. group: g:C_GlobalTemplateFile : Sets the master template file (see|csupport-templates|)
+ g:C_LocalTemplateFile : Sets the local template file (see|csupport-templates|)
+ g:C_TemplateOverwrittenMsg : message if template is overwritten
+
+2. group: g:C_CodeSnippets : The name of the code snippet directory
+ (see |csupport-snippets|).
+ g:C_Dictionary_File : The name(s) of the dictionary file(s) used for
+ word completion (see also |csupport-dictionary|)
+ g:C_Root : the name of the root menu of this plugin
+ g:C_LoadMenus : Load menus and mappings ("yes", "no") at startup.
+ g:C_MenuHeader : Switch the submenu header on/off.
+ g:C_OutputGvim : when program is running output goes to the vim
+ command line ("vim"), to a buffer ("buffer") or to
+ an xterm ("xterm").
+ g:C_XtermDefaults : the xterm defaults
+ g:C_Printheader : hardcopy: definition of the page header
+
+3. group: g:C_CExtension : Extension of C files. Everything else is C++.
+ g:C_TypeOfH : filetype of header files with extension 'h' (c,cpp)
+ (see |csupport-comm-style|)
+ g:C_CCompiler : The name of the C compiler.
+ g:C_CplusCompiler : The name of the C++ compiler.
+ g:C_CFlags : Compiler flags used for a compilation.
+ g:C_LFlags : Compiler flags used for linkage.
+ g:C_Libs : Libraries to link with.
+ g:C_ObjExtension : C/C+ file extension for objects
+ (leading point required if not empty)
+ g:C_ExeExtension : C/C+ file extension for executables
+ (leading point required if not empty)
+ g:C_LineEndCommColDefault : Default starting column for end-of-line comments.
+ g:C_CodeCheckExeName : The name of the CodeCheck (TM) executable
+ (the default is 'check')
+ g:C_CodeCheckOptions : Default options for CodeCheck (TM)
+ (see |csupport-run-codecheck|).
+
+To override the default add appropriate assignments to ~/.vimrc .
+
+------------------------------------------------------------------------------
+4.2 THE ROOT MENU *csupport-custom-root-menu*
+------------------------------------------------------------------------------
+
+The variable g:C_Root, if set (in ~/.vimrc or in ~/.gvimrc), gives the name of
+the single Vim root menu item in which the C/C++ submenus will be put. The
+default is
+ '&C\/C\+\+.'
+Note the terminating dot. A single root menu can be used if the screen is
+limited or several plugins are used in parallel.
+
+If set to "", this single root menu item will not appear. Now all submenus
+are put into the Vim root menu. This is nice for beginners in a lab
+installation or for C-only programmers.
+
+------------------------------------------------------------------------------
+4.3 SYSTEM-WIDE INSTALLATION *csupport-system-wide*
+------------------------------------------------------------------------------
+
+A system-wide installation (one installation for all users) is done as
+follows.
+
+As *** SUPERUSER *** :
+
+(1) Find the Vim installation directory.
+The Vim ex command ':echo $VIM' gives '/usr/local/share/vim' or something like
+that. Beyond this directory you will find the Vim installation, e.g. in
+'/usr/local/share/vim/vim71' if Vim version 7.1 has been installed.
+
+(2) Create a new subdirectory 'vimfiles', e.g. '/usr/local/share/vim/vimfiles'.
+
+(3) Install C/C++ Support
+Copy the archive cvim.zip to this new directory and unpack it:
+ unzip cvim.zip
+
+(4) Generate the help tags:
+ :helptags $VIM/vimfiles/doc
+
+
+As *** USER *** :
+
+Create your private snippet directory:
+
+ mkdir --parents ~/.vim/c-support/codesnippets
+
+You may want to copy the snippets comming with this plugin (in
+$VIM/vimfiles/c-support/codesnippets) into the new directory or to set a
+link to the global directory.
+
+Create your private template directory:
+
+ mkdir --parents ~/.vim/c-support/template
+
+Create a private template file 'Templates' in this directory to overwrite some
+macros, e.g.
+
+ *|AUTHOR|* = your name
+ *|AUTHORREF|* = ...
+ *|EMAIL|* = ...
+ *|COMPANY|* = ...
+ *|COPYRIGHT|* = ...
+
+You can also have local templates which overwrite the global ones. To suppress
+the messages in this case set a global variable in '~/.vimrc' :
+
+ let g:C_TemplateOverwrittenMsg= 'no'
+
+The default is 'yes'.
+
+==============================================================================
+5. TEMPLATE FILES AND TAGS *csupport-templates*
+==============================================================================
+
+------------------------------------------------------------------------------
+5.1 TEMPLATE FILES *csupport-templates-files*
+------------------------------------------------------------------------------
+
+Nearly all menu entries insert code snippets or comments. All these stuff is
+taken from template files and can be changed by the user to meet his
+requirements.
+
+The master template file is '$HOME/.vim/c-support/templates/Templates' for a
+user installation and '$VIM/vimfiles/c-support/templates/Templates' for a
+system-wide installation (see|csupport-system-wide|).
+
+The master template file starts with a macro section followed by templates for
+single menu items or better by including other template files grouping the
+templates according to the menu structure of this plugin. The master file
+could look like this:
+
+ $
+ $ =============================================================
+ $ ========== USER MACROS ======================================
+ $ =============================================================
+ $
+ *|AUTHOR|* = Dr. Fritz Mehner
+ *|AUTHORREF|* = mn
+ *|EMAIL|* = mehner@fh-swf.de
+ *|COMPANY|* = FH Südwestfalen, Iserlohn
+ *|COPYRIGHT|* = Copyright (c)*|YEAR|, |AUTHOR|*
+ $
+ $ =============================================================
+ $ ========== FILE INCLUDES ====================================
+ $ =============================================================
+ $
+ *|includefile|* = c.comments.template
+ *|includefile|* = c.cpp.template
+ *|includefile|* = c.idioms.template
+ *|includefile|* = c.preprocessor.template
+ *|includefile|* = c.statements.template
+
+Lines starting with a dollar sign are comments. The section starting
+with *|AUTHOR|* assigns values to predefined tags
+(see|csupport-templates-macros|) to personalize some templates. Other
+predefined tags with given default values can be used (e.g. *|YEAR|* ).
+
+User defined tags are possible. They have the following syntax:
+
+ *|macroname|* = replacement
+
+A macroname starts with a letter (uppercase or lowercase) followed by zero or
+more letters, digits or underscores.
+
+------------------------------------------------------------------------------
+5.2 MACROS *csupport-templates-macros*
+------------------------------------------------------------------------------
+
+The following macro names are predefined. The first group is used to
+personalize templates.
+
+ ----------------------------------------------------------------------------
+ PREDEFINED MACROS DEFAULT VALUE
+ ----------------------------------------------------------------------------
+*|AUTHOR|* ""
+*|AUTHORREF|* ""
+*|EMAIL|* ""
+*|COMPANY|* ""
+*|PROJECT|* ""
+*|COPYRIGHTHOLDER|* ""
+*|includefile|* ""
+
+*|BASENAME|* filename without path and suffix
+*|DATE|* the preferred date representation for the current locale
+ without the time
+*|FILENAME|* filename without path
+*|PATH|* path without filename
+*|SUFFIX|* filename suffix
+*|TIME|* the preferred time representation for the current locale
+ without the date and the time zone or name or abbreviation
+*|YEAR|* the year as a decimal number including the century
+
+*|includefile|* can be used to include an additional template file. A file
+will be included only once. Commenting and uncommenting include macros is a
+simple way to switch between several sets of templates (see also
+|csupport-run-templates|). Overwriting existing macros and templates is
+possible.
+
+ ----------------------------------------------------------------------------
+ PREDEFINED TAGS
+ ----------------------------------------------------------------------------
+ <CURSOR> The cursor position after insertion of a template
+ <SPLIT> The split point when inserting in visual mode
+ (see|csupport-templates-definition|)
+
+A dependent template file can start with its own macro section. There is no
+need to have all user defined macros in the master file.
+When the first template definition is found (see below) macro definitions are
+no longer recognized.
+
+ ----------------------------------------------------------------------------
+ USER DEFINED FORMATS FOR DATE AND TIME *csupport-templates-date*
+ ----------------------------------------------------------------------------
+The format for *|DATE|* ,*|TIME|* , and*|YEAR|* can be set by the user. The
+defaults are
+ *|DATE|* '%x'
+ *|TIME|* '%X'
+ *|YEAR|* '%Y'
+See the manual page of the C function strftime() for the format. The accepted
+format depends on your system, thus this is not portable! The maximum length
+of the result is 80 characters.
+
+User defined formats can be set using the following global variables in
+~/.vimrc , e.g.
+ let g:C_FormatDate = '%D'
+ let g:C_FormatTime = '%H:%M'
+ let g:C_FormatYear = 'year %Y'
+
+------------------------------------------------------------------------------
+5.3 TEMPLATES *csupport-templates-names*
+------------------------------------------------------------------------------
+
+5.3.1 Template names
+
+The template behind a menu entry is identified by a given name. The first part
+of the name identifies the menu, the second part identifies the item. The
+modes are also hard coded (see|csupport-templates-definition|for the use of
+<SPLIT>).
+
+ TEMPLATE NAME MODES
+ --------------------------------------------------------------------------
+ comment.end-of-line-comment normal visual
+ comment.frame normal
+ comment.function normal
+ comment.method normal
+ comment.class normal
+ comment.file-description normal
+ comment.keyword-bug normal
+ comment.keyword-compiler normal
+ comment.keyword-todo normal
+ comment.keyword-tricky normal
+ comment.keyword-warning normal
+ comment.keyword-workaround normal
+ comment.keyword-keyword normal
+ comment.file-section-cpp-header-includes normal
+ comment.file-section-cpp-macros normal
+ comment.file-section-cpp-typedefs normal
+ comment.file-section-cpp-data-types normal
+ comment.file-section-cpp-class-defs normal
+ comment.file-section-cpp-local-variables normal
+ comment.file-section-cpp-prototypes normal
+ comment.file-section-cpp-function-defs-exported normal
+ comment.file-section-cpp-function-defs-local normal
+ comment.file-section-cpp-class-implementations-exported normal
+ comment.file-section-cpp-class-implementations-local normal
+ comment.file-section-hpp-header-includes normal
+ comment.file-section-hpp-macros normal
+ comment.file-section-hpp-exported-typedefs normal
+ comment.file-section-hpp-exported-data-types normal
+ comment.file-section-hpp-exported-class-defs normal
+ comment.file-section-hpp-exported-variables normal
+ comment.file-section-hpp-exported-function-declarations normal
+
+ cpp.method-implementation normal
+ cpp.class normal
+ cpp.class-using-new normal
+ cpp.error-class normal
+ cpp.template-method-implementation normal
+ cpp.template-class normal
+ cpp.template-class-using-new normal
+ cpp.template-function normal
+ cpp.operator-in normal
+ cpp.operator-out normal
+ cpp.try-catch normal visual
+ cpp.catch normal visual
+ cpp.catch-points normal visual
+ cpp.extern normal visual
+ cpp.open-input-file normal
+ cpp.open-output-file normal
+ cpp.namespace normal visual
+
+ idioms.function normal visual
+ idioms.function-static normal visual
+ idioms.main normal visual
+ idioms.enum normal visual
+ idioms.struct normal visual
+ idioms.union normal visual
+ idioms.calloc normal
+ idioms.malloc normal
+ idioms.open-input-file normal
+ idioms.open-output-file normal
+ idioms.fprintf normal
+ idioms.fscanf normal
+
+ preprocessor.define normal
+ preprocessor.undefine normal
+ preprocessor.if-else-endif normal visual
+ preprocessor.ifdef-else-endif normal visual
+ preprocessor.ifndef-else-endif normal visual
+ preprocessor.ifndef-def-endif normal visual
+
+ statements.do-while normal visual
+ statements.for normal
+ statements.for-block normal visual
+ statements.if normal
+ statements.if-block normal visual
+ statements.if-else normal visual
+ statements.if-block-else normal visual
+ statements.while normal
+ statements.while-block normal visual
+ statements.switch normal visual
+ statements.case normal
+ statements.block normal visual
+
+
+
+5.3.2 Template definition *csupport-templates-definition*
+
+A template definition starts with a template head line with the following
+syntax:
+
+ == templatename == [ position == ]
+
+The templatename is one of the above template identifiers. The position
+attribute is optional. Possible attribute values are:
+
+ above insert the template before the current line
+ append append the template to the current line
+ below insert the template below the current line
+ insert insert the template at the cursor position
+ start insert the template before the first line of the buffer
+
+An example:
+
+ == comment.function ==
+ /*
+ * === FUNCTION =======================================================
+ * Name: <CURSOR>
+ * Description:
+ * ======================================================================
+ */
+
+The definition of a template ends at the next head line or at the end of the
+file.
+
+Templates for the visual mode can use <SPLIT>. The text before <SPLIT> will
+than be inserted above the marked area, the text after <SPLIT> will be
+inserted behind the marked area. An example:
+
+ == statements.if-block-else ==
+ if ( <CURSOR> ) {
+ <SPLIT>} else {
+ }
+
+If applied to the marked block
+
+ xxxxxxxxxxx
+ xxxxxxxxxxx
+
+this template yields
+
+ if ( ) {
+ xxxxxxxxxxx
+ xxxxxxxxxxx
+ } else {
+ }
+
+The templates with a visual mode are shown in the table under
+|csupport-templates-names|.
+
+5.3.3 Template expansion *csupport-templates-expansion*
+
+There are additional ways to control the expansion of a template.
+
+USER INPUT
+----------
+If the usage of a yet undefined user macro starts with a question mark the
+user will be asked for the replacement first, e.g. with the following template
+
+ == idioms.function ==
+ void<CURSOR>
+ *|?FUNCTION_NAME|* ( )
+ {
+ <SPLIT> return ;
+ } /* ----- end of function*|FUNCTION_NAME|* ----- */
+
+The can specify the function name which then will be applied twice. If the
+macro was already in use the old value will be suggested as default.
+
+MACRO MANIPULATION
+------------------
+
+A macro expansion can be controlled by the following attributes
+
+ :l change macro text to lowercase
+ :u change macro text to uppercase
+ :c capitalize macro text
+ :L legalize name
+
+The include guard template is an example for the use of ':L' :
+
+ == preprocessor.ifndef-def-endif ==
+ #ifndef *|?BASENAME:L|_INC*
+ #define *|BASENAME|_INC*
+ <CURSOR><SPLIT>
+ #endif // ----- #ifndef*|BASENAME|_INC* -----
+
+The base name of the file shall be used as part of the include guard name.
+The predefined macro*|BASENAME|* is used to ask for this part because this
+macro has already a defined value. That value can accepted or replaced by the
+user. For the filename 'test test++test.h' the legalized base name
+'TEST_TEST_TEST' will be suggested.
+
+Legalization means:
+ - replace all whitespaces by underscores
+ - replace all non-word characters by underscores
+ - replace '+' and '-' by underscore
+
+
+==============================================================================
+6. C/C++ DICTIONARY *csupport-dictionary*
+==============================================================================
+
+The files
+
+ c-c++-keywords.list
+ k+r.list
+ stl_index.list
+
+are a part of this plugin and can be used (together with your own lists) as
+dictionaries for automatic word completion. This feature is enabled by
+default. The default word lists are
+
+ plugin_dir/c-support/wordlists/c-c++-keywords.list
+ plugin_dir/c-support/wordlists/k+r.list
+ plugin_dir/c-support/wordlists/stl_index.list
+
+The variable plugin_dir will automatically be set by the plugin to one of the
+following values:
+ $HOME.'/.vim/' for Linux/Unix
+ $VIM.'/vimfiles/' for Windows
+If you want to use an additional list MyC.list put the following lines into
+ ~/.vimrc :
+
+ let g:C_Dictionary_File = PLUGIN_DIR.'/c-support/wordlists/c-c++-keywords.list,'.
+ \ PLUGIN_DIR.'/c-support/wordlists/k+r.list,'.
+ \ PLUGIN_DIR.'/c-support/wordlists/stl_index.list,'.
+ \ PLUGIN_DIR.'/c-support/wordlists/MyC.list'
+
+When in file ~/.vimrc the name PLUGIN_DIR has to be replaced by $HOME or
+$VIM (see above). Whitespaces in the pathnames have to be escaped with a
+backslash.
+The right side is a comma separated list of files. Note the point at the end
+of the first line (string concatenation) and the backslash in front of the
+second line (continuation line).
+You can use Vim's dictionary feature CTRL-X, CTRL-K (and CTRL-P, CTRL-N).
+
+
+==============================================================================
+7. EXTEND taglist.vim FOR make AND qmake *csupport-taglist*
+==============================================================================
+
+The use of the Vim plugin taglist.vim (Author: Yegappan Lakshmanan) is highly
+recommended. It uses the program ctags which generates tag files for 3 dozen
+languages (Exuberant Ctags, Darren Hiebert, http://ctags.sourceforge.net).
+With the following extensions the list of targets in a makefile can be shown
+in the taglist window.
+
+1) Append the file customization.ctags to the file $HOME/.ctags .
+
+2) Add the following lines (from customization.vimrc) to $HOME/.vimrc :
+
+ "
+ "-------------------------------------------------------------------
+ " taglist.vim : toggle the taglist window
+ " taglist.vim : define the title texts for make
+ " taglist.vim : define the title texts for qmake
+ "-------------------------------------------------------------------
+ noremap <silent> <F11> <Esc><Esc>:Tlist<CR>
+ inoremap <silent> <F11> <Esc><Esc>:Tlist<CR>
+
+ let tlist_make_settings = 'make;m:makros;t:targets'
+ let tlist_qmake_settings = 'qmake;t:SystemVariables'
+
+ if has("autocmd")
+ " ---------- qmake : set file type for *.pro ----------
+ autocmd BufNewFile,BufRead *.pro set filetype=qmake
+ endif " has("autocmd")
+
+3) restart vim/gvim
+
+The two maps will toggle the taglist window (hotkey F11) in all editing modes.
+The two assignments define the headings for the (q)make sections in the
+taglist window. The autocmd set the file type 'qmake' for the filename
+extension 'pro' (ctags needs this).
+
+==============================================================================
+8. SYNTAX BASED FOLDING *csupport-folding*
+==============================================================================
+
+Syntax based folding can be enabled by adding the following lines to the file
+'~/.vim/syntax/c.vim':
+
+ syn region cBlock start="{" end="}" transparent fold
+ set foldmethod=syntax
+ " initially all folds open:
+ set foldlevel=999
+
+You may have to create this file first. See |folding| for more information.
+
+==============================================================================
+9. WINDOWS PARTICULARITIES *csupport-windows*
+==============================================================================
+
+The plugin should go into the directory structure below the local
+installation directory $HOME/.vim/ for LINUX/UNIX and $VIM/vimfiles/ for
+Windows.
+The values of the two variables can be found from inside Vim:
+ :echo $VIM
+or
+ :echo $HOME
+
+Configuration files:
+
+ LINUX/UNIX : $HOME/.vimrc and $HOME/.gvimrc
+ Windows : $VIM/_vimrc and $VIM/_gvimrc
+
+Compiler settings:
+
+It could be necessary to add further settings for your compiler. To compile
+C++-programs using a Dev-C++ installation (http://www.bloodshed.net) the
+following item in $VIM/_vimrc is needed (depends on the Dev-C++ install
+directory):
+
+ let g:C_CFlags = '-Wall -g -o0 -c -I c:\programs\dev-c++\include\g++'
+
+==============================================================================
+10. TROUBLESHOOTING *csupport-troubleshooting*
+==============================================================================
+
+* I do not see any new main menu item.
+ - Was the archive extracted into the right directory?
+
+* How can I see what was loaded?
+ - Use ':scriptnames' from the Vim command line.
+
+* No main menu item.
+ - Loading of plugin files must be enabled. If not use
+ :filetype plugin on
+ This is the minimal content of the file '$HOME/.vimrc'. Create one if there
+ is none, or better use customization.vimrc.
+
+* Most key mappings do not work.
+ - They are defined in a filetype plugin in '$HOME/.vim/ftplugin/'. Use ':filetype'
+ to check if filetype plugins are enabled. If not, add the line
+ filetype plugin on
+ to the file '~/.vimrc'.
+
+* Some hotkeys do not work.
+ - The hotkeys might be in use by your graphical desktop environment.
+ Under KDE Ctrl-F9 is the hotkey which let you switch to the 9. desktop.
+ The key settings can usually be redefined.
+
+* Splint and/or CodeCheck menu item not visible.
+ - The program is not installed or not found (path not set) or not executable.
+
+==============================================================================
+11. RELEASE NOTES *csupport-release-notes*
+==============================================================================
+See file c-support/doc/ChangeLog .
+
+==============================================================================
+vim:tw=78:noet:ts=2:ft=help:norl:
diff --git a/dot_vim/doc/haskellmode.txt b/dot_vim/doc/haskellmode.txt
new file mode 100644
index 0000000..905349c
--- /dev/null
+++ b/dot_vim/doc/haskellmode.txt
@@ -0,0 +1,456 @@
+*haskellmode.txt* Haskell Mode Plugins 23/04/2009
+
+Authors:
+ Claus Reinke <claus.reinke@talk21.com> ~
+
+Homepage:
+ http://projects.haskell.org/haskellmode-vim
+
+CONTENTS *haskellmode*
+
+ 1. Overview |haskellmode-overview|
+ 1.1 Runtime Requirements |haskellmode-requirements|
+ 1.2 Quick Reference |haskellmode-quickref|
+ 2. Settings |haskellmode-settings|
+ 2.1 GHC and web browser |haskellmode-settings-main|
+ 2.2 Fine tuning - more configuration options |haskellmode-settings-fine|
+ 3. GHC Compiler Integration |haskellmode-compiler|
+ 4. Haddock Integration |haskellmode-haddock|
+ 4.1 Indexing |haskellmode-indexing|
+ 4.2 Lookup |haskellmode-lookup|
+ 4.3 Editing |haskellmode-editing|
+ 5. Hpaste Integration |haskellmode-hpaste|
+ 6. Additional Resources |haskellmode-resources|
+
+==============================================================================
+ *haskellmode-overview*
+1. Overview ~
+
+ The Haskell mode plugins provide advanced support for Haskell development
+ using GHC/GHCi on Windows and Unix-like systems. The functionality is
+ based on Haddock-generated library indices, on GHCi's interactive
+ commands, or on simply activating (some of) Vim's built-in program editing
+ support in Haskell-relevant fashion. These plugins live side-by-side with
+ the pre-defined |syntax-highlighting| support for |haskell| sources, and
+ any other Haskell-related plugins you might want to install (see
+ |haskellmode-resources|).
+
+ The Haskell mode plugins consist of three filetype plugins (haskell.vim,
+ haskell_doc.vim, haskell_hpaste.vim), which by Vim's |filetype| detection
+ mechanism will be auto-loaded whenever files with the extension '.hs' are
+ opened, and one compiler plugin (ghc.vim) which you will need to load from
+ your vimrc file (see |haskellmode-settings|).
+
+
+ *haskellmode-requirements*
+1.1 Runtime Requirements ~
+
+ The plugins require a recent installation of GHC/GHCi. The functionality
+ derived from Haddock-generated library indices also requires a local
+ installation of the Haddock documentation for GHC's libraries (if there is
+ no documentation package for your system, you can download a tar-ball from
+ haskell.org), as well as an HTML browser (see |haddock_browser|). If you
+ want to use the experimental hpaste interface, you will also need Wget.
+
+ * GHC/GHCi ~
+ Provides core functionality. http://www.haskell.org/ghc
+
+ * HTML library documentation files and indices generated by Haddock ~
+ These usually come with your GHC installation, possibly as a separate
+ package. If you cannot get them this way, you can download a tar-ball
+ matching your GHC version from http://www.haskell.org/ghc/docs/
+
+ * HTML browser with basic CSS support ~
+ For browsing Haddock docs.
+
+ * Wget ~
+ For interfacing with http://hpaste.org.
+
+ Wget is widely available for modern Unix-like operating systems. Several
+ ports also exist for Windows, including:
+
+ - Official GNU Wget (natively compiled for Win32)
+ http://www.gnu.org/software/wget/#downloading
+
+ - UnxUtils Wget (natively compiled for Win32, bundled with other ported
+ Unix utilities)
+ http://sourceforge.net/projects/unxutils/
+
+ - Cygwin Wget (emulated POSIX in Win32, must be run under Cygwin)
+ http://cygwin.com/packages/wget/
+
+ *haskellmode-quickref*
+1.2 Quick Reference ~
+
+|:make| load into GHCi, show errors (|quickfix| |:copen|)
+|_ct| create |tags| file
+|_si| show info for id under cursor
+|_t| show type for id under cursor
+|_T| insert type declaration for id under cursor
+|balloon| show type for id under mouse pointer
+|_?| browse Haddock entry for id under cursor
+|_?1| search Hoogle for id under cursor
+|_?2| search Hayoo! for id under cursor
+|:IDoc| {identifier} browse Haddock entry for unqualified {identifier}
+|:MDoc| {module} browse Haddock entry for {module}
+|:FlagReference| {s} browse Users Guide Flag Reference for section {s}
+|_.| qualify unqualified id under cursor
+|_i| add 'import <module>(<identifier>)' for id under cursor
+|_im| add 'import <module>' for id under cursor
+|_iq| add 'import qualified <module>(<identifier>)' for id under cursor
+|_iqm| add 'import qualified <module>' for id under cursor
+|_ie| make imports explit for import statement under cursor
+|_opt| add OPTIONS_GHC pragma
+|_lang| add LANGUAGE pragma
+|i_CTRL-X_CTRL-O| insert-mode completion based on imported ids (|haskellmode-XO|)
+|i_CTRL-X_CTRL-U| insert-mode completion based on documented ids (|haskellmode-XU|)
+|i_CTRL-N| insert-mode completion based on imported sources
+|:GHCi|{command/expr} run GHCi command/expr in current module
+
+|:GHCStaticOptions| edit static GHC options for this buffer
+|:DocSettings| show current Haddock-files-related plugin settings
+|:DocIndex| populate Haddock index
+|:ExportDocIndex| cache current Haddock index to a file
+|:HpasteIndex| Read index of most recent entries from hpaste.org
+|:HpastePostNew| Submit current buffer as a new hpaste
+
+
+==============================================================================
+ *haskellmode-settings*
+2. Settings ~
+
+ The plugins try to find their dependencies in standard locations, so if
+ you're lucky, you will only need to set |compiler| to ghc, and configure
+ the location of your favourite web browser. You will also want to make
+ sure that |filetype| detection and |syntax| highlighting are on. Given the
+ variety of things to guess, however, some dependencies might not be found
+ correctly, or the defaults might not be to your liking, in which case you
+ can do some more fine tuning. All of this configuration should happen in
+ your |vimrc|.
+>
+ " enable syntax highlighting
+ syntax on
+
+ " enable filetype detection and plugin loading
+ filetype plugin on
+<
+
+ *haskellmode-settings-main*
+2.1 GHC and web browser ~
+
+ *compiler-ghc* *ghc-compiler*
+ To use the features provided by the GHC |compiler| plugin, use the
+ following |autocommand| in your vimrc:
+>
+ au BufEnter *.hs compiler ghc
+<
+ *g:ghc*
+ If the compiler plugin can't locate your GHC binary, or if you have
+ several versions of GHC installed and have a preference as to which binary
+ is used, set |g:ghc|:
+>
+ :let g:ghc="/usr/bin/ghc-6.6.1"
+<
+ *g:haddock_browser*
+ The preferred HTML browser for viewing Haddock documentation can be set as
+ follows:
+>
+ :let g:haddock_browser="/usr/bin/firefox"
+<
+
+ *haskellmode-settings-fine*
+2.2 Fine tuning - more configuration options ~
+
+ Most of the fine tuning is likely to happen for the haskellmode_doc.vim
+ plugin, so you can check the current settings for this plugin via the
+ command |:DocSettings|. If all the settings reported there are to your
+ liking, you probably won't need to do any fine tuning.
+
+ *g:haddock_browser_callformat*
+ By default, the web browser|g:haddock_browser| will be started
+ asynchronously (in the background) on Windows or when vim is running in a
+ GUI, and synchronously (in the foreground) otherwise. These settings seem
+ to work fine if you are using a console mode browser (eg, when editing in
+ a remote session), or if you are starting a GUI browser that will launch
+ itself in the background. But if these settings do not work for you, you
+ can change the default browser launching behavior.
+
+ This is controlled by |g:haddock_browser_callformat|. It specifies a
+ format string which uses two '%s' parameters, the first representing the
+ path of the browser to launch, and the second is the documentation URL
+ (minus the protocol specifier, i.e. file://) passed to it by the Haddock
+ plugin. For instance, to launch a GUI browser on Unix-like systems and
+ force it to the background (see also |shellredir|):
+>
+ :let g:haddock_browser_callformat = '%s file://%s '.printf(&shellredir,'/dev/null').' &'
+<
+ *g:haddock_docdir*
+ Your system's installed Haddock documentation for GHC and its libraries
+ should be automatically detected. If the plugin can't locate them, you
+ must point |g:haddock_docdir| to the path containing the master index.html
+ file for the subdirectories 'libraries', 'Cabal', 'users_guide', etc.:
+>
+ :let g:haddock_docdir="/usr/local/share/doc/ghc/html/"
+<
+ *g:haddock_indexfiledir*
+ The information gathered from Haddock's index files will be stored in a
+ file called 'haddock_index.vim' in a directory derived from the Haddock
+ location, or in $HOME. To configure another directory for the index file,
+ use:
+>
+ :let g:haddock_indexfiledir="~/.vim/"
+<
+ *g:wget*
+ If you also want to try the experimental hpaste functionality, you might
+ you need to set |g:wget| before the |hpaste| plugin is loaded (unless wget
+ is in your PATH):
+>
+ :let g:wget="C:\Program Files\wget\wget.exe"
+<
+
+ Finally, the mappings actually use|<LocalLeader>|behind the scenes, so if
+ you have to, you can redefine|maplocalleader|to something other than '_'.
+ Just remember that the docs still refer to mappings starting with '_', to
+ avoid confusing the majority of users!-)
+
+==============================================================================
+ *haskellmode-compiler* *ghc*
+3. GHC Compiler Integration ~
+
+ The GHC |compiler| plugin sets the basic |errorformat| and |makeprg| to
+ enable |quickfix| mode using GHCi, and provides functionality for show
+ info (|_si|), show type (|_t| or mouse |balloon|), add type declaration
+ (|_T|), create tag file (|_ct|), and insert-mode completion
+ (|i_CTRL-X_CTRL-O|) based on GHCi browsing of the current and imported
+ modules.
+
+ To avoid frequent calls to GHCi, type information is cached in Vim. The
+ cache will be populated the first time a command depends on it, and will
+ be refreshed every time a |:make| goes through without generating errors
+ (if the |:make| does not succeed, the old types will remain available in
+ Vim). You can also unconditionally force reloading of type info using
+ |:GHCReload| (if GHCi cannot load your file, the type info will be empty).
+
+
+ In addition to the standard|quickfix| commands, the GHC compiler plugin
+ provides:
+
+ *:GHCReload*
+:GHCReload Reload modules and unconditionally refresh cache of
+ type info. Usually, |:make| is prefered, as that will
+ refresh the cache only if GHCi reports no errors, and
+ show the errors otherwise.
+
+ *:GHCStaticOptions*
+:GHCStaticOptions Edit the static GHC options for the current buffer.
+ Useful for adding hidden packages (-package ghc).
+
+ *:GHCi*
+:GHCi {command/expr} Run GHCi commands/expressions in the current module.
+
+ *_ct*
+_ct Create |tags| file for the current Haskell source
+ file. This uses GHCi's :ctags command, so it will work
+ recursively, but will only list tags for exported
+ entities.
+
+ *_opt*
+_opt Shows a menu of frequently used GHC compiler options
+ (selecting an entry adds the option as a pragma to the
+ start of the file). Uses popup menu (GUI) or :emenu
+ and command-line completion (CLI).
+
+ *_lang*
+_lang Shows a menu of the LANGUAGE options supported by GHC
+ (selecting an entry adds the language as a pragma to
+ the start of the file). Uses popup menu (GUI) or
+ :emenu and command-line completion (CLI).
+
+ *_si*
+_si Show extended information for the name under the
+ cursor. Uses GHCi's :info command. Output appears in
+ |preview-window| (when done, close with |:pclose|).
+
+ *_t*
+_t Show type for the name under the cursor. Uses cached
+ info from GHCi's :browse command.
+
+ *_T*
+_T Insert type declaration for the name under the cursor.
+ Uses cached info from GHCi's :browse command.
+
+ *haskellmode-XO* *haskellmode-omni-completion*
+CTRL-X CTRL-O Standard insert-mode omni-completion based on the
+ cached type info from GHCi browsing current and
+ imported modules. Only names from the current and from
+ imported modules are included (the completion menu
+ also show the type of each identifier).
+
+==============================================================================
+ *haskellmode-haddock* *haddock*
+4. Haddock Integration ~
+
+ Haskell mode integrates with Haddock-generated HTML documentation,
+ providing features such as navigating to the Haddock entry for the
+ identifier under the cursor (|_?|), completion for the identifier under
+ the cursor (|i_CTRL-X_CTRL-U|), and adding import statements (|_i| |_im|
+ |_iq| |_iqm|) or module qualifier (|_.|) for the identifier under the
+ cursor.
+
+ These commands operate on an internal Haddock index built from the
+ platform's installed Haddock documentation for GHC's libraries. Since
+ populating this index takes several seconds, it should be stored as a
+ file called 'haddock_index.vim' in the directory specified by
+ |g:haddock_indexfiledir|.
+
+ Some commands present a different interface (popup menu or command-line
+ completion) according to whether the current Vim instance is graphical or
+ console-based (actually: whether or not the GUI is running). Such
+ differences are marked below with the annotations (GUI) and (CLI),
+ respectively.
+
+ |:DocSettings| shows the settings for this plugin. If you are happy with
+ them, you can call |:ExportDocIndex| to populate and write out the
+ documentation index (should be called once for every new version of GHC).
+
+ *:DocSettings*
+:DocSettings Show current Haddock-files-related plugin settings.
+
+
+ *haskellmode-indexing*
+4.1 Indexing ~
+
+ *:DocIndex*
+:DocIndex Populate the Haddock index from the GHC library
+ documentation.
+
+ *:ExportDocIndex*
+:ExportDocIndex Cache the current Haddock index to a file (populate
+ index first, if empty).
+
+
+ *haskellmode-lookup*
+4.2 Lookup ~
+
+ *_?*
+_? Open the Haddock entry (in |haddock_browser|) for an
+ identifier under the cursor, selecting full
+ qualifications from a popup menu (GUI) or via
+ command-line completion (CLI), if the identifier is
+ not qualified.
+
+ *_?1*
+_?1 Search Hoogle (using |haddock_browser|) for an
+ identifier under the cursor.
+
+
+ *_?2*
+_?2 Search Hayoo! (using |haddock_browser|) for an
+ identifier under the cursor.
+
+ *:IDoc*
+:IDoc {identifier} Open the Haddock entry for the unqualified
+ {identifier} in |haddock_browser|, suggesting possible
+ full qualifications.
+
+ *:MDoc*
+:MDoc {module} Open the Haddock entry for {module} in
+ |haddock_browser| (with command-line completion for
+ the fully qualified module name).
+
+ *:FlagReference*
+:FlagReference {s} Browse Users Guide Flag Reference for section {s}
+ (with command-line completion for section headers).
+
+
+ *haskellmode-editing*
+4.3 Editing ~
+
+ *_.*
+_. Fully qualify the unqualified name under the cursor
+ selecting full qualifications from a popup menu (GUI)
+ or via command-line completion (CLI).
+
+ *_iq* *_i*
+_i _iq Add 'import [qualified] <module>(<identifier>)'
+ statement for the identifier under the cursor,
+ selecting fully qualified modules from a popup menu
+ (GUI) or via command-line completion (CLI), if the
+ identifier is not qualified. This currently adds one
+ import statement per call instead of merging into
+ existing import statements.
+
+ *_iqm* *_im*
+_im Add 'import [qualified] <module>' statement for the
+ identifier under the cursor, selecting fully qualified
+ modules from a popup menu (GUI) or via command-line
+ completion (CLI), if the identifier is not qualified.
+ This currently adds one import statement per call
+ instead of merging into existing import statements.
+
+ *_ie*
+_ie On an 'import <module>' line, in a correctly loadable
+ module, temporarily comment out import and use :make
+ 'not in scope' errors to explicitly list imported
+ identifiers.
+
+ *haskellmode-XU* *haskellmode-user-completion*
+CTRL-X CTRL-U User-defined insert mode name completion based on all
+ names known to the Haddock index, including package
+ names. Completions are presented in a popup menu which
+ also displays the fully qualified module from which
+ each entry may be imported.
+
+ CamelCode shortcuts are supported, meaning that
+ lower-case letters can be elided, using only
+ upper-case letters and module qualifier separators (.)
+ for disambiguation:
+
+ pSL -> putStrLn
+ C.E.t -> Control.Exception.t
+ C.M.MP -> Control.Monad.MonadPlus
+
+ To reduce unwanted matches, the first letter of such
+ shortcuts and the first letter after each '.' have to
+ match directly.
+
+==============================================================================
+ *haskellmode-hpaste* *hpaste*
+5. Hpaste Integration ~
+
+ This experimental feature allows browsing and posting to
+ http://hpaste.org, a Web-based pastebin tailored for Haskell code.
+
+
+ *:HpasteIndex*
+:HpasteIndex Read the most recent entries from hpaste.org. Show an
+ index of the entries in a new buffer, where ',r' will
+ open the current highlighted entry [and ',p' will
+ annotate it with the current buffer].
+
+ *:HpastePostNew*
+:HpastePostNew Submit current buffer as a new hpaste entry.
+ [This, and ',p' above, are temporarily disabled,
+ needs update to new hpaste.org layout]
+
+==============================================================================
+ *haskellmode-resources*
+6. Additional Resources ~
+
+ An quick screencast tour through of these plugins is available at:
+
+ http://projects.haskell.org/haskellmode-vim/screencasts.html
+
+ Other Haskell-related Vim plugins can be found here:
+
+ http://www.haskell.org/haskellwiki/Libraries_and_tools/Program_development#Vim
+
+ Make sure to read about Vim's other program-editing features in its online
+ |user-manual|. Also have a look at Vim tips and plugins at www.vim.org -
+ two other plugins I tend to use when editing Haskell are AlignPlugin.vim
+ (to line up regexps for definitions, keywords, comments, etc. in
+ consecutive lines) and surround.vim (to surround text with quotes,
+ brackets, parentheses, comments, etc.).
+
+==============================================================================
+ vim:tw=78:ts=8:ft=help:
diff --git a/dot_vim/doc/imaps.txt b/dot_vim/doc/imaps.txt
new file mode 100644
index 0000000..087b3db
--- /dev/null
+++ b/dot_vim/doc/imaps.txt
@@ -0,0 +1,116 @@
+ IMAP -- A fluid replacement for :imap
+ *imaps.txt*
+ Srinath Avadhanula <srinath AT fastmail DOT fm>
+
+
+
+ Abstract
+ ========
+This plugin provides a function IMAP() which emulates vims |:imap| function. The
+motivation for providing this plugin is that |:imap| suffers from problems
+which get increasingly annoying with a large number of mappings.
+
+Consider an example. If you do >
+ imap lhs something
+
+
+then a mapping is set up. However, there will be the following problems:
+1. The 'ttimeout' option will generally limit how easily you can type the lhs.
+ if you type the left hand side too slowly, then the mapping will not be
+ activated.
+
+2. If you mistype one of the letters of the lhs, then the mapping is deactivated
+ as soon as you backspace to correct the mistake.
+
+3. The characters in lhs are shown on top of each other. This is fairly
+ distracting. This becomes a real annoyance when a lot of characters initiate
+ mappings.
+
+This script provides a function IMAP() which does not suffer from these
+problems.
+
+
+
+ *imaps.txt-toc*
+|im_1| Using IMAP
+
+================================================================================
+Viewing this file
+
+This file can be viewed with all the sections and subsections folded to ease
+navigation. By default, vim does not fold help documents. To create the folds,
+press za now. The folds are created via a foldexpr which can be seen in the
+last section of this file.
+
+See |usr_28.txt| for an introduction to folding and |fold-commands| for key
+sequences and commands to work with folds.
+
+================================================================================
+Using IMAP *im_1* *imaps-usage*
+
+
+
+Each call to IMAP is made using the syntax: >
+ call IMAP (lhs, rhs, ft [, phs, phe])
+
+
+This is equivalent to having <lhs> map to <rhs> for all files of type <ft>.
+
+Some characters in the <rhs> have special meaning which help in cursor placement
+as described in |imaps-placeholders|. The optional arguments define these
+special characters.
+
+Example One: >
+ call IMAP ("bit`", "\\begin{itemize}\<cr>\\item <++>\<cr>\\end{itemize}<++>", "tex")
+
+
+This effectively sets up the map for "bit`" whenever you edit a latex file. When
+you type in this sequence of letters, the following text is inserted: >
+ \begin{itemize}
+ \item *
+ \end{itemize}<++>
+
+where * shows the cursor position. The cursor position after inserting the text
+is decided by the position of the first "place-holder". Place holders are
+special characters which decide cursor placement and movement. In the example
+above, the place holder characters are <+ and +>. After you have typed in the
+item, press <C-j> and you will be taken to the next set of <++>'s. Therefore by
+placing the <++> characters appropriately, you can minimize the use of movement
+keys.
+
+Set g:Imap_UsePlaceHolders to 0 to disable placeholders altogether.
+
+Set g:Imap_PlaceHolderStart and g:Imap_PlaceHolderEnd to something else if you
+want different place holder characters. Also, b:Imap_PlaceHolderStart and
+b:Imap_PlaceHolderEnd override the values of g:Imap_PlaceHolderStart and
+g:Imap_PlaceHolderEnd respectively. This is useful for setting buffer specific
+place holders.
+
+Example Two: You can use the <C-r> command to insert dynamic elements such as
+dates. >
+ call IMAP ('date`', "\<c-r>=strftime('%b %d %Y')\<cr>", '')
+
+
+
+With this mapping, typing date` will insert the present date into the file.
+
+================================================================================
+About this file
+
+This file was created automatically from its XML variant using db2vim. db2vim is
+a python script which understands a very limited subset of the Docbook XML 4.2
+DTD and outputs a plain text file in vim help format.
+
+db2vim can be obtained via anonymous CVS from sourceforge.net. Use
+
+cvs -d:pserver:anonymous@cvs.vim-latex.sf.net:/cvsroot/vim-latex co db2vim
+
+Or you can visit the web-interface to sourceforge CVS at:
+http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vim-latex/db2vim/
+
+The following modelines should nicely fold up this help manual.
+
+vim:ft=help:fdm=expr:nowrap
+vim:foldexpr=getline(v\:lnum-1)=~'-\\{80}'?'>2'\:getline(v\:lnum-1)=~'=\\{80}'?'>1'\:getline(v\:lnum)=~'=\\{80}'?'0'\:getline(v\:lnum)=~'-\\{80}'?'1'\:'='
+vim:foldtext=substitute(v\:folddashes.substitute(getline(v\:foldstart),'\\s*\\*.*',"",""),'^--','--\ \ \ \ ','')
+================================================================================
diff --git a/dot_vim/doc/latex-suite-quickstart.txt b/dot_vim/doc/latex-suite-quickstart.txt
new file mode 100644
index 0000000..8c18b72
--- /dev/null
+++ b/dot_vim/doc/latex-suite-quickstart.txt
@@ -0,0 +1,448 @@
+ A (very) quick introduction to Latex-Suite
+ *latex-suite-quickstart.txt*
+ Srinath Avadhanula <srinath AT fastmail DOT fm>
+
+
+
+ Abstract
+ ========
+Latex-Suite is a comprehensive set of scripts to aid in editing, compiling and
+viewing LaTeX documents. A thorough explanation of the full capabilities of
+Latex-Suite is described in the user manual. This guide on the other hand,
+provides a quick 30-45 minute running start to some of the more commonly used
+functionalities of Latex-Suite.
+
+ *latex-suite-quickstart.txt-toc*
+|lq_1| Using this tutorial
+|lq_2| Inserting a template
+|lq_3| Inserting a package
+|lq_4| Inserting an Environment
+|lq_5| A few keyboard shortcuts
+|lq_6| Folding in Latex-Suite
+|lq_7| Inserting a Reference
+|lq_8| Compiling a document
+ |lq_8_1| Debugging LaTeX source files
+|lq_9| Viewing DVI files
+ |lq_9_1| Performing forward searches
+ |lq_9_2| Performing inverse searches
+|lq_10| Conclusions
+
+================================================================================
+Viewing this file
+
+This file can be viewed with all the sections and subsections folded to ease
+navigation. By default, vim does not fold help documents. To create the folds,
+press za now. The folds are created via a foldexpr which can be seen in the
+last section of this file.
+
+See |usr_28.txt| for an introduction to folding and |fold-commands| for key
+sequences and commands to work with folds.
+
+================================================================================
+Using this tutorial *lq_1* *lq_a_bc*
+ *lsq-using-tutorial*
+
+
+
+This tutorial assumes that you have vim version 6.1+ installed on your machine.
+To check, open vim and type >
+ :ver
+You will see the version in the first line of the output. Get the latest vim
+version from http://vim.sf.net |lq_u_1|.
+
+Assuming you have Vim 6.1+ already up and running, follow the instructions here
+|lq_u_2| to set up Latex-Suite. Remember to make sure your 'grepprg' setting of
+Vim works.
+
+Good, now you are all set to start the tutorial. Since this tutorial aims to
+explain the newbie-friendly version of Latex-Suite, it needs some GUI
+functionality. Therefore, at least for this tutorial, open the gui version of
+vim. (On MS windows, this is the default). Open up this help file in either the
+same gvim session in a split window or in a different session and follow the
+(friendly) instructions.
+
+================================================================================
+Inserting a template *lq_2* *lq_a_bd*
+ *lsq-inserting-template*
+
+
+
+Start up gvim and begin editing a new file. >
+ e newfile.tex
+If the installation went well, you should see a new set of menus appear. Goto
+Tex-Suite > Templates. You will see a number of templates to choose from. For
+now, choose to insert a template for an article. You should get the following in
+the main vim window (after possibly a hit-enter prompt). >
+
+ 1 % File: sample.tex
+ 2 % Created: Sun Jun 22 04:00 PM 2003 P
+ 3 % Last Change: Sun Jun 22 04:00 PM 2003 P
+ 4 %
+ 5 \documentclass[a4paper]{article}
+ 6 \begin{document}
+ 7
+ 8 \end{document}
+ 9
+ 10 ~
+ 11 ~
+ 12 ~
+ 13 ~
+ -- INSERT -- 7,1 All
+
+
+
+The cursor is left on line 7 (just after the \begin{document} line) from where
+you can start typing straight away. Trying to lessen movement is a recurring
+theme in Latex-Suite.
+
+================================================================================
+Inserting a package *lq_3* *lq_a_be*
+ *lsq-lsq-inserting-package*
+
+
+
+Assume that we are writing a mathematical paper and we want to use the popular
+amsmath package. We will use some functionality which Latex-Suite provides
+specifically for including LaTeX packages, providing options etc. Navigate to
+before the \begin{document} line (The portion of the document before the
+\begin{document} is called the _preamble_ in LaTeX). On an empty line in the
+preamble, type the single word amsmath and then press <F5> in normal mode. The
+line will change to >
+ \usepackage[]{amsmath}<++>
+with the cursor positioned conviniently between the []'s. For now, do not worry
+about the trailing <++> at the end of this line. Assume we want to provide the
+sumlimits options to amsmath. You can either type in this option manually, or
+choose from a menu of package options which Latex-Suite automatically creates
+when you insert a package using <F5>. With the cursor still placed between the
+[], goto TeX-Suite > Packages > amsmath Options. Choose the sumlimits option.
+The package line should get converted to: >
+ \usepackage[sumlimits,]{amsmath}<++>
+
+
+with the cursor before ]. Press <C-j> in insert mode. You will see the cursor
+jump to the end of the package line and the trailing <++> will dissapear. What
+just happened?! You had your first taste of _Placeholders_. Read more about them
+(later) here |lq_u_3|. In short, pressing <C-j> in insert mode takes you to the
+next <++> in the text.
+
+================================================================================
+Inserting an Environment *lq_4* *lq_a_bf*
+ *lsq-insert-environment*
+
+
+
+Now let us type in a simple formula in LaTeX. Move back to the body of the
+document (The portion of the document between \begin{document} and
+\end{document} is called the body). Type in a few simple sentences and then on
+an empty line, type the single word eqnarray. Escape to normal mode and press
+<F5>. (Remember: <F5> is very useful!) This time, the line will change to: >
+ \begin{eqnarray}
+ \label{}<++>
+ \end{eqnarray}<++>
+<with the cursor between the {}. Enter a label. We will use eqn:euler. After
+typing in eqn:euler, press <C-j>. This will take you outside the curly-braces.
+Another time you used a Placeholder!
+
+================================================================================
+A few keyboard shortcuts *lq_5* *lq_a_bg*
+ *lsq-keyboard-shortcuts*
+
+
+
+Now to type in the famous Euler formula. Our aim is to type >
+ e^{j\pi} + 1 &=& 0
+Instead of typing this blindly, let us use a few shortcuts to reduce movement.
+Start out by typing e^. Now instead of typing {, type another ^. You will see
+the e^^ change instantly to e^{}<++> with the cursor between {}'s. (The ^^
+changed to ^{}<++>.) Continue with the following sequence of letters: j`p. This
+will change instantly to j\pi. (The `p changed to \pi.) Having typed in all we
+need to type between the {}'s, press <C-j>. You will pop back out of the
+curly-braces. Continue typing the rest of the formula. You can use == as a
+shortcut for &=&. Latex-Suite provides a large number of such shortcuts which
+should making typing much more fun and fast if you get acquainted with them. A
+list is provided here |lq_u_4|. Definitely spend some time getting a feel for
+them. Most of them are pretty intuitive like `/ for \frac{}{}, `8 for \infty
+etc.
+
+In order to understand the next section better, it will be helpful to have one
+more \label. Lets use the handy <F5> key to insert another equation. This time
+something simple like the following will do: >
+ \begin{eqnarray}
+ \label{eqn:simple}
+ 1 + 1 = 2
+ \end{eqnarray}
+
+
+================================================================================
+Folding in Latex-Suite *lq_6* *lq_a_bh* *lsq-folding*
+
+
+
+Okay, we have typed enough. At this stage, hopefully, your file is looking
+something like this: >
+
+ 1 % File: sample.tex
+ 2 % Created: Sun Jun 22 04:00 PM 2003 P
+ 3 % Last Change: Mon Dec 15 07:00 PM 2003
+ 4 %
+ 5 \documentclass[a4paper]{article}
+ 6
+ 7 \usepackage[sumlimits,]{amsmath}
+ 8
+ 9 \begin{document}
+ 10 \begin{eqnarray}
+ 11 \label{eqn:euler}
+ 12 e^{j\pi} + 1 &=& 0
+ 13 \end{eqnarray}
+ 14 This is the famous euler equation. I
+ 15 will type another equation, just as
+ 16 true:
+ 17 \begin{eqnarray}
+ 18 \label{eqn:simple}
+ 19 1 + 1 &=& 2
+ 20 \end{eqnarray}
+ 21 This is my contribution to mathematics.
+ 22 \end{document}
+
+In normal mode, press \rf. This will fold up the entire file and you should see
+the file looking as below: >
+
+ 1 % File: sample.tex
+ 2 % Created: Sun Jun 22 04:00 PM 2003 P
+ 3 % Last Change: Mon Dec 15 07:00 PM 2003
+ 4 %
+ 5 +-- 4 lines: Preamble: \documentclass[a4paper]{article} -----
+ 9 \begin{document}
+ 10 +-- 4 lines: eqnarray (eqn:euler) \label{eqn:euler} -----------
+ 14 This is the famous euler equation. I
+ 15 will type another equation, just as
+ 16 true:
+ 10 +-- 4 lines: eqnarray (eqn:simple) \label{eqn:simple} ---------
+ 21 This is my contribution to mathematics.
+ 22 \end{document}
+
+What has happened is that Latex-Suite folded away blocks of LaTeX code into
+folded regions. You can open and close folds by using the command za in normal
+mode.
+
+================================================================================
+Inserting a Reference *lq_7* *lq_a_bi*
+ *lsq-inserting-reference*
+
+
+
+A necessary part of LaTeX editing is referencing equations, figures,
+bibliographic entries etc. This is done with the \ref and the \cite commands.
+Latex-Suite provides an easy way to do this. Somewhere in the body of the
+document, type in the following sentence >
+ This is a reference to (\ref{}).
+With the cursor between the {} press <F9> in insert mode. Your vim session will
+sprout two new windows and it should look like below: >
+
+ 9 \begin{document}
+ 10 +-- 4 lines: eqnarray (eqn:euler) : \label{eqn:euler}-----------------------
+ 14 This is the famous euler equation. I
+ 15 will type another equation, just as
+ 16 true:
+ 17 +-- 4 lines: eqnarray (eqn:simple) : \label{eqn:simple}---------------------
+ 21 This is my contribution to mathematics.
+ 22 This is a reference to (\ref{}&lt;++&gt;)&lt;++&gt;
+ 23 \end{document}
+ ~
+ ~
+ ~
+ test.tex [+] 22,29 Bot
+ test.tex|11| \label{eqn:euler}
+ test.tex|18| \label{eqn:simple}
+ ~
+ ~
+ ~
+ [Error List] 1,1 All
+ 7 \usepackage[sumlimits,]{amsmath}
+ 8
+ 9 \begin{document}
+ 10 \begin{eqnarray}
+ 11 \label{eqn:euler}
+ 12 e^{j\pi} + 1 &=& 0
+ 13 \end{eqnarray}
+ 14 This is the famous euler equation. I
+ 15 will type another equation, just as
+ 16 true:
+ test.tex [Preview][+] 11,2-5 46%
+
+
+
+The cursor will relocate to the middle window which shows all \labels found in
+all the .tex file in the current directory. You can scroll up and down in the
+middle window till you reach the reference you want to insert. Notice how when
+you scroll in the middle window, the bottom "Preview" window scrolls
+automatically to show you the location of the current selection. This helps you
+identify the reference with greater ease because often times, \labels are not
+descriptive enough or there might be too many of them. To insert the reference,
+just position the cursor on the relevant line in the middle window and press
+<enter>. The line which you were editing will change to: >
+ This is a reference to (\ref{eqn:euler})
+<and the bottom windows close automatically.
+
+The <F9> key also works for inserting \cite commands to reference bibliographich
+entries, inserting file names for the \inputgraphics command and just plain
+searching for words. Click here |lq_u_5| for more information.
+
+================================================================================
+Compiling a document *lq_8* *lq_a_bj*
+ *lsq-compiling*
+
+|lq_8_1| Debugging LaTeX source files
+
+
+Great! We have just created a small latex file. The next step is to make the
+latex compiler create a .dvi file from it. Compiling via latex-suite is simple.
+Goto normal mode and press \ll (replace \ with whatever mapleader setting you
+have). This will call the latex compiler. If all goes well, then the focus
+should return to the vim window.
+
+Nothing happend? Ouch! You might need to do some additional settings as
+described here. |lq_u_6|
+
+
+--------------------------------------------------------------------------------
+Debugging LaTeX source files *lq_8_1* *lq_a_bk*
+ *lsq-debugging*
+
+To illustrate the debugging procedure, let's create a few mistakes in the file.
+Insert the following ``mistakes'' in the file: >
+ This is a $\mistake$.
+ And this is $\another$
+Now press \ll again. This time you will notice that after compilation finishes,
+the cursor automatically lands on $\mistake$. In addition, 2 new windows will
+appear as shown here:
+
+The middle window is an _Error List_ window showing you the errors which the
+latex compiler found. Th bottom window is a _Log Preview_ window, which shows
+you the context of the error made by displaying the relevant portion of the .log
+file created during the latex compilation procedure. Jump to the _Error List_
+window and try scrolling around in it using either the j, k keys or the arrow
+keys. You will notice that the _Log Preview_ window scrolls automatically to
+retain the context of the error you are currently located on. If you press
+<enter> on any line, you will see the cursor jump to the location of the error.
+Latex-Suite tries to guess the column location as best as it can so you can
+continue typing straight away.
+Having got a taste for compiling, proceed by deleting the erroneous lines and
+re-compiling.
+
+The Latex-Suite compiler is capable of much more including selectively filtering
+out common errors which you might want to ignore for the moment, compiling parts
+of a document, setting levels of verbosity in the compiler output etc. See here
+|lq_u_7| for more.
+
+================================================================================
+Viewing DVI files *lq_9* *lq_a_bl*
+ *lsq-viewing-dvi*
+
+|lq_9_1| Performing forward searches
+|lq_9_2| Performing inverse searches
+
+
+Now that you have compiled your first latex source, its time to view it. Again,
+this should be pretty simple. Press \lv in normal mode. Depending on your
+platform, a DVI viewer program should open up and display the dvi file generated
+in compilation step previously.
+
+Nothing happend? Ouch! You might need to do some additional settings as
+described here. |lq_u_8|
+
+
+--------------------------------------------------------------------------------
+Performing forward searches *lq_9_1* *lq_a_bm*
+ *lsq-quick-forward-searching*
+
+If you are using a modern DVI viewer, then it is possible to do what is called
+forward and inverse searching. However, you will need to customize the standard
+Latex-Suite distribution in order to utilize this functionality. Type in the
+following on the command line: >
+ :let g:Tex_CompileRule_dvi = 'latex -src-specials -interaction=nonstopmode $*'
+ :TCTarget dvi
+
+
+Now recompile the latex file by pressing \ll. This time, instead of pressing \lv
+to view the file, press \ls from within the tex file. If the DVI viewer supports
+forward searching (most of them do), then the viewer will actually display the
+portion of the DVI file corresponding to the location where you were editing the
+tex file.
+
+NOTE: The reason Latex-Suite does not have this setting by default is that on
+ some systems this causes unpredictable results in the DVI output. If you
+ find the DVI output satisfactory, then you can insert the first of the 2
+ lines above into your $VIM/ftplugin/tex.vim file. $VIM is ~/vimfiles for
+ windows and ~/.vim for *nix machines.
+
+
+
+--------------------------------------------------------------------------------
+Performing inverse searches *lq_9_2* *lq_a_bn*
+ *lsq-quick-inverse-searching*
+
+Most DVI viewers also support inverse searching, whereby you can make the DVI
+viewer ask vim to display the tex source corresponding to the DVI file being
+shown. This is extremeley helpful while proofreading large documents.
+
+Simply double-click anywhere in the viewer window. If the viewer supports it,
+then it will attempt to open an editor window at the location corresponding to
+where you double-clicked. On *nix platforms, Latex-Suite attempts to start the
+viewer program in such a way that it already knows to use vim to open the tex
+source. Thus you should see a vim window open up showing the tex file. However,
+if there is an error, or some other program is used, you will need to tell the
+viewer program to use gvim as the editor. On windows platforms, if you use the
+commonly available yap viewer (available as part of the miktex distribution),
+then this option can be set from View > Options > Inverse Search. In the Command
+line: window, write >
+ "C:\Program Files\vim\vim61\gvim" -c ":RemoteOpen +%l %f"
+(Customize the path according to where you have installed gvim). If you double
+click in the view pane now, you will see gvim start up and take you to the
+relevant portion of the tex file.
+
+================================================================================
+Conclusions *lq_10* *lq_a_bo*
+ *lsq-conclusions*
+
+
+
+Thats all folks! By now, you should know enough of the basic functions of
+latex-suite. Ofcourse, latex-suite is capable of much, much more such as
+compiling files multiple times to resolve changed labels, compiling
+dependencies, handling user packages and more. To get a feel for that, you will
+need to take a look at the Latex-Suite user manual. |lq_u_9|
+
+================================================================================
+URLs used in this file
+
+*lq_u_1* : http://vim.sf.net
+*lq_u_2* : http://vim-latex.sourceforge.net/index.php?subject=download&title=Download
+*lq_u_3* : http://vim-latex.sourceforge.net/documentation/latex-suite/latex-macros.html
+*lq_u_4* : http://vim-latex.sourceforge.net/documentation/latex-suite/auc-tex-mappings.html
+*lq_u_5* : http://vim-latex.sourceforge.net/documentation/latex-suite/latex-completion.html
+*lq_u_6* : http://vim-latex.sourceforge.net/index.php?subject=faq&title=FAQ#faq-2
+*lq_u_7* : http://vim-latex.sourceforge.net/documentation/latex-suite/latex-compiling.html
+*lq_u_8* : http://vim-latex.sourceforge.net/index.php?subject=faq&title=FAQ#faq-3
+*lq_u_9* : http://vim-latex.sourceforge.net/index.php?subject=manual&title=Manual#user-manual
+
+================================================================================
+About this file
+
+This file was created automatically from its XML variant using db2vim. db2vim is
+a python script which understands a very limited subset of the Docbook XML 4.2
+DTD and outputs a plain text file in vim help format.
+
+db2vim can be obtained via anonymous CVS from sourceforge.net. Use
+
+cvs -d:pserver:anonymous@cvs.vim-latex.sf.net:/cvsroot/vim-latex co db2vim
+
+Or you can visit the web-interface to sourceforge CVS at:
+http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vim-latex/db2vim/
+
+The following modelines should nicely fold up this help manual.
+
+vim:ft=help:fdm=expr:nowrap
+vim:foldexpr=getline(v\:lnum-1)=~'-\\{80}'?'>2'\:getline(v\:lnum-1)=~'=\\{80}'?'>1'\:getline(v\:lnum)=~'=\\{80}'?'0'\:getline(v\:lnum)=~'-\\{80}'?'1'\:'='
+vim:foldtext=substitute(v\:folddashes.substitute(getline(v\:foldstart),'\\s*\\*.*',"",""),'^--','\ \ \ \ \ \ ','')
+================================================================================
diff --git a/dot_vim/doc/latex-suite.txt b/dot_vim/doc/latex-suite.txt
new file mode 100644
index 0000000..a44cd9b
--- /dev/null
+++ b/dot_vim/doc/latex-suite.txt
@@ -0,0 +1,3418 @@
+ Latex-Suite Reference
+ *latex-suite.txt*
+ Srinath Avadhanula <srinath AT fastmail DOT fm>
+ Mikolaj Machowski <mikmach AT wp DOT pl>
+
+
+
+ Abstract
+ ========
+Latex-Suite attempts to provide a comprehensive set of tools to view, edit and
+compile LaTeX documents in Vim. Together, they provide tools starting from
+macros to speed up editing LaTeX documents to functions for forward searching
+.dvi documents. Latex-Suite has been possible because of the contributions of
+many people. Please see latex-suite-credits [|ls_a_dU|] for a list of people who
+have helped.
+
+Latex-Suite is released under the Vim charityware license. For license and
+conditions of use look at |copyright|. Replace all occurrences of ``Vim'' with
+``Latex-Suite''. The current copyright holders of Latex-Suite are Srinath
+Avadhanula and Mikolaj Machowski.
+
+Homepage: http://vim-latex.sourceforge.net |ls_u_1|
+
+
+
+ *latex-suite.txt-toc*
+|ls_1| Installation and recommended Settings
+|ls_2| Inserting Templates
+|ls_3| Latex-Suite Macros
+ |ls_3_1| Environment Mappings
+ |ls_3_2| Command Mappings
+ |ls_3_3| Font Mappings
+ |ls_3_4| Section Mappings
+ |ls_3_5| Greek Letter Mappings
+ |ls_3_6| Auc-Tex Key Bindings
+ |ls_3_7| Diacritics
+ |ls_3_8| BibTeX Shortcuts
+ |ls_3_9| Smart Key Mappings
+ |ls_3_10| Alt Key Macros
+ |ls_3_11| Custom Macros
+ |ls_3_12| Making your own Macros via IMAP()
+|ls_4| Package Handling
+ |ls_4_1| Inserting package commands
+ |ls_4_2| Actions taken for supported packages
+ |ls_4_3| Automatic Package detection
+ |ls_4_4| Writing supporting for a package
+|ls_5| Latex Completion
+ |ls_5_1| Latex-Suite completion example
+ |ls_5_2| Latex-Suite \ref completion
+ |ls_5_3| Latex-Suite \cite completion
+ |ls_5_4| Latex-Suite filename completion
+ |ls_5_5| Custom command completion
+|ls_6| LaTeX Compiling
+ |ls_6_1| Setting Compilation rules
+ |ls_6_2| Handling dependencies in compilation
+ |ls_6_3| Compiling multiple times
+ |ls_6_4| Customizing the compiler output
+ |ls_6_5| Compiling parts of a file
+|ls_7| Latex Viewing and Searching
+ |ls_7_1| Setting Viewing rules
+ |ls_7_2| Forward Searching DVI documents
+ |ls_7_3| Inverse Searching
+|ls_8| Latex Folding
+ |ls_8_1| Default Folding Scheme in Latex-Suite
+ |ls_8_2| Customizing what to fold
+ |ls_8_3| Editing the folding.vim file directly
+|ls_9| Multiple file LaTeX projects
+ |ls_9_1| Latex-Suite project settings
+ |ls_9_2| Specifying which file to compile
+|ls_10| Latex-Suite Commands and Maps
+ |ls_10_1| Latex-Suite Maps
+ |ls_10_2| Latex Suite Commands
+|ls_11| Customizing Latex-Suite
+ |ls_11_1| General Settings
+ |ls_11_2| Place-Holder Customization
+ |ls_11_3| Macro Customization
+ |ls_11_4| Smart Key Customization
+ |ls_11_5| Latex Completion Customization
+ |ls_11_6| Compiler Customization
+ |ls_11_7| Viewer Customization
+ |ls_11_8| Menu Customization
+ |ls_11_9| Folding Customization
+ |ls_11_10| Package Handling Customization
+|ls_12| Credits
+
+================================================================================
+Viewing this file
+
+This file can be viewed with all the sections and subsections folded to ease
+navigation. By default, vim does not fold help documents. To create the folds,
+press za now. The folds are created via a foldexpr which can be seen in the
+last section of this file.
+
+See |usr_28.txt| for an introduction to folding and |fold-commands| for key
+sequences and commands to work with folds.
+
+================================================================================
+Installation and recommended Settings *ls_1* *ls_a_bc*
+ *recommended-settings*
+
+
+
+If you are reading this, it most probably means that you have already installed
+Latex-Suite and the help files. If this is not the case, follow the detailed
+instructions on Latex-Suite's download page |ls_u_2|.
+
+Make sure that you create a few necessary settings in your ~/.vimrc. >
+
+ " REQUIRED. This makes vim invoke Latex-Suite when you open a tex file.
+ filetype plugin on
+
+ " IMPORTANT: win32 users will need to have 'shellslash' set so that latex
+ " can be called correctly.
+ set shellslash
+
+ " IMPORTANT: grep will sometimes skip displaying the file name if you
+ " search in a singe file. This will confuse Latex-Suite. Set your grep
+ " program to always generate a file-name.
+ set grepprg=grep\ -nH\ $*
+
+ " OPTIONAL: This enables automatic indentation as you type.
+ filetype indent on
+
+
+
+In addition, the following settings could go in your ~/.vim/ftplugin/tex.vim
+file: >
+ " this is mostly a matter of taste. but LaTeX looks good with just a bit
+ " of indentation.
+ set sw=2
+ " TIP: if you write your \label's as \label{fig:something}, then if you
+ " type in \ref{fig: and press <C-n> you will automatically cycle through
+ " all the figure labels. Very useful!
+ set iskeyword+=:
+
+
+
+================================================================================
+Inserting Templates *ls_2* *ls_a_bd*
+ *latex-suite-templates*
+
+
+
+This functionality is available via the TeX-Suite > Templates menu. This module
+provides a way to insert custom templates at the beginning of the current file.
+
+When Latex-Suite first starts up, it scans the
+$VIM/ftplugin/latex-suite/templates/ directory and creates menu items based on
+the files found there. When you select a template from this menu, the file will
+be read in above the first line of the current file.
+
+A template file can utilize placeholders for initializing the cursor position
+when the template is read in and subsequent movement. In addition, template
+files can contain dynamic elements such as the time of creation of a file etc,
+by using vim expressions.
+
+You can place your own templates in the $VIM/ftplugin/latex-suite/templates/
+directory in order for them to be available via the menu. Unless Latex-Suite
+releases a template with the same name, these files should not get over-written
+when you install a new release over an existing one.
+
+NOTE: Templates are also accessible for non-gui users with the command
+ |:TTemplate|. The argument should be name of the corresponding template
+ file. If the command is called without arguments (preferred usage), then a
+ list of available templates is displayed and the user is asked to choose
+ one of them.
+
+
+
+================================================================================
+Latex-Suite Macros *ls_3* *ls_a_be*
+ *latex-macros*
+
+|ls_3_1| Environment Mappings
+|ls_3_2| Command Mappings
+|ls_3_3| Font Mappings
+|ls_3_4| Section Mappings
+|ls_3_5| Greek Letter Mappings
+|ls_3_6| Auc-Tex Key Bindings
+|ls_3_7| Diacritics
+|ls_3_8| BibTeX Shortcuts
+|ls_3_9| Smart Key Mappings
+|ls_3_10| Alt Key Macros
+|ls_3_11| Custom Macros
+|ls_3_12| Making your own Macros via IMAP()
+
+
+Latex-Suite ships with a very comprehensive set of insert mode and |visual-mode|
+mappings and menu items to typeset most of the LaTeX elements.
+
+NOTE: These mappings are are not standard mappings in the sense that only the
+ last character is mapped. See plugin/imaps.vim for further documentation.
+ For example, in the case of the mapping EFI provided by Latex-Suite you
+ can press the characters 'E', 'F' and 'I' as slowly as you wish (unlike
+ the normal imap command where timeout issues are involved). The characters
+ are visible as you type them (unlike normal imaps) and you can use the
+ movement or backspace key to correct yourself unlike normal mappings.
+
+
+ *place-holder* *ls_a_dV*
+ *place-holders* *ls_a_eD*
+NOTE: Place Holders
+ -------------
+ Almost all macros provided in Latex-Suite implement Stephen Riem's
+ bracketing system and Gergely Kontra's JumpFunc() for handling
+ place-holders. This consists of using "place-holders" to mark off
+ locations where the next relevant editing has to be done. As an example,
+ when you type EFI in |insert-mode|, you will get the following: >
+ \begin{figure}[h]
+ \centerline{\psfig{figure=<+eps file+>}}
+ \caption{<+caption text+>}
+ \label{fig:<+label+>}
+ \end{figure}<++>
+< The text <+eps file+> will be selected and you will be left in
+ |select-mode| so that you can continue typing straight away. After having
+ typed in the file name, you can press <Ctrl-J> (while still in
+ insert-mode). This will take you directly to the next "place-holder". i.e,
+ <+caption text+> will be visually selected with Vim in select mode again
+ for typing in the caption. This saves on a lot of key presses.
+
+
+ *overriding-macros* *ls_a_eE*
+NOTE: Over-riding Latex-Suite Macros
+ ------------------------------
+ If you wish to change these macros from their default values, for example,
+ if you wish to change `w to expand to \omega instead of its default
+ expansion to \wedge, you should use the IMAP function as described in the
+ Using IMAP() [|ls_a_bG|] section.
+
+ An important thing to note is that if you wish to over-ride macros created
+ by Latex-Suite rather than merely create new macros, you should place the
+ IMAP() calls in a script which gets sourced after the files in
+ Latex-Suite. A good place typically is as a file-type plugin file in the
+ ~/.vim/after/ftplugin/ directory. (Use ~/vimfiles if you are using
+ WINDOWS). For example to over-ride `w to \omega instead of \wedge, place
+ the following line in (say) ~/.vim/after/ftplugin/tex_macros.vim: >
+ call IMAP('`w', '\omega', 'tex')
+<
+
+ NOTE: It is important to use a file-name which will get sourced on a
+ FileType event. Therefore you must use a file-name which conforms to
+ the standards as described in |ftplugin-name|.
+
+
+
+ *pausing-imaps* *ls_a_eF*
+NOTE: Pausing Macro expansion
+ -----------------------
+ If you wish to temporarily suspend the imaps functionality, then you can
+ set the Imap_FreezeImap to 1. If you set g:Imap_FreezeImap to 1, then it
+ will be a system-wide setting. Setting b:Imap_FreezeImap will affect only
+ the current buffer.
+
+
+The following sections describe the various editing macros provided by
+Latex-Suite.
+
+
+--------------------------------------------------------------------------------
+Environment Mappings *ls_3_1* *ls_a_bf*
+ *environment-mappings*
+
+Latex-Suite provides a rich set of mappings to insert, enclose and modify LaTeX
+environments, i.e, \begin{...} ... \end{...} pairs.
+
+Inserting Environments *ls_3_1_1* *ls_a_bg*
+ *inserting-environments*
+
+Latex-Suite provides the following ways to insert environments
+
+
+
+Method 1: Pressing <F5> *ls_3_1_1_1* *ls_a_bh*
+ *inserting-env-f5*
+
+If you press <F5> in the insert or normal mode while on an empty line,
+Latex-Suite prompts you with a list of environments you might want to insert.
+You can either choose one from the list or type in a new environment name. If
+you press <F5> on a line which already has a word, then that word is used
+instead of prompting.
+
+See Tex_Env_name [|ls_a_cZ|] for a description of how Latex-Suite uses the word
+to form the expansion and how to modify Latex-Suite's behavior.
+
+The list of environments which Latex-Suite prompts you with (when <F5> is
+pressed on an empty line) is formed from the Tex_PromptedEnvironments
+[|ls_a_di|] setting.
+
+In addition to this setting, Latex-Suite also lists environments found in custom
+packages as described in the section Package actions. [|ls_a_bL|]
+
+
+Method 2: Using <S-F1>-<S-F4> *ls_3_1_1_2* *ls_a_bi*
+ *inserting-env-shift-f1*
+
+The shifted function keys, <S-F1> to <S-F4> can be mapped to insert very
+commonly used environments. The environments mapped to each key can be
+customized via the g:Tex_HotKeyMappings [|ls_a_dj|] setting.
+
+
+Method 3: Using three letter sequences *ls_3_1_1_3* *ls_a_bj*
+ *inserting-env-threeletter*
+
+Environments can also be inserted by pressing a 3 capital letter sequence
+starting with an E. The sequence of 3 letters generally tries to follow the
+following rules:
+
+
+1. All environment mappings begin with E
+
+2. If the environment can be broken up into 2 distinct words, such as flushright
+ (flush + right), then the next 2 letters are the first letters of the 2
+ words. Example: >
+ flushleft (_f_lush + _l_eft) ---> EFL
+ flushright (_f_lush + _r_ight) ---> EFR
+ eqnarray (_e_qn + _a_rray) ---> EEA
+< If on the other hand, the environment name cannot be broken up into 2
+ distinct words, then the next 2 letters are the first 2 letters of the name
+ of the environment. Example: >
+ equation (_eq_uation) ---> EEQ
+<
+Unfortunately there are some environments that cannot be split in two words and
+first two letters in name are identical. In this case shortcut is created from
+E, first and last letter. Example: >
+ quote (_q_uot_e_) ---> EQE
+ quotation (_q_uotatio_n_) ---> EQN
+Of course, not every last one of the environments can follow this rule because
+of ambiguities. In case of doubt, pull down the Tex-Environments menu. The menu
+item should give the hint for the map.
+
+
+Enclosing in Environments *ls_3_1_2* *ls_a_bk*
+ *enclosing-environments*
+
+Latex-Suite provides visual-mode mappings which enclose visually selected
+portions of text in environments. There are two ways provided to do this.
+
+
+
+Method 1: Pressing <F5> *ls_3_1_2_1* *ls_a_bl*
+ *enclosing-env-f5*
+
+You can also select a portion of text visually and press <F5> while still in
+visual mode. This will prompt you with a list of environments. (This list can be
+customized via the g:Tex_PromptedEnvironments [|ls_a_di|] setting). You can
+either choose from this list or type in a new environment name. Once the
+selection is done, Latex-Suite encloses the visually selected portion in the
+chosen environment.
+
+
+Method 2: Using three letter mappings *ls_3_1_2_2* *ls_a_bm*
+ *enclosing-env-threeletter*
+
+You can also select text visually and press a sequence of three characters
+beginning with , (the single comma character) and the selected text will be
+enclosed in the chosen environment. The three letter sequence follows directly
+from the three letter sequence used to insert environments as described here
+[|ls_a_bj|]. The following example describes the rule used:
+
+If ECE inserts a \begin{center}...\end{center} environment, then to enclose a
+block of selected text in \begin{center}...\end{center}, simply select the text
+and press ,ce. The rule simply says that the leading E is converted to , and the
+next 2 letters are small case.
+Some of the visual mode mappings are sensitive to whether you choose line-wise
+or character-wise. For example, if you choose a word and press ,ce, then you get
+\centerline{word}, whereas if you press ,ce on a line-wise selection, you get: >
+ \begin{center}
+ line
+ \end{center}
+
+
+
+Changing Environments *ls_3_1_3* *ls_a_bn*
+ *changing-environments*
+
+Pressing <S-F5> in normal mode detects which environment the cursor is presently
+located in and prompts you to replace it with a new one. The innermost
+environment is detected. For example, in the following source: >
+ \begin{eqnarray}
+ \begin{array}{ccc}
+ 2 & 3 & 4
+ \end{array}
+ \end{eqnarray}
+if you are located in the middle "2 & 3 & 4" line, then pressing <S-F5> will
+prompt you to change the array environment, not the eqnarray environment. In
+addition, Latex-Suite will also try to change lines within the environment to be
+consistent with the new environment. For example, if the original environment
+was an eqnarray environment with a \label command, then changing it to an
+eqnarray* environment will delete the \label.
+
+Pressing <F5> in normal mode has the same effect as pressing <F5> in
+insert-mode, namely you will be prompted to choose an environment to insert.
+
+--------------------------------------------------------------------------------
+Command Mappings *ls_3_2* *ls_a_bo*
+ *latex-command-maps*
+
+Latex-Suite provides a rich set of mappings to insert, enclose and modify LaTeX
+commands.
+
+Inserting LaTeX commands *ls_3_2_1* *ls_a_bp*
+ *inserting-commands*
+
+ *ls-imap-f7* *ls_a_dW*
+ *ls-imap-s-f7* *ls_a_dX*
+Pressing <F7> in insert or normal mode while the cursor is touching a word will
+insert a command formed from the word touching the cursor.
+
+For certain common commands, Latex-Suite will expand them to include additional
+arguments as needed. For example, frac becomes \frac{<++>}{<++>}<++>. Otherwise,
+it will simply change the word under the cursor as follows >
+ word --> \word{<++>}<++>
+You can define custom expansions of commands using the Tex_Com_{name} setting as
+described in here [|ls_a_da|].
+
+If <F7> is pressed when the cursor is on white-space, then Latex-Suite will
+prompt you to choose a command and insert that instead.The list of commands is
+constructed from the g:Tex_PromptedCommands [|ls_a_dk|] setting and also from
+commands which Latex-Suite finds while scanning custom packages which
+Latex-Suite finds. See the Package actions [|ls_a_bL|] section for details on
+which files are scanned etc.
+
+
+Enclosing in a command *ls_3_2_2* *ls_a_bq*
+ *enclosing-commands*
+
+You can select a portion of text visually and press <F7> while still in visual
+mode. This will prompt you with a list of commands. (This list can be customized
+via the g:Tex_PromptedCommands [|ls_a_dk|] setting). You can either choose from
+this list or type in a new command name. Once the selection is done, Latex-Suite
+encloses the visually selected portion in the chosen command.
+
+
+Changing commands *ls_3_2_3* *ls_a_br*
+ *changing-commands*
+
+ *ls-vmap-f7* *ls_a_dY*
+In both insert and normal mode <S-F7> will find out if you are presently within
+an environment and then prompt you with a list of commands to change it to.
+
+--------------------------------------------------------------------------------
+Font Mappings *ls_3_3* *ls_a_bs* *font-maps*
+
+These mappings insert font descriptions such as: \textsf{<++>}<++> with the
+cursor left in place of the first placeholder [|ls_a_eD|] (the <++> characters).
+
+Mnemonic:
+1. first letter is always F (F for font)
+
+2. next 2 letters are the 2 letters describing the font.
+
+Example: Typing FEM in insert-mode expands to \emph{<++>}<++>.
+
+Just like environment mappings, you can visually select an area and press `sf to
+have it enclosed in: \textsf{word} or >
+ {\sffamily
+ line
+ }
+depending on character-wise or line-wise selection.
+
+--------------------------------------------------------------------------------
+Section Mappings *ls_3_4* *ls_a_bt*
+ *section-mappings*
+
+These maps insert LaTeX sections such as: >
+ \section{<++>}<++>
+etc. Just as in the case of environments and fonts, can be enclosed with a
+visual selection. The enclosing is not sensitive to character or line-wise
+selection.
+
+Mnemonic: (make your own!) >
+ SPA for part
+ SCH for chapter
+ SSE for section
+ SSS for subsection
+ SS2 for subsubsection
+ SPG for paragraph
+ SSP for subparagraph
+
+
+Example: SSE in insert mode inserts >
+ \section{<++>}<++>
+If you select a word or line and press ,se, then you get >
+ \section{section name}
+The menu item in Tex-Environments.Sections have a sub-menu called 'Advanced'.
+Choosing an item from this sub-menu asks a couple of questions (whether you want
+to include the section in the table of contents, whether there is a shorter name
+for the table of contents) and then creates a more intelligent template.
+
+--------------------------------------------------------------------------------
+Greek Letter Mappings *ls_3_5* *ls_a_bu*
+ *greek-letter-mappings*
+
+Lower case
+
+`a through `z expand to \alpha through \zeta.Upper case:
+
+ >
+ `D = \Delta
+ `F = \Phi
+ `G = \Gamma
+ `Q = \Theta
+ `L = \Lambda
+ `X = \Xi
+ `Y = \Psi
+ `S = \Sigma
+ `U = \Upsilon
+ `W = \Omega
+NOTE: LaTeX does not support upper case for all greek alphabets.
+
+
+Just like other Latex-Suite mappings, these mappings are not created using the
+standard imap command. Thus you can type slowly, correct using <BS> etc.
+
+--------------------------------------------------------------------------------
+Auc-Tex Key Bindings *ls_3_6* *ls_a_bv*
+ *auc-tex-mappings*
+
+These are simple 2 key expansions for some very commonly used LaTeX elements:
+
+ >
+ `^ Expands To \Hat{<++>}<++>
+ `_ expands to \bar{<++>}<++>
+ `6 expands to \partial
+ `8 expands to \infty
+ `/ expands to \frac{<++>}{<++>}<++>
+ `% expands to \frac{<++>}{<++>}<++>
+ `@ expands to \circ
+ `0 expands to ^\circ
+ `= expands to \equiv
+ `\ expands to \setminus
+ `. expands to \cdot
+ `* expands to \times
+ `& expands to \wedge
+ `- expands to \bigcap
+ `+ expands to \bigcup
+ `( expands to \subset
+ `) expands to \supset
+ `< expands to \le
+ `> expands to \ge
+ `, expands to \nonumber
+ `~ expands to \tilde{<++>}<++>
+ `; expands to \dot{<++>}<++>
+ `: expands to \ddot{<++>}<++>
+ `2 expands to \sqrt{<++>}<++>
+ `| expands to \Big|
+ `I expands to \int_{<++>}^{<++>}<++>
+(again, notice the convenient place-holders)
+
+In addition the visual mode macros are provided:
+
+ >
+ `( encloses selection in \left( and \right)
+ `[ encloses selection in \left[ and \right]
+ `{ encloses selection in \left\{ and \right\}
+ `$ encloses selection in $$ or \[ \] depending on characterwise or
+ linewise selection
+
+
+--------------------------------------------------------------------------------
+Diacritics *ls_3_7* *ls_a_bw*
+ *diacritic-mappings*
+
+These mappings speed up typing European languages which contain diacritic
+characters such as a-umlaut etc. >
+ +<l> expands to \v{<l>}
+ =<l> expands to \'{<l>}
+where <l> is an alphabet.
+
+ >
+ +} expands to \"{a}
+ +: expands to \^{o}
+Latex-Suite also ships with smart backspacing [|ls_a_dZ|] functionality which
+provides another convenience while editing languages with diacritics.
+
+NOTE: Diacritics are disabled by default in Latex-Suite because they can
+ sometimes be a little too intrusive. Moreover, most European users can
+ nowadays use font encodings which display diacritic characters directly
+ instead of having to rely on Latex-Suite's method of displaying
+ diacritics.
+
+ Set the g:Tex_Diacritics [|ls_a_df|] variable to enable diacritics.
+
+
+
+--------------------------------------------------------------------------------
+BibTeX Shortcuts *ls_3_8* *ls_a_bx*
+ *bibtex-bindings*
+
+Latex-Suite provides an easy way of entering bibliographic entries. Four
+insert-mode mappings: BBB, BBL, BBH and BBX are provided, all of which
+essentially act in the same manner. When you type any of these in insert-mode,
+you will get a prompt asking you to choose a entry type for the bibliographic
+entry.
+
+When you choose an entry type, a bibliographic entry template will be inserted.
+For example, if you choose the option 'book' via the map BBB, then the following
+template will be inserted: >
+ @BOOK{<+key+>,
+ author = {<++>},
+ editor = {<++>},
+ title = {<++>},
+ publisher = {<++>},
+ year = {<++>},
+ otherinfo = {<++>}
+ }<++>
+
+
+<+key+> will be highlighted in select-mode and you can type in the bib-key.
+After that you can use <Ctrl-J> to navigate to successive locations in the
+template and enter new values.
+
+BBB inserts a template with only the fields mandatorily required for a given
+entry type. BBL inserts a template with commonly used extra options. BBH inserts
+a template with more options which are not as commonly used. BBX inserts a
+template with all the fields which the entry type supports.
+
+NOTE: Mnemonic
+ --------
+ B for Bibliographic entry, L for Large entry, H for Huge entry, and X
+ stands for all eXtras.
+
+
+
+
+Customizing Bib-TeX fields *ls_3_8_1* *ls_a_by*
+ *adding-bib-options*
+
+If you wish the BBB command to insert a few additional fields in addition to the
+fields it creates, then you will need to define global variables of the form >
+ g:Bib_{type}_options
+in you $VIM/ftplugin/bib.vim file, where {type} is a string like 'article',
+'book' etc. This variable should contain one of the letters defined in the
+following table
+
+Character Field Type~
+w address
+a author
+b booktitle
+c chapter
+d edition
+e editor
+h howpublished
+i institution
+k isbn
+j journal
+m month
+z note
+n number
+o organization
+p pages
+q publisher
+r school
+s series
+t title
+u type
+v volume
+y year
+
+For example, by default, choosing 'article' via BBB inserts the following
+template by default >
+ @ARTICLE{<+key+>,
+ author = {<++>},
+ title = {<++>},
+ journal = {<++>},
+ year = {<++>},
+ otherinfo = {<++>}
+ }<++>
+However, if g:Bib_article_options is defined as 'mnp', then 'article' will
+insert the following template >
+ @ARTICLE{<+key+>,
+ author = {<++>},
+ title = {<++>},
+ journal = {<++>},
+ year = {<++>},
+ month = {<++>},
+ number = {<++>},
+ pages = {<++>},
+ otherinfo = {<++>}
+ }<++>
+
+
+If you have some other fields you wish to associate with an article which are
+not listed above, then you will have to use the Bib_{type}_extrafields option.
+This is a newline separated string of complete field names which will be
+included in the template. For example, if you define >
+ let g:Bib_article_extrafields = "crossref\nabstract"
+then the article template will include the lines >
+ crossref = {<++>},
+ abstract = {<++>},
+
+
+NOTE: You will need to define Bib_* settings in your
+ $VIMRUNTIME/ftplugin/bib.vim file.
+
+
+
+--------------------------------------------------------------------------------
+Smart Key Mappings *ls_3_9* *ls_a_bz*
+ *smart-keys*
+
+Latex-Suite ships with the following smart keys:
+
+Smart Backspace
+---------------
+ *smart-backspace* *ls_a_dZ*
+Pressing <BS> in insert mode checks to see whether we are just after something
+like \'{a} and if so, deletes all of it. i.e, diacritics are treated as single
+characters for backspacing.
+
+Smart Quotes
+------------
+Pressing " (English double quote) will insert `` or '' by making an intelligent
+guess about whether we intended to open or close a quote.
+
+Smart Space
+-----------
+Latex-Suite maps the <space> key in such a way that $ characters are not broken
+across lines. It does this by first setting tw=0 so that Vim will not
+automatically break lines and then maps the <space> key to insert newlines
+keeping $$'s on the same line.
+
+Smart Dots
+----------
+Pressing ... (3 dots) results in \ldots outside math mode and \cdots in math
+mode.
+
+--------------------------------------------------------------------------------
+Alt Key Macros *ls_3_10* *ls_a_bA*
+ *altkey-mappings*
+
+Latex-Suite utilizes a set of macros originally created by Carl Mueller in
+auctex.vim to make inserting all the \left ... \right stuff very easy and to
+also make some use of the heavily under-utilized <Alt> key.
+
+NOTE: By default, typing Alt-<key> in Vim takes focus to the menu bar if a menu
+ with the hotkey <key> exists. If in your case, there are conflicts due to
+ this behavior, you will need to set >
+ set winaltkeys=no
+< in your $VIM/ftplugin/tex.vim in order to use these maps.
+
+
+NOTE: Customizing the maps
+ --------------------
+ If for some reason, you wish to not map the <Alt> keys, (some European
+ users need to use the <Alt> key to enter diacritics), you can change these
+ maps to other keys as described in the section Customizing Alt-key maps
+ [|ls_a_cx|].
+
+
+
+
+<Alt-L> *ls_3_10_1* *ls_a_bB* *Alt-L*
+
+This is a polymorphic insert-mode mapping which expands to one of the following
+depending on the character just before the cursor location.
+
+Character before cursor Expansion~
+( \left( <++> \right)
+[ \left[ <++> \right]
+| \left| <++> \right|
+{ \left\{ <++> \right\}
+< \langle <++> \rangle
+q \lefteqn{<++>}<++>
+
+If the character before the cursor is none of the above, then it will simply
+insert a \label{<++>}<++>.
+
+
+<Alt-B> *ls_3_10_2* *ls_a_bC* *Alt-B*
+
+This insert-mode mapping encloses the previous character in \mathbf{}.
+
+
+<Alt-C> *ls_3_10_3* *ls_a_bD* *Alt-C*
+
+In insert mode, this key is polymorphic as follows:
+
+
+1. If the previous character is a letter or number, then capitalize it and
+ enclose it in \mathcal{}.
+
+2. otherwise insert \cite{}.
+In visual mode, it will simply enclose the selection in \mathcal{}
+
+
+<Alt-I> *ls_3_10_4* *ls_a_bE* *Alt-I*
+
+This mapping inserts an \item command at the current cursor location depending
+on which environment the cursor is enclosed in. The style of the \item command
+is dependent on the enclosing environment. By default, <Alt-I> has styles
+defined forthe following environments:
+
+Environment Style~
+itemize \item
+enumerate \item
+theindex \item
+thebibliography \item[<+biblabel+>]{<+bibkey+>} <++>
+description \item[<+label+>] <++>
+
+<Alt-I> is intelligent enough to account for nested environments. For example, >
+ \begin{itemize}
+ \item first item
+ \item second item
+ \begin{description}
+ \item[label1] first desc
+ \item[label2] second
+ % <Alt-I> will insert "\item[<+label+>] <++>" if
+ % used here
+ \end{description}
+ \item third item
+ % <Alt-I> will insert "\item " when if used here.
+ \end{itemize}
+ % <Alt-I> will insert nothing ("") if used here
+<
+
+The style used by <Alt-I> can be customized using the
+g:Tex_ItemStyle_environment [|ls_a_dl|] variable.
+
+--------------------------------------------------------------------------------
+Custom Macros *ls_3_11* *ls_a_bF*
+ *custom-macros-menu*
+
+This functionality available via the TeX-Suite.Macros menu, provides a way of
+inserting customized macros into the current file via the menu.
+
+When Latex-Suite starts up, it scans the $VIM/ftplugin/latex-suite/macros/
+directory and creates a menu from the files found there. Each file is considered
+as a single macro. You can place your own macros in this directory, using
+placeholders [|ls_a_eD|] if wanted.
+
+When you choose a macro from the menu, the corresponding file is read into the
+current buffer after the current cursor position. In non-gui mode, you can use
+the |TMacro| command instead of choosing from the menu. This command takes the
+macro file name as an argument. When called without arguments (preferred usage),
+then a list of available macro files is displayed and the user is prompted to
+choose one of them).
+
+There are some other tools provided in this menu, namely:
+
+
+{New} Creates a new (unnamed) buffer in the latex-suite/macros/ directory.
+ Use the command :TexMacroNew in non-gui mode.
+{Edit} Opens up the corresponding macro file for editing. Use |:TexMacroEdit|
+ in non-gui mode. When you try to edit {macro} not from local directory
+ Latex-Suite will copy it to your local directory with suffix "-local".
+ If local copy already exists Latex-Suite prompt for overwriting it.
+{Delete} Deletes the corresponding macro. Use the prefixed numbers for fast
+ navigation of menus. Use |:TexMacroDelete| in non-gui mode. When you
+ choose to delete {macro} which is not in your local directory
+ Latex-Suite will refuse to delete it.
+{Redraw} Rescans the macros/ directories and refreshes the macros list.
+
+--------------------------------------------------------------------------------
+Making your own Macros via IMAP() *ls_3_12* *ls_a_bG*
+ *ls-new-macros*
+
+If you find the need to create your own macros, then you can use the IMAP()
+function provided with Latex-Suite. See [|ls_a_bH|] for a short explanation of
+why you might prefer IMAP() over Vim's standard :imap command. An example best
+explains the usage: >
+ :call IMAP('NOM', '\nomenclature{<++>}<++>', 'tex')
+This will create a Latex-Suite-style mapping, where if you type NOM in insert
+mode, you will get \nomenclature{<++>}<++> with the cursor left in place of the
+first <++> characters. See [|ls_a_bI|] for a detailed explanation of the IMAP()
+command.
+
+For maps which are triggered for a given filetype, the IMAP() command above
+should be put in the filetype plugin script for that file. For example, for
+tex-specific mappings, the IMAP() calls should go in $VIM/ftplugin/tex.vim. For
+globally visible maps, you will need to use the following in either your
+~/.vimrc or a file in your $VIM/plugin directory. >
+ augroup MyIMAPs
+ au!
+ au VimEnter * call IMAP('Foo', 'foo', '')
+ augroup END
+
+
+
+
+Why use IMAP() *ls_3_12_1* *ls_a_bH*
+ *why-IMAP*
+
+Using IMAP instead of Vim's built-in :imap command has a couple of advantages:
+1. The 'ttimeout' option will generally limit how easily you can type the left
+ hand side for a normal :imap. if you type the left hand side too slowly, then
+ the mapping will not be activated.
+
+2. If you mistype one of the letters of the lhs, then the mapping is deactivated
+ as soon as you backspace to correct the mistake.
+
+3. The characters in lhs are shown on top of each other. This is fairly
+ distracting. This becomes a real annoyance when a lot of characters initiate
+ mappings.
+
+
+IMAP() syntax *ls_3_12_2* *ls_a_bI*
+ *ls-imaps-syntax*
+
+Formally, the syntax which is used for the IMAP function is: >
+ call IMAP (lhs, rhs, ft [, phs, phe])
+
+
+Argument Explanation~
+lhs This is the "left-hand-side" of the mapping. When you use IMAP, only
+ the last character of this word is actually mapped, although the
+ effect is that the whole word is mapped.
+
+ If you have two mappings which end in a common lhs, then the mapping
+ with the longer lhs is used. For example, if you do >
+ call IMAP('BarFoo', 'something', 'tex')
+ call IMAP('Foo', 'something else', 'tex')
+< Then typing BarFoo inserts "something", whereas Foo by itself inserts
+ "something else".
+
+ Also, the nature of IMAP() makes creating certain combination of
+ mappings impossible. For example if you have >
+ call IMAP('foo', 'something', 'tex')
+ call IMAP('foobar', 'something else', 'tex')
+< Then you will never be able to trigger "foobar" because typing "foo"
+ will immediately insert "something". This is the "cost" which you
+ incur over the normal :imap command for the convenience of no
+ 'timeout' problems, the ability to correct lhs etc.
+
+
+rhs The "right-hand-side" of the mapping. This is the expansion you will
+ get when you type lhs.
+
+ This string can also contain special characters such as <enter> etc.
+ To do this, you will need to specify the second argument in
+ double-quotes as follows: >
+ :call IMAP('EFE', "\\begin{figure}\<CR><++>\\end{figure}<++>", 'tex')
+< With this, typing EFE is equivalent to typing in the right-hand side
+ with all the special characters in insert-mode. This has the advantage
+ that if you have filetype indentation set up, then the right hand side
+ will also be indented just as if you had typed it in normally.
+
+ *IMAP_PutTextWithMovement* *ls_a_ea*
+ You can also set up a Latex-Suite style mapping which calls a custom
+ function as follows: >
+ :call IMAP('FOO', "\<C-r>=MyFoonction()\<CR>", 'tex')
+< where MyFoonction is a custom function you have written. If
+ MyFoonction also has to return a string containing <++> characters,
+ then you will need to use the function IMAP_PutTextWithMovement(). An
+ example best explains the usage:
+
+ >
+ call IMAP('FOO', "\<C-r>=AskVimFunc()\<CR>", 'vim')
+ " Askvimfunc: Asks For Function Name And Sets Up Template
+ " Description:
+ function! AskVimFunc()
+ let name = input('Name of the function : ')
+ if name == ''
+ let name = "<+Function Name+>"
+ end
+ let islocal = input('Is this function scriptlocal ? [y]/n : ', 'y')
+ if islocal == 'y'
+ let sidstr = '<SID>'
+ else
+ let sidstr = ''
+ endif
+ return IMAP_PutTextWithMovement(
+ \ "\" ".name.": <+short description+> \<cr>" .
+ \ "Description: <+long description+>\<cr>" .
+ \ "\<C-u>function! ".name."(<+arguments+>)<++>\<cr>" .
+ \ "<+function body+>\<cr>" .
+ \ "endfunction \" "
+ \ )
+ endfunction
+<
+
+
+ft The file type for which this mapping is active. When this string is
+ left empty, the mapping applies for all file-types. A filetype
+ specific mapping will always take precedence.
+
+
+phs, phe If you prefer to write the rhs with characters other than <+ and +> to
+ denote place-holders, you can use the last 2 arguments to specify
+ which characters in the rhs specify place-holders. By default, these
+ are <+ and +> respectively.
+
+ Note that the phs and phe arguments do not control what characters
+ will be displayed for the placeholders when the mapping is actually
+ triggered. What characters are used to display place-holders when you
+ trigger an IMAP are controlled by the Imap_PlaceHolderStart
+ [|ls_a_cV|] and Imap_PlaceHolderEnd [|ls_a_er|] settings.
+
+
+
+================================================================================
+Package Handling *ls_4* *ls_a_bJ*
+ *latex-packages*
+
+|ls_4_1| Inserting package commands
+|ls_4_2| Actions taken for supported packages
+|ls_4_3| Automatic Package detection
+|ls_4_4| Writing supporting for a package
+
+
+Latex-Suite has a lot of functionality written to ease working with packages.
+Packages here refers to files which you include into the LaTeX document using
+the \usepackage command.
+
+
+--------------------------------------------------------------------------------
+Inserting package commands *ls_4_1* *ls_a_bK*
+ *inserting-packages*
+
+When you first invoke Latex-Suite, it scans the
+$VIM/ftplugin/latex-suite/packages directory for package script files and
+creates a menu from all the files found there. This menu is created under
+TeX-Suite > Packages > Supported. This menu contains a list of packages
+"supported" by Latex-Suite. When you choose one of the packages from this menu
+(for example the amsmath package), then a line of the form >
+ \usepackage[<++>]{amsmath}<++>
+will be inserted into the current file.
+
+The \usepackage line can also be inserted in an easy manner in the current file
+by pressing <F5> while in the preamble of the current document. This will set up
+a prompt from the supported packages and ask you to choose from one of them. If
+you do not find the package you want to insert in the list, you can type in a
+package-name and it will use that. Pressing <F5> in the preamble on a line
+containing a single word will construct a \usepackage line from that word.
+
+You can also use the TPackage [|ls_a_cD|] to insert the \usepackage line.
+
+Once you have inserted a \usepackage line, for supported packages, you can use
+the Options and Commands menus described in the next section [|ls_a_bL|].
+
+--------------------------------------------------------------------------------
+Actions taken for supported packages *ls_4_2* *ls_a_bL*
+ *package-actions*
+
+Latex-Suite takes the following actions for packages detected when a file is
+loaded, or a new \usepackage line is inserted using one of the methods described
+in the previous section [|ls_a_bK|].
+
+If you are using the GUI and you have g:Tex_Menus [|ls_a_dI|] set to 1,
+Latex-Suite will create the following sub-menus
+TeX-Suite > Packages > <package> Options
+
+TeX-Suite > Packages > <package> Commands
+
+where <package> is the package you just inserted (or was detected). You can use
+these menus to insert commands, environments and options which Latex-Suite
+recognizes as belonging to this package.
+
+NOTE: While inserting an option, you need to position yourself in the
+ appropriate place in the document, most commonly inside the square braces
+ in the \usepackage[]{packname} command. Latex-Suite will not navigate to
+ that location.
+
+
+In addition to creating these sub-menus, Latex-Suite will also scan the
+$VIM/ftplugin/latex-suite/dictionaries directory and if a dictionary file
+corresponding to the package file is found, then it will add the file to the
+'dict' setting in Vim so you can use the <C-X><C-K> command to complete words
+from that file.
+
+For example, the SIUnits package has a custom dictionary.
+
+ *latex-package-scanning* *ls_a_eb*
+If a package detected at startup is found by Latex-Suite in the current
+directory or in a location specified by the g:Tex_TEXINPUTS [|ls_a_dT|]
+variable, Latex-Suite will scan the package for \newenvironment and newcommand
+lines and also append any commands and environments found to the list of
+commands and environments which you are prompted with when you press <F5>
+[|ls_a_bh|] or <F7> [|ls_a_dW|] in insert mode.
+In addition, the TeX-Suite > Packages menu also contains the following submenus
+
+Update
+------
+This command is to be invoked with the cursor placed on the package name. If the
+corresponding package is found, then a sub-menu with the supported commands and
+options is created.
+
+Update All
+----------
+This function reads the preamble of the document for \usepackage lines and if
+Latex-Suite supports the detected packages, then sub-menus containing the
+package options and commands are created.
+
+
+--------------------------------------------------------------------------------
+Automatic Package detection *ls_4_3* *ls_a_bM*
+ *automatic-package-detection*
+
+Whenever Latex-Suite begins editing a new LaTeX file, it scans it for
+\usepackage{name} lines, and if a supported package is found, then it will
+create sub-menus and add to the 'dict' setting as described above.
+
+If a master-file [|ls_a_ct|] has been specified, then it will scan that file
+instead of the current file. See the section Custom Packages [|ls_a_bN|] to see
+which files Latex-Suite will scan in more detail.
+
+For all the packages detected in this manner, Latex-Suite will take certain
+actions as described in the section package support. [|ls_a_bL|].
+
+
+
+Custom Packages *ls_4_3_1* *ls_a_bN*
+ *custom-packages*
+
+Often times, the preamble can become too long, and some people prefer to put
+most of their personalization in a custom package and include that using a
+\usepackage line. Latex-Suite tries to search such customs package for other
+\usepackage lines, so that supported packages included in this indirect manner
+can also be used to create sub-menus, extend the 'dict' setting etc. The most
+obvious place to place such custom packages is in the same directory as the
+edited file. In addition, LaTeX also supports placing custom packages in places
+pointed to by the $TEXINPUTS environment variable.
+
+If you use the $TEXINPUTS variable in LaTeX, and you wish Latex-Suite to search
+these custom packages for \usepackage lines, then you need to initialize the
+g:Tex_TEXINPUTS [|ls_a_dT|] variable.
+
+The g:Tex_TEXINPUTS variable needs to be set in the same format which Vim uses
+for the 'path' setting. This format is explained in detail if you do >
+ :help file-searching
+from within Vim.
+
+Therefore the value of g:Tex_TEXINPUTS will most probably be different from
+$TEXINPUTS which your native LaTeX distribution uses.
+
+Example: >
+ let g:Tex_TEXINPUTS = '~/texmf/mypackages/**,./**'
+The ** indicates that all directories below the directory ~/texmf/mypackages and
+./ are to be scanned for custom packages.
+
+NOTE: The present directory '.' is always searched. You need not include that in
+ g:Tex_TEXINPUTS.
+
+
+
+--------------------------------------------------------------------------------
+Writing supporting for a package *ls_4_4* *ls_a_bO*
+ *supporting-packages*
+
+Supporting a package is easy and consists of writing a vim script with the same
+name as the package and placing it in the $VIM/ftplugin/latex-suite/packages
+directory. A package script should define two variables as described in the next
+two sections. In addition to these two variables, you can also define any
+functions, environment definitions etc. in this file.
+
+
+
+g:Tex_package_option_<package> *ls_4_4_1* *ls_a_bP*
+
+This setting is a string containing a comma separated list of options supported
+by this package.
+
+Example: >
+ g:Tex_package_option_mypack = 'opt1,opt2=,sbr:group1,opt3,opt4'
+The = suffix means that the option takes a value. Use sbr:group name to separate
+options into sub-menus. All successive options will be clubbed into the group1
+sub-menu till the next sbr: option is encountered.
+
+
+g:Tex_package_<package> *ls_4_4_2* *ls_a_bQ*
+
+ >
+
+ g:TeX_package_<package> = "pre:Command,pre:Command1"
+ More detailed example is in latex-suite/packages/exmpl file (slightly
+ outdated).
+ Here is short summary of prefixes which can be used in package files:
+ (x - place with cursor, <++> - |placeholder|)
+
+ {env:command} Environment: creates simple environment template
+ \begin{command}
+ x
+ \end{command}<++>
+ {eno:command} Environment with option:
+ \begin[x]{command}
+ <++>
+ \end{command}<++>
+ {ens:command[<<option>>]...} Environment special:
+ \begin[<<option>>]...{command}
+ <++>
+ \end{command}<++>
+ {bra:command} Brackets:
+ \command{x}<++>
+ {brd:command} Brackets double:
+ \command{x}{<++>}<++>
+ {brs:command[<<option>>]...} Brackets special (as environment special:
+ \command[<+x+>]{<++>}{<++>}<++>
+ {nor:command} Normal:
+ \command<Space
+ {noo:command} Normal with option:
+ \command[x]<++>
+ {nob:command} Normal with option and brackets:
+ \command[x]{<++>}<++>
+ {pla:command} Plain:
+ command<Space
+ {spe:command} Special:
+ command <-literal insertion of command
+ {sep:command} creates separator. Good for aesthetics and usability :)
+ {sbr:command} Breaks menu into submenus. <command> will be title of submenu.
+ Can be used also in package variable.
+
+ Command can be also given without prefix:. The result is
+ \command
+
+
+
+================================================================================
+Latex Completion *ls_5* *ls_a_bR*
+ *latex-completion*
+
+|ls_5_1| Latex-Suite completion example
+|ls_5_2| Latex-Suite \ref completion
+|ls_5_3| Latex-Suite \cite completion
+|ls_5_4| Latex-Suite filename completion
+|ls_5_5| Custom command completion
+
+
+Latex-Suite provides an easy way to insert references to labels and
+bibliographic entries and also provide filename arguments to commands such as
+\includegraphics. Although the completion capabilities are very diverse,
+Latex-Suite only uses a single key (<F9> by default) to do all of it. Pressing
+the <F9> key does different things based on where you are located. Latex-Suite
+tries to guess what you might be trying to complete at the location where you
+pressed <F9>. For example, pressing <F9> when you are within a \ref command will
+try to list the \label's in the present directory. Pressing it when you are in a
+\cite command will list bibliography keys. Latex-Suite also recognizes commands
+which need a file name argument and will put up an explorer window for you to
+choose a filename.
+
+ *ls-set-grepprg* *ls_a_eG*
+NOTE: Before you start with Latex-Suite's completion function...
+ ----------------------------------------------------------
+ All of Latex-Suite's completion capabilities depend on a external program
+ being available on your system which can search through a number of files
+ for a reg-exp pattern. On *nix systems, the pre-installed grep utility is
+ more than adequate. Most windows systems come with a utility findstr, but
+ that has proven to be very inadequate (for one, it does not have an option
+ to force the file name to be displayed when searching through a single
+ file). Your best bet is to install cygwin |ls_u_3|, but if you think
+ that's overkill, you can search for |ls_u_4| a windows implementation of
+ GNU grep. (Latex-Suite testing on windows has been done with cygwin's port
+ of GNU grep).
+
+ Once you have a grep program installed, you need to set the 'grepprg'
+ option for vim. Make sure you use a setting which forces the program to
+ display file names even when you are searching through a single file. For
+ GNU grep, the syntax is >
+ set grepprg=grep\ -nH\ $*
+<
+
+
+
+--------------------------------------------------------------------------------
+Latex-Suite completion example *ls_5_1* *ls_a_bS*
+ *ls-completion-usage*
+
+Consider the situation where you are editing a file with two equations labelled
+eqn:euler and eqn:einstein. Now you want to insert a reference to one of these
+equations. To do this, you type the \ref{eqn:} command and with the cursor
+placed after eqn:, press <F9>. This will bring up two new windows beneath the
+main window you were working in as shown in the figure below. >
+
+ 8 These are a couple of equations:
+ 9 +-- 4 lines: eqnarray (eqn:euler) : e^{j\pi} + 1 &=& 0---------------
+ 13 +-- 4 lines: equation (eqn:einstein) : E = m c^2---------------------
+ 17
+ 18 These are a couple of figures:
+ 19 +-- 7 lines: figure (fig:monkeys) : Monkeys can Type-------------------
+ 26 +-- 7 lines: figure (fig:shakespeare) : Shakespeare could not type-----
+ 33
+ 34 This is a reference to \ref{eqn:}<++>
+ 35
+ 36
+ 37 \end{document}
+ 38
+ ~
+ ~
+ ~
+ newfile.tex 34,32 Bot
+ newfile.tex|11| \label{eqn:euler}
+ newfile.tex|15| \label{eqn:einstein}
+ ~
+ [Error List] 1,1 All
+ 7
+ 8 These are a couple of equations:
+ 9 \begin{eqnarray}
+ 10 e^{j\pi} + 1 &=& 0
+ 11 \label{eqn:euler}
+ 12 \end{eqnarray}
+ 13 \begin{equation}
+ 14 E = m c^2
+ 15 \label{eqn:einstein}
+ 16 \end{equation}
+ newfile.tex [Preview] 11,3 21%
+
+
+
+The first window (shown as [ErrorList] above) is a |cwindow| containing a list
+of possible matches for the reference. The cursor will be located in the first
+line of this window. The bottom window is a preview-window showing the context
+of the \label. Moving around in the [ErrorList] window automatically scrolls the
+preview window so as to always keep showing the context of the \label being
+viewed in the [ErrorList] window. You can also press J and K in the [ErrorList]
+window to scroll the preview window up and down.
+
+To insert one of the labels, simply position the cursor in the correct line in
+the [ErrorList] window and press <enter>. This will immediately close the two
+newly opened windows, get back to the correct location in the original file
+being edited and insert the label into the \ref command.
+
+If you notice carefully in the example above, the [ErrorList] window only showed
+the matches for the equations and did not list any of the figure labels. This is
+because we pressed <F9> after \ref{eqn: instead of simply after \ref{. This
+caused Latex-Suite to search only for those labels which started with the string
+eqn:. If you had pressed <F9> after a \ref{, you would have been shown matches
+from _all_ labels, not just those starting with eqn:.
+
+Thus prefixing all your labels with eqn:, fig:, tab: etc. depending on what you
+are labelling will lead to an easier time completing references.
+
+--------------------------------------------------------------------------------
+Latex-Suite \ref completion *ls_5_2* *ls_a_bT*
+ *ls-completion-ref*
+
+Pressing <F9> when you are within a partially completed \ref command will split
+open a window (named __OUTLINE__) which contains a nicely formatted list of all
+the \labels found in the present project. The \labels are heirarchically
+arranged according to which \section, \subsection etc of the overall document
+structure they are present in. For example, when you first press <F9> after
+typing \ref{, you should see something like: >
+
+ +-- 54 lines: 2. Kinematics--------------------------------
+ +-- 98 lines: 3. Aerodynamics of the MFI thorax------------
+ +-- 40 lines: 4. Jump Resonance in Fourbar Mechanisms------
+ +-- 28 lines: 5. Design and Fabrication Issues-------------
+
+Each chapter is |fold|ed away so that you can quickly jump to the correct
+section/subsection in which the relevant equation is defined. This makes
+inserting references significantly faster for large projects with hundreds of
+equations. You can then open some of the folds to see for example: >
+
+ +-- 54 lines: 2. Kinematics--------------------------------
+ 3. Aerodynamics of the MFI thorax
+ 3.1. Aerodynamic modeling of the MFI wing forces
+ 3.1.1. Geometric Specification
+ eqn:wingnormal-pos
+ \nhat = T_z(\theta_2) T_y(\theta_y)T_x(\theta_x)\nhat_0,
+ eqn:T-1
+ T_1(\theta_2) &=& T_z(\theta_2)
+
+The <Tab> key is mapped in this window to toggle folds so that you can quickly
+open/close folds in order to navigate the heirarchy faster. Once you are
+positioned on a label, press <Enter>. This closes the __OUTLINE__ window,
+returns to the window in which you pressed <F9> and inserts the reference at the
+current cursor position.
+
+NOTE: Filtering labels by prefix
+ --------------------------
+ You can press <F9> after typing part of the \label. In this case,
+ Latex-Suite only presents \labels which begin with the already filled
+ characters. You can use this to choose between equations, figures, tables
+ etc. if you consistently label equations to begin with eqn:, figures to
+ begin with fig: etc. For example, with this scheme, pressing <F9> after
+ typing \ref{eqn: will only list equations.
+
+
+NOTE: Latex-Suite works the same way if you press <F9> after any command which
+ contains the letters ref. Thus you can complete \eqref in exactly the same
+ manner.
+
+
+NOTE: Requirements
+ ------------
+ This method of preseting the \labels depends on Vim being compiled with
+ python support. To check if you have this, see the output of the :ver
+ command. If you see something like +python, you are all set. Failing this,
+ you will need to have python somewhere in your $PATH.
+
+
+
+--------------------------------------------------------------------------------
+Latex-Suite \cite completion *ls_5_3* *ls_a_bU*
+ *latex-completion-cite*
+
+Latex-Suite provides an easy way to insert references to bibliographic entries.
+Pressing <F9> when the cursor is placed inside a partially completed \cite
+command will split open a new window (named __OUTLINE__) which contains a
+formatted and syntax highlighted list of all bibtex entries found. For example,
+pressing <F9> after typing \ref{ should present you with a window which looks
+something like this: >
+
+ Article [dickinson:science:99]
+ "Wing rotation and aerodynamic basis of insect flight"
+ M. H. Dickinson and F-O. Lehman and S. P. Sane
+ In Science, 1999
+
+ Article [ellington:84:part1]
+ "The Aerodynamics of Hovering Insect Flight. I. The Quasi-Steady Analysis"
+ Ellington, C P
+ In Philosophical Transactions of the Royal Society of London. Series B, Biological Sciences, 1984
+
+ Article [ellington:84:part2]
+ "The Aerodynamics of Hovering Insect Flight. II. Morphological Parameters"
+ Ellington, C P
+ In Philosophical Transactions of the Royal Society of London. Series B, Biological Sciences, 1984
+
+
+
+You can easily jump from one entry to another using the 'n' and 'p' keys (to go
+to the next / previous entry respectively).
+
+You can also filter out a subset of the bibtex entries by pressing 'f' while in
+this window. Doing this presents the following prompt: >
+
+ Field acronyms: (`:let g:Tex_EchoBibFields = 0` to avoid this message)
+ [t] title [a] author [b] booktitle
+ [j] journal [y] year [p] bibtype
+ (you can also enter the complete field name)
+ Enter filter criterion [field<space>value]:
+
+At the prompt, type >
+ a ellington
+Notice that the letter a is an acronym for author according to the prompt above.
+Therefore this filter only shows those bibtex entries whose author field
+contains the text ellington. You can keep narrowing your selection by repeatedly
+filtering the results. If you would like to remove all the filters and see all
+entries again, press 'a', which removes all the filters.
+
+You can also sort the bibtex entries based on a field. To do this, press 's'.
+This will present you with a prompt like in the case of the filter and you are
+asked to choose a field. In this case, you would type in a single character.
+This sorts the entries according to that field.
+
+NOTE: <F9> will also work in a similar way after any command which contains the
+ word cite in it. For example, pressing <F9> will also work with \citenum
+ etc.
+
+
+The following logic is applied to find out which bibliographic entries are
+included in the completion.
+
+
+1. Firstly, if the present file has a master-file [|ls_a_ct|] defined for it,
+ then Latex-Suite will perform the following steps on that file instead of on
+ the current file.
+
+2. First, the file is scanned for a \bibliography command. To explain better,
+ assume that a command >
+ \bibliography{file1,file2}
+< is found in the present file. For each bibliography file, say file1,
+ Latex-Suite first tries to see if a .bib file, file1.bib can be found. If so,
+ it will scan it for bib-keys of the form @BOOK{ etc., and add these searches
+ to the completion list. If a .bib file cannot be found, then it will try to
+ see if file1.bbl can be found. If so, Latex-Suite will search it for bib-keys
+ of the form \bibitem and add these to the completion list.
+
+ You can set the location where Latex-Suite will search for .bib and .bbl
+ files using the |Tex_BIBINPUTS| [|ls_a_dr|] variable.
+
+3. If a \bibliography command is not found, then Latex-Suite tries to scan the
+ present file for a \begin{thebibliography} environment. If found, Latex-Suite
+ searches the present file for bib-keys of the form \bibitem.
+
+4. Finally, it will try to see if this file includes other files via the \input
+ command. For each such file found, Latex-Suite will repeat the previous two
+ steps stopping at the first file which has either a \bibliography command or
+ a thebibliography environment.
+
+
+Caching the \cite completion results *ls_5_3_1* *ls_a_bV*
+ *cite-search-caching*
+
+ *TClearCiteHist* *ls_a_ec*
+Often times, the editing cycle proceeds by first laying out a comprehensive
+bibliography and then completing all the \cite commands in one session. In such
+situations, it is inefficient to scan the whole list of bibliography files for
+bib-keys each time. Latex-Suite provides a way to cache the results of the cite
+completion search using the Tex_RememberCiteSearch [|ls_a_du|] variable. If set,
+Latex-Suite will perform the search only the first time <F9> is used. Next time
+on, it will reuse the search results. If you wish to redo the search results,
+issue the command >
+ TClearCiteHist
+This will redo the completion list next time you use <F9>.
+
+--------------------------------------------------------------------------------
+Latex-Suite filename completion *ls_5_4* *ls_a_bW*
+ *ls-filename-completion*
+
+When you press <F9> at a location where Latex-Suite guesses a filename needs to
+be typed, then a new explorer window will open up with the list of files. You
+can use this window to change directories etc. Pressing <enter> on a filename in
+the explorer window will automatically close the explorer window, return to the
+location where you pressed <F9> from and insert the filename into that position.
+
+Latex-Suite also tries to guess what kinds of files you might not want to insert
+and hides those accordingly. For example, if you press <F9> when you are located
+at \includegraphics{, then Latex-Suite knows that you will not want to insert
+.tex files. Therefore, the explorer window will automatically hide these files.
+
+As of now, Latex-Suite recognizes the following commands for filename
+completion. Along with the commands, this table also lists the files which
+Latex-Suite will not show for completing each command.
+
+command hide pattern~
+\bibliography '^\.,\.[^b]..$'
+\include \includeonly '^\.,\.[^t]..$'
+\includegraphics \psfig '^\.,\.tex$,\.bib$,\.bbl$,\.zip$,\.gz$'
+\input ''
+
+--------------------------------------------------------------------------------
+Custom command completion *ls_5_5* *ls_a_bX*
+ *ls-completion-custom*
+
+Latex-Suite also recognizes certain commonly used LaTeX commands for the <F9>
+key. At the moment, the \bibliographystyle, \addtocontents and the
+\addcontentsline commands are recognized, although more will be added in the
+future. When you press the <F9> after such a command, Latex-Suite will prompt
+you with a list of arguments which make sense for the command.
+
+This functionality is available for commands for which a global variable of the
+form g:Tex_completion_{<command>} is defined where <command> is the command
+name. This variable is a comma separated list of values which this command
+takes. For example, the argument to the \bibliographystyle command is commonly
+one of abbr,alpha,plain,unsrt. Therefore, Latex-Suite defines >
+ let g:Tex_completion_bibliographystyle = 'abbr,alpha,plain,unsrt'
+You can define your own completion variables in a similar manner for commands
+which you might use.
+
+================================================================================
+LaTeX Compiling *ls_6* *ls_a_bY*
+ *latex-compiling*
+
+|ls_6_1| Setting Compilation rules
+|ls_6_2| Handling dependencies in compilation
+|ls_6_3| Compiling multiple times
+|ls_6_4| Customizing the compiler output
+|ls_6_5| Compiling parts of a file
+
+
+This functionality, available via the TeX-Suite menu, provides various tools to
+compile and debug LaTeX files from within Vim.
+
+If you are using commonly used LaTeX tools, then you should be all set as soon
+as you download and install Latex-Suite. In order to compile a LaTeX file,
+simply press \ll while editing the file. This runs latex on the current file and
+displays the errors in a |quickfix-window| below the file being edited. You can
+then scroll through the errors and press <enter> to be taken to the location of
+the corresponding error. Along with the errors being listed in the quickfix
+window, the corresponding log file is also opened in |preview| mode beneath the
+quickfix window. It is scrolled automatically to keep in sync with the error
+being viewed in the quickfix window. You will be automatically taken to the
+location of the first error/warning unless you set the g:Tex_GotoError
+[|ls_a_dD|] variable to 0.
+
+Latex-Suite also supports compiling LaTeX into formats other than DVI. By
+default, Latex-Suite supports PDF and PS formats. In order to choose a format
+other than DVI, use the TTarget command or the TeX-Suite > Target Format menu
+item. This will ask you to type in the name of the target format you want to
+compile to. If a rule has been defined for the format (as described in the next
+section [|ls_a_bZ|]), then Latex-Suite will switch to that format.
+
+Trying to choose a format for which no rule has been defined will result in
+Latex-Suite displaying a warning message without taking any action.
+
+If you are using a multiple file project and need to compile a master file while
+editing other files, then Latex-Suite provides a way to specify the file to be
+compiled as described in latex-master-file [|ls_a_ct|].
+
+
+--------------------------------------------------------------------------------
+Setting Compilation rules *ls_6_1* *ls_a_bZ*
+ *compiler-rules*
+
+In order to compile LaTeX files into various formats, Latex-Suite needs to know
+which external programs to call and in which way they need to be called. This
+information is provided to Latex-Suite via a number of "rules". For each format
+you want to compile to, you need to specify a rule. A rule is specified by
+defining a variable of the form: >
+ g:Tex_CompileRule_<format>
+where <format> is a string like "pdf", "dvi" etc.
+
+Example: By default, Latex-Suite uses the following rule for compiling LaTeX
+documents into DVI. >
+ g:Tex_CompileRule_dvi = 'latex --interaction=nonstopmode $*'
+
+
+Default values are also provided for ps and pdf formats. You might want to
+change these rules in texrc according to your local tex environment.
+
+NOTE: For win32 users user MikTeX, sometimes the latex compiler's output has a
+ bug where a single number is split across different lines. In this case,
+ put the included vim-latex file distributed with Latex-Suite.
+
+
+
+--------------------------------------------------------------------------------
+Handling dependencies in compilation *ls_6_2* *ls_a_ca*
+ *compiler-dependency*
+
+Latex-Suite also handles compiling dependencies automatically via certain rules
+which specify the "dependency chain" for each target format. For example, if in
+your case, you use >
+ .tex -> .dvi -> .ps -> .pdf
+to generate pdf files from dvi files, then you will need to specify the
+following setting in your Latex-Suite configuration (see customizing Latex-Suite
+[|ls_a_cP|] for where these settings should go): >
+
+ let g:Tex_FormatDependency_pdf = 'dvi,ps,pdf'
+
+This is a comma separated string of formats specifying the order in which the
+formats to be compiled into should be chosen. With this setting, if you set the
+target format to pdf, then the next time you compile via the \ll shortcut,
+Latex-Suite will first generate a dvi file, then use that to generate the ps
+file and finally create the pdf file from that.
+
+NOTE: If any of the intermediate formats is listed in the
+ g:Tex_MultipleCompileFormats setting as described in the section Compiling
+ multiple times [|ls_a_cb|], then Latex-Suite might make multiple calls to
+ the compiler to generate the output file of that format.
+
+
+Along with the g:Tex_FormatDependency_{format} setting, you should ofcourse
+specify the rule for compiling to each of the formats as described in the
+previous section [|ls_a_bZ|]. For example, with the setting above, you could
+use: >
+
+ let g:Tex_CompileRule_dvi = 'latex --interaction=nonstopmode $*'
+ let g:Tex_CompileRule_ps = 'dvips -Ppdf -o $*.ps $*.dvi'
+ let g:Tex_CompileRule_pdf = 'ps2pdf $*.ps'
+
+
+NOTE: By default, Latex-Suite does not specify any compiler dependencies. Each
+ target format for which a rule has been derived will be compiled
+ independently.
+
+
+
+--------------------------------------------------------------------------------
+Compiling multiple times *ls_6_3* *ls_a_cb*
+ *compiling-multiple*
+
+Most LaTeX compilers need to be re-run several times in several commonly
+occurring situations in order to get a final camera ready copy. For example,
+when \label's change, when new \cite commands are added etc. If the target
+format you are compiling to requires multiple compilations, then you will need
+to include the format in the g:Tex_MultipleCompileFormats setting. This is a
+comma separated string of formats which need multiple compilations to be
+generated correctly.
+
+By default, this setting contains just the dvi format. If you use the pdflatex
+compiler to generate pdf files, then you might want to also include pdf into the
+above setting.
+
+For every format included in the g:Tex_MultipleCompileFormats setting described
+above, Latex-Suite will use the following logic to generate the file. Note that
+although the following description uses latex to refer to the compiler, it could
+be some other compiler such as pdflatex for generating pdf output.
+
+1. If there was a .idx file, then remember its contents.
+
+2. Run latex.
+
+3. If the .idx file changed due to the latex compiler, then run makeindex to
+ redo the .ind file and then remember to rerun latex.
+
+4. If the .aux file generated by the latex compiler contains a \bibdata line,
+ then it means that we are using a .bib file. Therefore, run bibtex.
+
+ NOTE: This means that we will always run bibtex whenever we use the
+ \bibliography command whether or not we actually need to. At this time,
+ Latex-Suite does not parse the .aux file before and after the latex
+ compiler to see if we are required to rerun bibtex.
+
+5. If the .bbl file changes because of this, then remember to rerun latex again.
+
+6. Also, we check to see if the LaTeX compiler gives certain standard warnings
+ which notify that we need to compile once again. In this case also, remember
+ to rerun LaTeX.
+
+7. If we found we had to rerun latex, then we repeat the steps above but not
+ running makeindex or bibtex again.
+
+The LaTeX file is compiled atmost 5 times using this logic. These steps will
+ensure that on most platforms/environments, you will get a clean output with all
+the cross-references, citations etc correctly labelled and ordered.
+
+--------------------------------------------------------------------------------
+Customizing the compiler output *ls_6_4* *ls_a_cc*
+ *compiler-output-customization*
+
+Most LaTeX compilers produce a very large amount of output during compilation,
+most of which is not relevant to debugging type-setting errors. The compiler
+plugin provided with Latex-Suite (which is an enhanced version of the standard
+compiler plugin maintained by Artem Chuprina), provides a way to filter the
+compiler output so that the actual errors/warnings can be presented much more
+concisely.
+
+The compiler plugin is set up by default to function in a "non-verbose",
+"ignore-common-warnings" mode, which means that irrelevant lines from the
+compiler output will be ignored and some very common warnings are also ignored.
+Latex-Suite does this via the global variable g:Tex_IgnoredWarnings [|ls_a_dA|].
+This is a list of patterns, which can be used to filter out (or ignore) some or
+the warnings and errors reported by the compiler. See the link above for its
+default value.
+
+Latex-Suite uses the g:Tex_IgnoreLevel [|ls_a_dB|] setting to set a default
+ignore level. For example, for the default value of 4, Latex-Suite ignores
+warnings and errors matching the first 4 patterns in g:Tex_IgnoredWarnings.
+
+In addition to setting a default value of the ignore level, Latex-Suite provides
+the ability to set the level dynamically, using the TCLevel command. For
+example, if you issue the command: >
+ TCLevel 3
+from within Vim, then the next time you compile the document, Latex-Suite will
+ignore warnings and errors which match the first three patterns in
+g:Tex_IgnoredWarnings.
+
+When TCLevel is called with the unquoted string strict as follows: >
+ TClevel strict
+then Latex-Suite switches to a "verbose", "no-lines-ignored" mode which is
+useful when you want to make final checks of your document and want to be
+careful not to let things slip by.
+
+See the explanation of the settings g:Tex_IgnoredWarnings [|ls_a_dA|] and
+g:Tex_IgnoreLevel [|ls_a_dB|] to find out how to customize the filtering done by
+Latex-Suite
+
+--------------------------------------------------------------------------------
+Compiling parts of a file *ls_6_5* *ls_a_cd*
+ *part-compiling*
+
+Latex-Suite also provides a way to compile a fragment of a document. This can be
+very useful while debugging a complex equation or one chapter in a book, etc.
+
+To do this, visually select a portion of the text and press \ll while in visual
+mode. The visually selected portion will be saved to a temporary file with the
+preamble from the current document prepended. Latex-Suite will then switch focus
+to this temporary file and compile it. Continue to debug this file as required
+and then replace the portion of the original file with this one.
+
+Pressing \lv while viewing the temporary file will view the output file
+generated from the temporary file, not the original file
+
+Two commands |TPartComp| and |TPartView| are provided to be able to get this
+functionality via the command line.
+
+From release 1.6 onwards of Latex-Suite, the temporary file created for part
+compilation will reside in the same directory as the file from which the
+fragment is being created. This ensures that any relative path-names defined in
+the fragment will still work. Latex-Suite will attempt to clean the temporary
+file(s) created when Vim exits.
+
+================================================================================
+Latex Viewing and Searching *ls_7* *ls_a_ce*
+ *latex-viewing*
+
+|ls_7_1| Setting Viewing rules
+|ls_7_2| Forward Searching DVI documents
+|ls_7_3| Inverse Searching
+
+
+
+--------------------------------------------------------------------------------
+Setting Viewing rules *ls_7_1* *ls_a_cf*
+ *latex-viewing-rules*
+
+In order to view the output files created by compiling the source files, you
+need to specify which external program Latex-Suite should call. You can specify
+the external program using one of two settings Tex_ViewRule_format [|ls_a_dF|]
+or Tex_ViewRuleComplete_format [|ls_a_dG|]. By default, Latex-Suite has default
+settings for viewing various common output formats via the Tex_ViewRule_format
+settings, so that if you are using commonly used programs, you should be all set
+to view compiled files from within Vim by simply pressing \lv.
+
+NOTE: The viewing function also takes the *.latexmain [|ls_a_ct|] file into
+ account to decide which file to show.
+
+
+If pressing \lv does not work, then it most probably has to do with incorrect
+settings of the g:Tex_ViewRule_<format> [|ls_a_dF|] where <format> is the format
+you are attempting to view. See the link above for how to set this according to
+your system.
+
+In addition to viewing the files, Latex-Suite also supports forward and inverse
+searching for certain common tools for viewing DVI documents. At the moment,
+there is built-in support for YAP on windows (which ships with MikTeX), and the
+popular xdvi on *nix platforms. See the next few sections for details on forward
+and inverse searching.
+
+--------------------------------------------------------------------------------
+Forward Searching DVI documents *ls_7_2* *ls_a_cg*
+ *forward-searching*
+
+Forward searching refers to making a DVI viewer display a given document at a
+given location from within Vim. At present, this functionality is supported for
+YAP on windows and xdvi on *nix machines. Pressing \ls from within Vim should
+make the DVI viewer display the portion of the document where your cursor is
+placed.
+
+ *enabling-searching* *ls_a_ed*
+NOTE: Enabling Forward and Inverse Searching
+ --------------------------------------
+ Most DVI viewers need "source-special" information in order to do forward
+ (and inverse) searching. This information is embedded in the dvi file if
+ the LaTeX source is compiled with the --src-specials option. By default,
+ Latex-Suite does not supply this argument to the compiler. See the section
+ on to find out how this option can be set.
+
+
+
+--------------------------------------------------------------------------------
+Inverse Searching *ls_7_3* *ls_a_ch*
+ *inverse-searching*
+
+Inverse searching refers to the DVI viewer telling Vim to display the LaTeX
+source file at a given location when you double-click in the DVI viewer window.
+
+You will need to enable searching [|ls_a_ed|] in order to use this
+functionality.
+
+You will also need to specify certain settings to the DVI viewer conveying the
+syntax which it needs to use to tell Vim how to display the source file. In YAP,
+you can set this option in View > Options > Inverse Search. The Command Line
+field needs to be set as follows: >
+ "C:\Program Files\vim\vim61\gvim" -c ":RemoteOpen +%l %f"
+The command :RemoteOpen is supplied when you install Latex-Suite.
+
+On *nix machines, Latex-Suite attempts to call the DVI viewer in such a way that
+it already knows how to communicate with Vim. If this does not seem to be
+working, you can use the RemoteOpen command described above.
+
+================================================================================
+Latex Folding *ls_8* *ls_a_ci*
+ *latex-folding*
+
+|ls_8_1| Default Folding Scheme in Latex-Suite
+|ls_8_2| Customizing what to fold
+|ls_8_3| Editing the folding.vim file directly
+
+
+Latex-Suite ships with the plugin SyntaxFolds.vim which is a plugin for creating
+"fake" syntax folds on the fly. The fold method is actually manual but the
+folding is based on LaTeX syntax. This offers a speed increase over regular
+syntax folding. Ofcourse it has the disadvantage that the folds are not dynamic,
+i.e newly created syntax items are not automatically folded up. (This is a
+compromise between speed and convenience).
+
+When you open up a LaTeX file, all the portions will be automatically folded up.
+However, no new folds will be created until you press <F6> or \rf. (rf stands
+for "refresh folds").
+
+The fold-text is set to the first line of the folded text unless the fold is a
+table, figure etc. (an environment). In this case, if a \caption and/or a label
+is found in the folded region, then those are used to make a more meaningful
+fold-text, otherwise the second line of the environment is displayed along with
+the name of the environment. In other words, the following >
+ \begin{figure}[h]
+ \centerline{\psfig{figure=slidercrank.eps,height=6cm}}
+ \caption{The Slider Crank Mechanism.}
+ \label{fig:slidercrank}
+ \end{figure}
+ % a LaTeX comment.
+ \begin{eqnarray}
+ \sin(\pi) = 0
+ \end{eqnarray}
+
+
+will be shown as: >
+ +--- 5 lines: figure (fig:slidercrank) : The Slider Crank Mechanism. -----
+ % a LaTeX comment.
+ +--- 3 lines: eqnarray () : \sin(\pi) = 0 --------------------------------
+
+
+
+--------------------------------------------------------------------------------
+Default Folding Scheme in Latex-Suite *ls_8_1* *ls_a_cj*
+ *default-folding*
+
+By default Latex-Suite creates folds in the following manner:
+
+ >
+ \chapter
+ \section
+ %%fakesection
+ \subsection
+ \subsubsection
+ \item
+ \equation
+ \eqnarray
+ \figure
+ \table
+ \footnote
+The indentation shows the "nestedness" of the folding scheme. See the next
+section [|ls_a_ck|] to see how you can change this scheme.
+
+--------------------------------------------------------------------------------
+Customizing what to fold *ls_8_2* *ls_a_ck*
+ *customizing-what-to-fold*
+
+From version 1.6 onwards, the folding in Latex-Suite can be controlled to a
+large extent via a number of global variables.
+
+
+
+Tex_FoldedSections *ls_8_2_1* *ls_a_cl*
+ *Tex_FoldedSections*
+
+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,%%fakesection,
+ subsection,subsubsection,paragraph
+Each of the entries in the list will fold up a section of the corresponding
+name. The %%fakesection section is provided as a means for the user to group
+lines into "fake" sections. A %%fakesection is assumed to start on a line which
+begins with the string %%fakesection and continue till the start of the next
+\section, \subsection or any other section.
+
+See also advanced fold settings [|ls_a_cp|].
+
+
+Tex_FoldedEnvironments *ls_8_2_2* *ls_a_cm*
+ *Tex_FoldedEnvironments*
+
+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 "eq" folds up the
+\begin{equation}, \begin{eqnarray}, \begin{eqnarray*} environments. To avoid
+this, you can replace the word "eq" with "eq}".
+
+See also advanced fold settings [|ls_a_cp|].
+
+
+Tex_FoldedCommands *ls_8_2_3* *ls_a_cn*
+ *Tex_FoldedCommands*
+
+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 [|ls_a_cm|]
+variable.
+
+NOTE: 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 [|ls_a_cp|].
+
+
+Tex_FoldedMisc *ls_8_2_4* *ls_a_co*
+ *Tex_FoldedMisc*
+
+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,<<<
+NOTE: 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 \items 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 [|ls_a_cp|].
+
+
+Advanced Fold setting details *ls_8_2_5* *ls_a_cp*
+ *fold-setting-advanced*
+
+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"
+
+ *fold-setting-adding* *ls_a_ee*
+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.
+
+--------------------------------------------------------------------------------
+Editing the folding.vim file directly *ls_8_3* *ls_a_cq*
+ *editing-folding*
+
+If you are using version 1.5 of Latex-Suite or older, you will need to directly
+edit the $VIM/ftplugin/latex-suite/folding.vim file if you wish to modify the
+folding scheme. You will need to modify the function MakeTexFolds() defined in
+that file to modify the fold syntax. MakeTexFolds makes a number of calls to
+AddSyntaxFoldItem. Each such call defines a new "fold item". The order in which
+these calls are made defines how the folds are nested. For example, if you
+desire an figure environment to be nested within a section, then you should
+define the fold for the figure first. The syntax of AddSyntaxFoldItem is as
+follows: >
+ AddSyntaxFoldItem(startpat, endpat, startoff, endoff [, startskip, endskip])
+If the last two arguments are omitted, then they are assumed to default to the
+empty strings ''. The explanation for each argument is as follows:
+
+Argument Explanation~
+startpat a line matching this pattern defines the beginning of a fold.
+endpat a line matching this pattern defines the end of a fold.
+startoff this is the offset from the starting line at which folding will
+ actually start
+endoff like startoff, but gives the offset of the actual fold end from the
+ line satisfying endpat. startoff and endoff are necessary when the
+ folding region does not have a specific end pattern corresponding to
+ a start pattern. for example in LaTeX, \section{Section Name} defines
+ the beginning of a section, but there is no command which
+ specifically ends a section. Thus a \section is assumed to end 1 line
+ _before_ another section starts.
+startskip A Pattern Which Defines The Beginning Of A "Skipped" Region.
+
+ For example, suppose we define a \itemize fold as follows: >
+ = '^\s*\\item',
+ = '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
+ = 0,
+ = -1
+<
+
+ This defines a fold which starts with a line beginning with an \item
+ and ending one line before a line beginning with an \item or
+ \end{enumerate} etc.
+
+ Then, as long as \item's are not nested things are fine. However,
+ once items begin to nest, the fold started by one \item can end
+ because of an \item in an \itemize environment within this \item.
+ i.e, the following can happen: >
+ \begin{itemize}
+ \item Some text <------- fold will start here
+ This item will contain a nested item
+ \begin{itemize} <----- fold will end here because next line contains \item...
+ \item Hello
+ \end{itemize} <----- ... instead of here.
+ \item Next item of the parent itemize
+ \end{itemize}
+<
+
+ Therefore, in order to completely define a folding item which allows
+ nesting, we need to also define a "skip" pattern. startskip and end
+ skip do that. Leave '' when there is no nesting.
+endskip the pattern which defines the end of the "skip" pattern for nested
+ folds.
+
+NOTE: Example 1
+ ---------
+ A syntax fold region for the latex section is defined with the following
+ arguments to AddSyntaxFoldItem: >
+ startpat = "\\section{"
+ endpat = "\\section{"
+ startoff = 0
+ endoff = -1
+ startskip = ''
+ endskip = ''
+< Note that the start and end patterns are thus the same and endoff has a
+ negative value to capture the effect of a section ending one line before
+ the next starts.
+
+
+NOTE: Example 2
+ ---------
+ A syntax fold region for the \itemize environment is: >
+ startpat = '^\s*\\item',
+ endpat = '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
+ startoff = 0,
+ endoff = -1,
+ startskip = '^\s*\\begin{\(enumerate\|itemize\|description\)}',
+ endskip = '^\s*\\end{\(enumerate\|itemize\|description\)}'
+< Note the use of startskip and endskip to allow nesting.
+
+
+
+================================================================================
+Multiple file LaTeX projects *ls_9* *ls_a_cr*
+ *latex-project*
+
+|ls_9_1| Latex-Suite project settings
+|ls_9_2| Specifying which file to compile
+
+
+ *latex-project-example* *ls_a_ef*
+Many LaTeX projects contain multiple source files which are \included from a
+master file. A typical example of this situation is a directory layout such as
+the following
+
+ >
+ thesis/
+ main.tex
+ abstract.tex
+ intro/
+ intro.tex
+ figures/
+ fig1.eps
+ fig2.eps
+ chapter1/
+ chap1.tex
+ figures/
+ fig1.eps
+ conclusion/
+ conclusion.tex
+ figures/
+
+
+In the above case, main.tex will typically look like
+
+ >
+ % file: main.tex
+ \documentclass{report}
+ \begin{document}
+
+ \input{abstract.tex}
+ \input{intro/intro.tex}
+ \input{chapter1/chap1.tex}
+ \input{conclusion/conclusion.tex}
+
+ \end{document}
+
+
+ *latex-master-file-specification* *ls_a_eg*
+In such situations, you will need to convey to Latex-Suite that main.tex is the
+main file which \inputs the other files. This is done by creating a file called
+main.tex.latexmain in the same directory in which main.tex resides. This file is
+called the _master file_ in this manual. See Tex_MainFileExpression [|ls_a_eh|]
+for an alternative way of specifying the master file.
+
+NOTE: Here main.tex.latexmain is (obviously) a different file from main.tex
+ itself. main.tex need not be renamed. This ofcourse restricts each
+ directory to have a single master file.
+
+
+Each time Latex-Suite opens a new LaTeX file, it will try to see if it is part
+of a multiple file project by searching upwards (to the root of the file-system)
+from the current file's directory to see if it finds a file of the form
+*.latexmain. If such a file is found, then it is considered that the current
+file is part of a larger project. The name of the LaTeX master file is inferred
+directly from the first part of the *.latexmain file as described in the example
+above.
+
+
+--------------------------------------------------------------------------------
+Latex-Suite project settings *ls_9_1* *ls_a_cs*
+ *latex-project-settings*
+
+If a master file [|ls_a_ct|] is found, then Latex-Suite :sources the file. Thus
+this file needs to contain valid Vim commands. This file is typically used to
+store project specific settings.
+
+Some typical per-project settings which are best put in the master file are
+Tex_ProjectSourceFiles [|ls_a_dt|]
+
+--------------------------------------------------------------------------------
+Specifying which file to compile *ls_9_2* *ls_a_ct*
+ *latex-master-file*
+
+In the example described previously [|ls_a_ef|], if you are editing
+intro/intro.tex and press \ll, then you still want Latex-Suite to compile
+main.tex, because intro/intro.tex is merely a fragment which is \input'ed into
+main.tex. If the master file is already specified using the *.latexmain
+convention described previously [|ls_a_ef|], then Latex-Suite will automatically
+compile the master file when you are editing any of its \input'ed fragments.
+Thus pressing \ll while editing intro/intro.tex will compile main.tex.
+
+ *Tex_MainFileExpression* *ls_a_eh*
+If you wish to use some different logic to specify the main file name, you can
+specify a custom expression via the Tex_MainFileExpression variable. This is a
+string containing a valid vim expression. In addition, you can use a variable
+modifier which is in the format used for |filename-modifiers|, for example,
+':p:h'. You should utilize this variable to modify the filename of the main
+file. >
+ let g:Tex_MainFileExpression = 'MainFile(modifier)'
+ function! MainFile(fmod)
+ if glob('*.latexmain') != ''
+ return fnamemodify(glob('*.latexmain'), a:fmod)
+ else
+ return ''
+ endif
+ endif
+
+
+================================================================================
+Latex-Suite Commands and Maps *ls_10* *ls_a_cu*
+ *latex-suite-commands-maps*
+
+|ls_10_1| Latex-Suite Maps
+|ls_10_2| Latex Suite Commands
+
+
+This section describes the maps and commands used in Latex-Suite. It also
+describes a way to change the map sequences according to your preference.
+
+
+--------------------------------------------------------------------------------
+Latex-Suite Maps *ls_10_1* *ls_a_cv*
+ *latex-suite-maps*
+
+ *remapping-latex-suite-keys* *ls_a_ei*
+Most of the mappings used in Latex-Suite can be mapped to a different key
+combination to suit your particular needs. An example best explains the
+procedure for doing this. Suppose you want to remap the <C-j> key which
+Latex-Suite (actually imaps.vim) uses to jump to the next placeholder. To do
+this, you first need to find out which <Plug> mapping <C-j> is derived from. You
+will need to look at the relevant section of this manual to do this. For
+example, the section IMAP mappings [|ls_a_cw|] has the information that the
+<C-j> key is derived from <Plug>IMAP_JumpForward. Therefore to remap the <C-j>
+key to say <C-space>, you will need to put a statement like the following in
+your ~/.vimrc. >
+ imap <C-space> <Plug>IMAP_JumpForward
+
+
+NOTE: To change the IMAP mappings which affect jumping between placeholders, the
+ map statement above has to be placed in your ~/.vimrc. For other mappings
+ you can place the map statement in your $VIM/ftplugin/tex.vim file. The
+ reason for this is that the <C-j> maps are created in plugin/imaps.vim,
+ which is sourced as soon as Vim starts before sourcing any ftplugin files.
+
+
+
+
+IMAP mappings *ls_10_1_1* *ls_a_cw*
+ *customize-imap-maps*
+
+These mappings are utilized for jumping between placeholders as described here
+[|ls_a_eD|]. See the parent section [|ls_a_cv|] to find out how to use this
+information to change the default maps.
+
+ *Plug_IMAP_JumpForward* *ls_a_ej*
+ *Plug_IMAP_JumpBack* *ls_a_ek*
+ *Plug_IMAP_DeleteAndJumpForward* *ls_a_el*
+ *Plug_IMAP_DeleteAndJumBack* *ls_a_em*
+Plug map Default Key~
+<Plug>IMAP_JumpForward <C-j>
+<Plug>IMAP_JumpBack (none)
+<Plug>IMAP_DeleteAndJumpForward (none)
+<Plug>IMAP_DeleteAndJumpBack (none)
+
+<Plug>IMAP_JumpForward takes you to the location of the next place-holder
+[|ls_a_eD|].
+
+<Plug>IMAP_JumpBack takes you to the previous place-holder [|ls_a_eD|].
+
+<Plug>IMAP_DeleteAndJumpForward deletes the presently selected place-holder and
+jumps to the next place-holder irrespective of whether the present placeholder
+is empty or not and ignoring the value of place-holder settings like
+g:Imap_DeleteEmptyPlaceHolders [|ls_a_cW|] and g:Imap_StickyPlaceHolders
+[|ls_a_cX|]
+
+<Plug>IMAP_DeleteAndJumpBack deletes the presently selected place-holder and
+jumps to the previous place-holder irrespective of whether the present
+placeholder is empty or not and ignoring the value of place-holder settings like
+g:Imap_DeleteEmptyPlaceHolders [|ls_a_cW|] and g:Imap_StickyPlaceHolders
+[|ls_a_cX|]
+
+
+Alt-Key mappings *ls_10_1_2* *ls_a_cx*
+ *customize-alt-key-maps*
+
+These mappings are are described in the section Alt key macros [|ls_a_bA|]. See
+the parent section [|ls_a_ei|] to see how to use the following information to
+remap keys.
+
+ *Plug_Tex_MathBF* *ls_a_en*
+ *Plug_Tex_MathCal* *ls_a_eo*
+ *Plug_Tex_LeftRight* *ls_a_ep*
+ *Plug_Tex_InsertItem* *ls_a_eq*
+Plug Mapping Default Key~
+<Plug>Tex_MathBF <Alt-B>
+<Plug>Tex_MathCal <Alt-C>
+<Plug>Tex_LeftRight <Alt-L>
+<Plug>Tex_InsertItem <Alt-I>
+
+--------------------------------------------------------------------------------
+Latex Suite Commands *ls_10_2* *ls_a_cy*
+ *latex-suite-commands*
+
+
+
+:TMacro [{macro}] *ls_10_2_1* *ls_a_cz* *TMacro*
+
+When used without any arguments lists all available macros defined in runtime
+ftplugin/latex-suite/macros/ directories and prompts you to choose one of them.
+With one argument |:read| this macro under cursor position. With more than one
+argument it will not work :) In Vim >= 6.2 works completion of names of macros
+(see 'wildmenu', 'wildmode' for more about command-line completion).
+
+
+:TMacroEdit [{macro}] *ls_10_2_2* *ls_a_cA*
+ *TMacroEdit*
+
+Splits window for editing {macro}. When used without any arguments lists all
+available macros defined in runtime ftplugin/latex-suite/macros/ directories and
+prompt you to choose one of them. When you try to edit {macro} not from local
+directory Latex-Suite will copy it to your local directory with suffix "-local".
+If local copy already exists Latex-Suite prompt for overwriting it. In Vim >=
+6.2 works completion of names of macros (see 'wildmenu', 'wildmode' for more
+about command-line completion).
+
+
+:TMacroNew *ls_10_2_3* *ls_a_cB*
+ *TMacroNew*
+
+Splits window to write new macro. Directory in new buffer is locally changed to
+Latex-Suite/macros/.
+
+
+:TMacroDelete [{macro}] *ls_10_2_4* *ls_a_cC*
+ *TMacroDelete*
+
+Delets {macro} from your local ftplugin/latex-suite/macros/ directory. When used
+without any arguments lists all available macros defined in Latex-Suite/macros/
+directory and prompt you to choose one of them. When you choose to delete
+{macro} which is not in your local directory Latex-Suite will refuse to delete
+it. In Vim >= 6.2 works completion of names of macros (see 'wildmenu',
+'wildmode' for more about command-line completion)
+
+
+:TPackage [{package, ...}] *ls_10_2_5* *ls_a_cD*
+ *TPackage*
+
+When used without any arguments lists name of the packages for which support is
+available. If you are using Vim GUI and have Tex_Menus set to 1, then it will
+list all files found in the $VIM/ftplugin/latex-suite/packages directory.
+Otherwise, Latex-Suite will list files found in the
+$VIM/ftplugin/latex-suite/dictionaries directory. Choosing a file from the list
+will insert a >
+ \usepackage[<++>]{<packname>}
+line into the buffer at the current cursor location. For Vim 6.2 and above, you
+can use command-line completion to choose a package file. You can also call
+TPackage with one or more package names separated with spaces in which case,
+Latex-Suite will insert \usepackage lines for each of them in turn.
+
+After inserting the \usepackage line(s), Latex-Suite will support it (them) in
+various ways as described in the section Actions taken for supported packages
+[|ls_a_bL|].
+
+
+:TPackageUpdate *ls_10_2_6* *ls_a_cE*
+ *TPackageUpdate*
+
+This command `reads' name of package under cursor and turns on possible support.
+
+
+:TPackageUpdateAll *ls_10_2_7* *ls_a_cF*
+ *TPackageUpdateAll*
+
+After issuing this command latexSuite scans the file in looking for not declared
+packages, removing not needed entries from Packages menu and turning off not
+necessary packages' dictionaries.
+
+
+:TTemplate [{template}] *ls_10_2_8* *ls_a_cG*
+ *TTemplate*
+
+When used without any arguments lists all available templates from
+latex-suite/templates/ directory and prompts to choose one of them. With one
+argument :0|read| {template} file. With more than one argument it will not work
+:) In Vim >= 6.2 works completion of names of macros (see 'wildmenu', 'wildmode'
+for more about command-line completion)
+
+
+:TSection [{argument}] *ls_10_2_9* *ls_a_cH*
+ *TSection*
+
+Used without any arguments inserts last section type (|latex-sectioning|).
+Accepts arguments: n> inserts section name in <n> logical level. Levels are:
+0 part
+1 chapter
+2 section
+3 subsection
+4 subsubsection
+5 paragraph
+6 subparagraph
+
+
++<n> inserts section name <n> logical levels above the last used comand
+-<n> inserts section name <n> logical levels below the last used comand
++ inserts section name one logical level below the last used command (equal
+ to +1).
+++ inserts section name two logical levels below the last used command (equal
+ to +2).
+- inserts section name one logical level over the last used command (equal
+ to -1).
+-- inserts section name two logical levels over the last used command (equal
+ to -2).
+
+
+
+Command accepts also latexSuite mappings (|latex-macros|) without preceding S
+and in lowercase: >
+ :TSection pa
+will result in \part{}. It is possible to use full names of sections: :TSection
+part
+
+
+:TSectionAdvanced *ls_10_2_10* *ls_a_cI*
+ *TSectionAdvanced*
+
+Accepts the same arguments as |TSection| but leads to a couple of questions
+(whether you want to include the section in the table of contents, whether there
+is a shorter name for the table of contents) and then creates a more intelligent
+template.
+
+
+:TLook *ls_10_2_11* *ls_a_cJ* *TLook*
+
+Accepts one argument. Will look through .tex files in directory of edited file
+for argument. It can be regexp. You don't have to enclose argument in "". <cr>
+takes you to location. Other keys work as described in |latex-viewer|. Note:
+TLook uses :grep command and is using 'grepprg'. Its regular expressions can be
+different from those of Vim.
+
+
+:TLookBib *ls_10_2_12* *ls_a_cK*
+ *TLookBib*
+
+Accepts one argument. Will look through .bib files in directory of edited file
+for argument. It can be regexp. You don't have to enclose argument in "". <cr>
+takes you to location. Other keys work as described in |latex-viewer|.
+
+NOTE: TLookBib uses :grep command and is using 'grepprg'. Its regular
+ expressions can be different from those of Vim.
+
+
+
+
+:TLookAll *ls_10_2_13* *ls_a_cL*
+ *TLookAll*
+
+Accepts one argument. Will look through all files in directory of edited file
+for argument. It can be regexp. You don't have to enclose argument in "". <cr>
+takes you to location. Other keys work as described in |latex-viewer|. Note:
+TLook uses :grep command and is using 'grepprg'. Its regular expressions can be
+different from those of Vim.
+
+
+:TPartComp *ls_10_2_14* *ls_a_cM*
+ *TPartComp*
+
+No argument allowed but accepts range in all formats. Define fragment of
+interest with :'a,'b, :/a/,/b/, :'<,'> or :20,30. All other rules of compilation
+apply.
+
+
+:TPartView *ls_10_2_15* *ls_a_cN*
+ *TPartView*
+
+Show last compiled fragment. All rules of viewing apply but |latex-searching|.
+
+
+:Tshortcuts [{arg}] *ls_10_2_16* *ls_a_cO*
+ *Tshortcuts*
+
+Show shortcuts in terminal (not using menu). Without {arg} you will see simple
+menu prompting for one of them. Possible arguments:
+g General shortcuts
+e Environment shortcuts
+f Font shortcuts
+s Section shortcuts
+m Math shortcuts
+a All shortcuts
+
+================================================================================
+Customizing Latex-Suite *ls_11* *ls_a_cP*
+ *customizing-latex-suite*
+
+|ls_11_1| General Settings
+|ls_11_2| Place-Holder Customization
+|ls_11_3| Macro Customization
+|ls_11_4| Smart Key Customization
+|ls_11_5| Latex Completion Customization
+|ls_11_6| Compiler Customization
+|ls_11_7| Viewer Customization
+|ls_11_8| Menu Customization
+|ls_11_9| Folding Customization
+|ls_11_10| Package Handling Customization
+
+
+Customizing Latex-Suite is done by defining certain global variables in
+$VIM/ftplugin/tex.vim, where $VIM corresponds to ~/.vim for *nix machines and
+~/vimfiles for windows machines. This file is not part of the Latex-Suite
+distribution. You will need to create this file yourself (or modify it if it
+exists) if you need to change any default settings. Since this file is not
+included as part of the Latex-Suite distribution, it will not be over-written in
+subsequent updates.
+
+The default settings in Latex-Suite are defined in
+$VIM/ftplugin/latex-suite/texrc. Please take a look at this file if you find
+this documentation incomplete or confusing. That file is also well documented.
+
+This chapter describes the various settings which effect Latex-Suite and their
+default values. The settings are broken up into sections according to the
+behavior which they influence.
+
+
+--------------------------------------------------------------------------------
+General Settings *ls_11_1* *ls_a_cQ*
+ *ls-general-purpose-settings*
+
+
+
+Tex_Debug *ls_11_1_1* *ls_a_cR*
+ *Tex_Debug*
+
+Type boolean
+Default Value 0
+
+If set to 1, then Latex-Suite will create certain global debug statements which
+can be printed by doing >
+ :call Tex_PrintDebug()
+
+
+
+Tex_UsePython *ls_11_1_2* *ls_a_cS*
+ *Tex_UsePython*
+
+Type boolean
+Default Value 1
+
+If Latex-Suite detects that your vim is python enabled (using has('python')),
+then it tries to use python in certain places to speed things up. If this
+misbehaves, you can set this to zero, in which case, Latex-Suite will use
+vimscript to accomplish the same.
+
+--------------------------------------------------------------------------------
+Place-Holder Customization *ls_11_2* *ls_a_cT*
+ *customizing-place-holders*
+
+Latex-Suite uses place-holders [|ls_a_eD|] to minimize using the movement keys
+while typing. The following settings affect how place-holders are used.
+
+NOTE: These setting need to be set in your ~/.vimrc, not $VIM/ftplugin/tex.vim
+ because these settings affect the behavior of imaps.vim, which is a global
+ plugin, not a file-type plugin.
+
+
+
+
+g:Imap_UsePlaceHolders *ls_11_2_1* *ls_a_cU*
+ *Imap_UsePlaceHolders*
+
+
+Type Boolean
+Default Value 1
+
+Setting this to zero completely disables using place-holders.
+
+
+g:Imap_PlaceHolderStart & g:Imap_PlaceHolderEnd *ls_11_2_2* *ls_a_cV*
+ *Imap_PlaceHolderStart*
+
+ *Imap_PlaceHolderEnd* *ls_a_er*
+Setting Type Value~
+Imap_PlaceHolderStart String '<+'
+Imap_PlaceHolderEnd String '+>'
+
+These settings affect the strings displayed at the beginning and end of the
+place-holder string. Set these strings to a value different than a commonly
+occurring sequence of characters.
+
+NOTE: TIP
+ ---
+ If you use the latin1 encoding and do not type in french, then you can set
+ these strings to the \xab and \xbb characters (the french quotation
+ marks).
+
+
+
+
+g:Imap_DeleteEmptyPlaceHolders *ls_11_2_3* *ls_a_cW*
+ *Imap_DeleteEmptyPlaceHolders*
+
+
+Type Boolean
+Default Value 1
+
+When set to one, non-descriptive or empty place-holders are deleted on pressing
+<Ctrl-J>.
+
+
+g:Imap_StickyPlaceHolders *ls_11_2_4* *ls_a_cX*
+ *Imap_StickyPlaceHolders*
+
+
+Type Boolean
+Default Value 1
+
+When set to 1, in visual mode, <Ctrl-J> takes you to the next placeholder
+without deleting the current placeholder.
+
+--------------------------------------------------------------------------------
+Macro Customization *ls_11_3* *ls_a_cY*
+ *customizing-macros*
+
+
+
+Tex_Env_name *ls_11_3_1* *ls_a_cZ*
+ *Tex_Env_name*
+
+If you wish to wish to expand certain environments differently from the way
+Latex-Suite does it, you can define custom expansions using global variables of
+the form Tex_Env_{name} where name corresponds to the environment.
+
+For example, if you press <F5> after typing theorem, Latex-Suite will by default
+expand it to >
+ \begin{theorem}
+ \label{<++>}<++>
+ \end{theorem}<++>
+However, if you wish change this to >
+ \begin{theorem}
+ <++>
+ \end{theorem}<++>
+then define the following variable >
+ let g:Tex_Env_theorem = "\\begin{theorem}\<CR><++>\<CR>\\end{theorem}"
+<
+
+If the expansion uses special keys such as carriage return etc, then use
+double-quotes and use the "\<key>" notation for special keys. Backslashes have
+to be doubled.
+
+You could even use strings returned by functions as the expansion by using the
+IMAP_PutTextWithMovement() [|ls_a_ea|] function.
+
+If the name of the environment contains special characters (for example, the
+eqnarray* environment), then use the following form: >
+ let g:Tex_Env_{'eqnarray*'} =
+ \ "\\begin{eqnarray*}\<CR><++> &=& <++>\<CR>\\end{eqnarray*}<++>"
+This will make pressing <F5> after eqnarray* expand to >
+ \begin{eqnarray*}
+ <++> &=& <++>
+ \end{eqnarray*}<++>
+
+
+
+Tex_Com_name *ls_11_3_2* *ls_a_da*
+ *Tex_Com_name*
+
+If you wish to define new expansions for fast command insertion as described
+here [|ls_a_bo|], or redefine expansions from the default values in Latex-Suite,
+you will need to define variables of the form g:Tex_Com_{name} where name is a
+command name. For example, with the setting >
+ let g:Tex_Com_frac = "\\frac{<++>}{<++>}<++>"
+pressing <F7> after typing frac will change it to \frac{<++>}{<++>}<++>
+
+See Tex_Env_name [|ls_a_cZ|] for additional details on how to create this
+setting in various special circumstances.
+
+
+Enabling / disabling macros *ls_11_3_3* *ls_a_db*
+ *macro-enabling*
+
+The following variables disable various parts of the macro functionality of
+Latex-Suite. See the links to the relevant sections to see what functionality
+setting each of the variables to zero will take away.
+
+ *Tex_EnvironmentMaps* *ls_a_es*
+ *Tex_EnvironmentMenus* *ls_a_et*
+ *Tex_FontMaps* *ls_a_eu*
+ *Tex_FontMenus* *ls_a_ev*
+ *Tex_SectionMaps* *ls_a_ew*
+ *Tex_SectionMenus* *ls_a_ex*
+Setting Link to relevant section Default Value~
+g:Tex_EnvironmentMaps Environment Mappings [|ls_a_bf|] 1
+g:Tex_EnvironmentMenus 1
+g:Tex_FontMaps Font Mappings [|ls_a_bs|] 1
+g:Tex_FontMenus 1
+g:Tex_SectionMaps Section Mappings [|ls_a_bt|] 1
+g:Tex_SectionMenus 1
+
+
+g:Tex_UseMenuWizard *ls_11_3_4* *ls_a_dc*
+ *Tex_UseMenuWizard*
+
+
+Type Boolean
+Default Value 0
+
+If this variable is set to 1, then when an environment is chosen from the menu
+then for selected environments, Latex-Suite asks a series of questions on the
+command line and inserts a template with the corresponding fields already filled
+in. Setting this to zero will insert a template with place-holders [|ls_a_eD|]
+marking off the places where fields need to be filled.
+
+
+g:Imap_FreezeImap *ls_11_3_5* *ls_a_dd*
+ *Imap_FreezeImap*
+
+Type boolean
+Default Value 0
+
+This option when set to 1, temporarily freezes Latex-Suite's macro expansion. It
+might be useful when you are using some other keymap which is causing excessive
+macro expansion. Use a buffer-local variable of the same name if you wish to
+affect just the present buffer.
+
+
+g:Tex_CatchVisMapErrors *ls_11_3_6* *ls_a_de*
+ *Tex_CatchVisMapErrors*
+
+
+Type Boolean
+Default Value 1
+
+With so many visual maps, its helpful to have a way of catching typing errors
+made in visual mode. What this does is to prompt you to correct your visual mode
+mapping if you start out with and then type some illegal keys. It basically maps
+just the g:Tex_Leader character to a function.
+
+
+g:Tex_Diacritics *ls_11_3_7* *ls_a_df*
+ *Tex_Diacritics*
+
+
+Type Boolean
+Default Value 0
+
+Whether or not you want to use diacritics [|ls_a_bw|].
+
+
+g:Tex_Leader *ls_11_3_8* *ls_a_dg*
+ *Tex_Leader*
+
+
+Type String
+Default Value '`'
+
+The mappings in Latex-Suite are by default prefixed with the back-tick
+character. For example, `/ inserts \frac{<++>}{<++>}<++> etc. You can change the
+prefix with the following setting. ',', '/', '`' are preferred values. '' or '\'
+will lead to a _lot_ of trouble.
+
+g:Tex_Leader is also used for visual mode mappings for fonts.
+
+
+g:Tex_Leader2 *ls_11_3_9* *ls_a_dh*
+ *Tex_Leader2*
+
+
+Type String
+Default Value ','
+
+In order to avoid clashes between the large number of visual mode macros
+provided, the visual mode macros for environments [|ls_a_bm|] and sections start
+with a character different from g:Tex_Leader.
+
+
+g:Tex_PromptedEnvironments *ls_11_3_10* *ls_a_di*
+ *Tex_PromptedEnvironments*
+
+
+Type String
+Default Value 'eqnarray*,eqnarray,equation,equation*,\[,$$,align,align*'
+
+This string represents a comma separated list of fields corresponding to
+environments. Pressing <F5> in insert-mode in the body of the document asks you
+to choose from one of these environments to insert.
+
+Leaving this string empty will leave the <F5> key unmapped
+
+
+g:Tex_HotKeyMappings *ls_11_3_11* *ls_a_dj*
+ *Tex_HotKeyMappings*
+
+
+Type String
+Default Value 'eqnarray*,eqnarray,bmatrix'
+
+This string represents a comma separated list of environments which are mapped
+to <Shift-F-1> through <Shift-F-4>. For example, pressing <Shift-F-2> with this
+setting inserts the eqnarray environment.
+
+Leaving this string empty will leave <Shift-F-1> through <Shift-F-4> unmapped.
+
+NOTE: Only the first four fields of this list are used. The rest are silently
+ ignored.
+
+
+
+
+g:Tex_PromptedCommands *ls_11_3_12* *ls_a_dk*
+ *Tex_PromptedCommands*
+
+
+Type String
+Default Value 'footnote,cite,pageref,label'
+
+This string represents a comma separated list of LaTeX commands which
+Latex-Suite uses for the <F7> and <S-F7> maps as described here [|ls_a_bo|].
+
+Leaving this string empty will leave the <F7> key unmapped.
+
+
+Tex_ItemStyle_environment *ls_11_3_13* *ls_a_dl*
+ *Tex_ItemStyle_environment*
+
+This setting affects the style which Latex-Suite uses to insert an \item when
+<Alt-I> is pressed as described here [|ls_a_bE|]. By default Latex-Suite defines
+styles for the following environments:
+
+Environment Style~
+itemize \item
+enumerate \item
+theindex \item
+thebibliography \item[<+biblabel+>]{<+bibkey+>} <++>
+description \item[<+label+>] <++>
+
+Each style is defined by a variable of the form g:Tex_ItemStyle_{envname} where
+envname is the name of the environment for which the style is defined. For
+example, by default >
+ g:Tex_ItemStyle_description = '\item[<+label+>] <++>'
+Redefining the style for a particular environment or defining a style for an
+entirely new environment is simply a matter of setting the value of a variable
+of the corresponding name.
+
+--------------------------------------------------------------------------------
+Smart Key Customization *ls_11_4* *ls_a_dm*
+ *customizing-smart-keys*
+
+These settings affect the smart key functionality as described here [|ls_a_bz|].
+
+
+
+g:Tex_SmartKeyBS *ls_11_4_1* *ls_a_dn*
+ *Tex_SmartKeyBS*
+
+
+Type Boolean
+Default Value 1
+
+Whether or not <Backspace> deletes diacritics.
+
+
+g:Tex_SmartKeyQuote *ls_11_4_2* *ls_a_do*
+ *Tex_SmartKeyQuote*
+
+
+Type Boolean
+Default Value 1
+
+Whether or not the smart quotes [|ls_a_bz|] functionality is available.
+
+If enabled, the quote characters can be customized by setting the following
+variables:
+
+Setting Value~
+g:Tex_SmartQuoteOpen "``"
+g:Tex_SmartQuoteClose "''"
+
+Non-English users will want to change these settings to their locale. These
+global variables will be ignored if there are buffer-local variables (with the
+same name), which may be set in the language specific package files, such as
+$VIM/ftplugin/latex-suite/packages/german.
+
+--------------------------------------------------------------------------------
+Latex Completion Customization *ls_11_5* *ls_a_dp*
+ *customizing-latex-completion*
+
+The following settings affect the completion [|ls_a_bR|] functionality in
+Latex-Suite.
+
+
+
+Window size settings *ls_11_5_1* *ls_a_dq*
+ *completion-window-preferences*
+
+These three settings affect the aesthetics of the completion functionality.
+
+ *Tex_ViewerCwindowHeight* *ls_a_ey*
+ *Tex_ViewerPreviewHeight* *ls_a_ez*
+ *Tex_ExplorerHeight* *ls_a_eA*
+ *Tex_ImageDir* *ls_a_eB*
+Setting Explanation Default Value~
+g:Tex_ViewerCwindowHeight The height of the cwindow which 5
+ displays the list of \labels
+ etc.
+g:Tex_ViewerPreviewHeight The height of the preview window 10
+ which shows the context of a
+ \label etc.
+g:Tex_ExplorerHeight The height of the explorer 10
+ window which lists the files
+ from which to choose an image
+ file.
+g:Tex_ImageDir The directory to scan for images ''
+
+
+g:Tex_BIBINPUTS *ls_11_5_2* *ls_a_dr*
+ *Tex_BIBINPUTS*
+
+
+Type string
+Default Value ''
+
+This string describes the directories which are scanned while trying to search
+for .bib and .bbl files. See the cite completion section [|ls_a_bU|] for more
+details.
+
+This string should be set in the syntax accepted by Vim's native 'path' setting.
+Do not include the present directory '.'. While searching for bibliography
+files, the present directory will be prepended to this variable.
+
+
+Tex_UseSimpleLabelSearch *ls_11_5_3* *ls_a_ds*
+ *Tex_UseSimpleLabelSearch*
+
+When set to 1, Latex-Suite searches for \labels in all .tex files in the
+directory containing the file being edited when <F9> is pressed. See \ref
+completion [|ls_a_bT|] for details.
+
+
+g:Tex_ProjectSourceFiles *ls_11_5_4* *ls_a_dt*
+ *Tex_ProjectSourceFiles*
+
+
+Type String
+Default Value ''
+
+This setting is meant to be initialized on a per-project basis using the
+Latex-Suite master file [|ls_a_ct|] as described in Latex-Suite Project
+[|ls_a_cr|] section. It is a list of source files which are used in the project.
+If defined, then instead of using the logic described in
+Tex_UseSimpleLabelSearch [|ls_a_ds|] to search for files in which to search for
+\labels, we simply search for \labels in this list. This significantly reduces
+the time it takes to generate the list of possible completions for large
+projects.
+
+The list is specified as a whitespace separated list of filenames relative to
+the location of the main file.
+
+
+g:Tex_RememberCiteSearch *ls_11_5_5* *ls_a_du*
+ *Tex_RememberCiteSearch*
+
+
+Type Boolean
+Default Value 0
+
+When this variable is non-zero, then Latex-Suite will try to remember results
+from the \cite completion as described in this section [|ls_a_bV|].
+
+--------------------------------------------------------------------------------
+Compiler Customization *ls_11_6* *ls_a_dv*
+ *customizing-compiling*
+
+The following settings affect Latex-Suite's compilation functionality
+
+
+
+g:Tex_DefaultTargetFormat *ls_11_6_1* *ls_a_dw*
+ *Tex_DefaultTargetFormat*
+
+
+Type String
+Default Value dvi for windows/*nix and pdf for mac
+
+Use this setting to choose the default target format. For example, setting this
+to pdf makes Latex-Suite compile a pdf file when you press \ll and fire up the
+pdf viewer on pressing \lv. Make sure that a rules for compiling and viewing
+have been defined for this target format as described here [|ls_a_dx|] and here
+[|ls_a_dF|].
+
+
+g:Tex_CompileRule_<format> *ls_11_6_2* *ls_a_dx*
+ *Tex_CompileRule_format*
+
+Here <format> refers to the target format for which this rule is defined.
+Latex-Suite supports compiling into dvi, ps and pdf by default. All these rules
+are strings defined by default as follows:
+
+
+g:Tex_CompileRule_dvi 'latex -interaction=nonstopmode $*'
+g:Tex_CompileRule_ps 'ps2pdf $*'
+g:Tex_CompileRule_pdf 'pdflatex -interaction=nonstopmode $*'
+
+If you desire forward and inverse searching via Latex-Suite, you will need to
+change g:Tex_CompileRule_dvi to include -src-specials. However, this has been
+known to cause problems with the output file. Therefore, use this with care.
+
+
+g:Tex_FormatDependency_<format> *ls_11_6_3* *ls_a_dy*
+
+Type string
+Default Value ''
+
+By default, there are no format dependencies defined. Each definition is of the
+form above where <format> is a string such as 'dvi' etc.
+
+The value of each string is a comma separated string such as 'dvi,ps'. See the
+Compiler dependency [|ls_a_ca|] section to see how to use/specify this setting
+
+
+g:Tex_MultipleCompileFormats *ls_11_6_4* *ls_a_dz*
+ *Tex_MultipleCompileFormats*
+
+Type string
+Default Value 'dvi'
+
+This is a comma separated string of formats for which the compiler needs to be
+called multiple times in order to get cross-references, citations etc right. See
+the Compiling multiple times [|ls_a_cb|] section for details.
+
+
+g:Tex_IgnoredWarnings *ls_11_6_5* *ls_a_dA*
+ *Tex_IgnoredWarnings*
+
+
+Type String
+Default Value a new-line separated list of patterns as described below
+
+The default value of this setting is >
+ \"Underfull\n".
+ \"Overfull\n".
+ \"specifier changed to\n".
+ \"You have requested\n".
+ \"Missing number, treated as zero.\n".
+ \"There were undefined references\n"
+ \"Citation %.%# undefined"
+This setting defines a set of patterns which will be filtered out when
+displaying the output from the latex compiler. This is to aid in filtering out
+very common warnings/errors.
+
+NOTE: Remember to check the value of g:Tex_IgnoreLevel [|ls_a_dB|] when you
+ change this setting. For example, if you append a new pattern which you
+ would like to ignore by default, increase the value of g:Tex_IgnoreLevel.
+
+
+
+
+g:Tex_IgnoreLevel *ls_11_6_6* *ls_a_dB*
+ *Tex_IgnoreLevel*
+
+
+Type Integer
+Default Value 7
+
+This setting defines a "filter level" or an "ignore level". A value of 7 for
+instance means that any warning/error matching with any of the first 7 fields of
+g:Tex_IgnoredWarnings [|ls_a_dA|] will be ignored. Setting this value to zero
+will mean that no error/warning is ignored. However, even with a value of zero,
+Latex-Suite will filter out most of the text which a LaTeX compiler typically
+produces. Use >
+ TCLevel strict
+from within Vim in order to see all the lines from the compiler's output.
+
+
+Tex_UseMakefile *ls_11_6_7* *ls_a_dC*
+ *Tex_UseMakefile*
+
+Type boolean
+Default Value 1
+
+When set to 1, then if a makefile or Makefile is present in the current
+directory, then Latex-Suite sets the makeprg option to just "make <target>",
+where <target> is the target format chosen using the TCTarget or TTarget
+commands.
+
+When set to 0, then Latex-Suite will set the makeprg setting to whatever is
+defined by the g:Tex_CompileRule_target [|ls_a_dx|] setting.
+
+
+g:Tex_GotoError *ls_11_6_8* *ls_a_dD*
+ *Tex_GotoError*
+
+
+Type boolean
+Default Value 1
+
+If set to 1, then pressing \ll will take you to the location of the first
+warning/error, otherwise you will remain in the original location but the
+errors/warnings will be listed in the preview window.
+
+--------------------------------------------------------------------------------
+Viewer Customization *ls_11_7* *ls_a_dE*
+ *customizing-viewing*
+
+The following settings affect how Latex-Suite will display compiled files.
+
+
+
+g:Tex_ViewRule_<format> *ls_11_7_1* *ls_a_dF*
+ *Tex_ViewRule_format*
+
+Here <format> refers to a format such as dvi, ps, etc. This variable defines the
+program which will be called to display a file of that format.
+
+By default, Latex-Suite defines viewer programs for viewing DVI, PS and PDF
+formats as follows:
+
+ Windows Unix~
+g:Tex_ViewRule_dvi 'yap -1' 'xdvi'
+g:Tex_ViewRule_ps 'gsview32' 'ghostview'
+g:Tex_ViewRule_pdf 'AcroRd32' 'xpdf'
+
+For Macintosh systems, these strings are left empty by default. This lets the
+system pick the program for each format. If you define these variables for Mac,
+the system choice will be over-ridden.
+
+Latex-Suite appends file.format to the above settings while calling the external
+programs. For example, with >
+ let g:Tex_ViewRule_dvi = 'yap -1'
+yap is called as >
+ !start yap -1 file.dvi
+from within Vim. (The initial start is used on Windows platforms is to make yap
+start as a separate process.) If you find the way Latex-Suite constructs the
+command line too restrictive, you can use the Tex_ViewRuleComplete_format
+[|ls_a_dG|] setting for more complete control on how the command line is
+constructed while calling the external program for viewing.
+
+NOTE: For windows, you will need to set the $PATH variable to include the paths
+ to yap, AcroRd32, gsview32 and any other programs. See your system
+ documentation for how to do this.
+
+
+NOTE: Default Viewing Format
+ ----------------------
+ To change the default format for viewing files, set the
+ g:Tex_DefaultTargetFormat [|ls_a_dw|] variable.
+
+
+
+
+Tex_ViewRuleComplete_<format> *ls_11_7_2* *ls_a_dG*
+ *Tex_ViewRuleComplete_format*
+
+Here <format> refers to the extension of a output format such as dvi, html etc.
+
+Tex_ViewRuleComplete_format takes precedence over Tex_ViewRule_format if both
+are specified. By default, Latex-Suite does not define values for
+Tex_ViewRuleComplete_format for any format. Unlike in the case of
+Tex_ViewRule_format, Latex-Suite does not modify Tex_ViewRuleComplete_format at
+all in constructing the command line. The only modification is to substitute
+'$*' everywhere in the string with the name of the file being viewed (without
+the extension).
+
+NOTE: IMPORTANT
+ ---------
+ Make sure you make the process go into the background otherwise vim will
+ wait for the viewer to terminate before letting you edit the file again.
+
+ To make a process go into the background on a *nix platform, use a
+ trailing & in the setting. On Windows, use start at the beginning of the
+ setting. Example: Suppose you have a latex->html converter which converts
+ a file say foo.tex to a file foo/index.html. Then you would use: >
+ " On *nix platform
+ let g:Tex_ViewRuleComplete_html = 'MozillaFirebird $*/index.html &'
+ " On windows platform
+ let g:Tex_ViewRuleComplete_html = 'start MozillaFirebird $*/index.html'
+<
+
+
+
+--------------------------------------------------------------------------------
+Menu Customization *ls_11_8* *ls_a_dH*
+ *customizing-menus*
+
+In addition to using the variables defined in this section to affect the
+menu-layout permanently (i.e, the layout Latex-Suite will start with), you can
+also use the TeX-Suite > Configure Menu menu to dynamically configure the menu
+layout after Latex-Suite has started.
+
+
+
+g:Tex_Menus *ls_11_8_1* *ls_a_dI*
+ *Tex_Menus*
+
+
+Type Boolean
+Default Value 1
+
+If set to 0, Latex-Suite will suppress showing all menus. Useful if you mostly
+work in terminals.
+
+
+g:Tex_MainMenuLocation *ls_11_8_2* *ls_a_dJ*
+ *Tex_MainMenuLocation*
+
+
+Type number
+Default Value 80
+
+This setting decides the location of the first top-level Latex-Suite menu. You
+can for example shift all the menus created by Latex-Suite to the very end by
+setting this value to a large number like 990.
+
+
+g:Tex_MathMenus *ls_11_8_3* *ls_a_dK*
+ *Tex_MathMenus*
+
+
+Type Boolean
+Default Value 1
+
+The Tex-Math menu consists of hundreds of mathematical symbols used in LaTeX.
+This menu comprises about 75% of the menus.
+
+
+g:Tex_NestElementMenus *ls_11_8_4* *ls_a_dL*
+ *Tex_NestElementMenus*
+
+
+Type Boolean
+Default Value 1
+
+This setting controls the "compactness" of the menus. If set to 1, then the
+Font, Counter and Dimensioning menus are collected together in a single menu
+called Tex-Elements, otherwise, they will each get a separate menu.
+
+
+g:Tex_PackagesMenu *ls_11_8_5* *ls_a_dM*
+ *Tex_PackagesMenu*
+
+
+Type Boolean
+Default Value 1
+
+Setting this to zero will stop Latex-Suite from automatically creating the
+TeX-Suite > Packages > Supported menu at startup. You can still create the menu
+after startup by going to TeX-Suite > Configure Menu.
+
+
+g:Tex_NestPackagesMenu *ls_11_8_6* *ls_a_dN*
+ *Tex_NestPackagesMenu*
+
+
+Type String
+Default Value 'TeX-'
+
+This string is the prefix added to all the menus created by Latex-Suite. If you
+define this variable with a dot ('.') as the last character, then all the menus
+created by Latex-Suite will be nested under a single master menu. For example,
+set this to '&LaTeX-Suite.' to nest all menus under a menu called &LaTeX-Suite.
+
+
+g:Tex_UseUtfMenus *ls_11_8_7* *ls_a_dO*
+ *Tex_UseUtfMenus*
+
+
+Type Boolean
+Default Value 0
+
+This setting controls whether Latex-Suite uses utf-8 symbols to display some of
+the mathematical symbols in the TeX-Math menu. It is necessary for your
+system/GUI to support utf-8. Setting this to 1 has the side-effect of setting
+the 'encoding' option of Vim to 'utf-8'.
+
+--------------------------------------------------------------------------------
+Folding Customization *ls_11_9* *ls_a_dP*
+ *customizing-folding*
+
+The following settings control the folding [|ls_a_ci|] functionality of
+Latex-Suite.
+
+
+
+g:Tex_Folding *ls_11_9_1* *ls_a_dQ*
+ *Tex_Folding*
+
+
+Type Boolean
+Default Value 1
+
+Setting this to zero completely disables Latex-Suite's folding functionality.
+However, the TexFoldTextFunction() is still available in case you want to use
+another folding scheme but still want to continue using the fold text function.
+
+
+g:Tex_AutoFolding *ls_11_9_2* *ls_a_dR*
+ *Tex_AutoFolding*
+
+
+Type Boolean
+Default Value 1
+
+This setting controls whether Latex-Suite automatically creates manual folds for
+a file when it is opened. You can still use the \rf mapping to refresh/create
+folds even when this variable is set to zero.
+
+--------------------------------------------------------------------------------
+Package Handling Customization *ls_11_10* *ls_a_dS*
+ *customizing-packages*
+
+These settings affect the custom packages [|ls_a_bN|] functionality in
+Latex-Suite
+
+
+
+g:Tex_TEXINPUTS *ls_11_10_1* *ls_a_dT*
+ *Tex_TEXINPUTS*
+
+
+Type string
+Default Value ''
+
+This setting describes the directories scanned by Latex-Suite while searching
+for custom user packages as described in the custom packages [|ls_a_bN|]
+section. Do not include the present directory in this setting. The present
+directory is always scanned for custom packages.
+
+This string should be set in the syntax accepted by Vim's native 'path' setting.
+
+================================================================================
+Credits *ls_12* *ls_a_dU*
+ *latex-suite-credits*
+
+
+
+And finally, the credits:
+
+
+Artur R. Czechowski maintains the BSD package of Latex-Suite. Lots of valuable
+ feedback.
+Lubomir Host provided the diacritics and also helped in development.
+Alexander Wagner valuable suggestions during development.
+Luc Hermitte his variation of Stephen Riehm's bracketing system is used
+ in Latex-Suite.
+Gergely Kontra the clever little JumpFunc() in imaps.vim is due to him.
+ The implementation of the templates also borrows from
+ mu-template.vim by him.
+Dimitri Antoniou author of ltags and also provided the nice tip about
+ forward / reverse search on DVI documents.
+Stephen Riehm the extremely helpful bracketing system is from him.
+Alan Schmitt provided macros/folding elements. Continued feedback,
+ bug-reports/fixes.
+Hari Krishna Dara for ExecMap(), the clever little function which makes
+ typing visual mode mappings so much easier and error-free.
+Alan G Isac for the comprehensive BibT() function for entering bibtex
+ entries.
+Gontran Baerts for libList.vim
+Peter Heslin useful discussion and also a lot of bug fixes. the
+ %%fakesection in folding.vim.
+Zhang Lin-bo lots of very useful additions to folding. The code for
+ customizing the folding scheme is due to him.
+
+A large number of functions in Latex-Suite come from various other people. Some
+of those people might have been missed here. Each function should however have
+the author's name/e-mail above it. Thats the more authoritative place to check
+out who has done what.
+
+ *latex-suite-maintainer* *ls_a_eC*
+The current maintainer(s) of Latex-Suite is(are)
+
+
+Srinath Avadhanula <srinath@fastmail.fm>
+
+Mikolaj Machowski <mikmach@wp.pl>
+
+Benji Fisher <benji@member.AMS.org>
+
+================================================================================
+URLs used in this file
+
+*ls_u_1* : http://vim-latex.sourceforge.net
+*ls_u_2* : http://vim-latex.sourceforge.net/index.php?subject=download
+*ls_u_3* : http://www.cygwin.com
+*ls_u_4* : http://www.google.com/search?q=windows%20gnu%20grep
+
+================================================================================
+About this file
+
+This file was created automatically from its XML variant using db2vim. db2vim is
+a python script which understands a very limited subset of the Docbook XML 4.2
+DTD and outputs a plain text file in vim help format.
+
+db2vim can be obtained via anonymous CVS from sourceforge.net. Use
+
+cvs -d:pserver:anonymous@cvs.vim-latex.sf.net:/cvsroot/vim-latex co db2vim
+
+Or you can visit the web-interface to sourceforge CVS at:
+http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vim-latex/db2vim/
+
+The following modelines should nicely fold up this help manual.
+
+vim:ft=help:fdm=expr:nowrap
+vim:foldexpr=getline(v\:lnum-1)=~'-\\{80}'?'>2'\:getline(v\:lnum-1)=~'=\\{80}'?'>1'\:getline(v\:lnum)=~'=\\{80}'?'0'\:getline(v\:lnum)=~'-\\{80}'?'1'\:'='
+vim:foldtext=substitute(v\:folddashes.substitute(getline(v\:foldstart),'\\s*\\*.*',"",""),'^--','\ \ \ \ \ \ ','')
+================================================================================
diff --git a/dot_vim/doc/latexhelp.txt b/dot_vim/doc/latexhelp.txt
new file mode 100644
index 0000000..2782424
--- /dev/null
+++ b/dot_vim/doc/latexhelp.txt
@@ -0,0 +1,2430 @@
+*latexhelp.txt* For Vim version 6.0. Last change: 2001 Dec 20
+
+
+ LATEX HELP 1.6
+ translated (with minor changes) for vim
+ by Mikolaj Machowski
+
+This file documents LaTeX2e, a document preparation system. LaTeX2e is a
+macro package for TeX.
+
+ This is edition 1.6 of the LaTeX2e documentation, and is for the Texinfo
+that is distributed as part of Version 19 of GNU Emacs. It uses version
+2.134 or later of the texinfo.tex input file.
+
+ This is translated from LATEX.HLP v1.0a in the VMS Help Library. The
+pre-translation version was written by George D. Greenwade of Sam Houston
+State University.
+
+ The LaTeX 2.09 version was written by Stephen Gilmore <stg@dcs.ed.ac.uk>.
+
+ The LaTeX2e version was adapted from this by Torsten Martinsen
+<bullestock@dk-online.dk>.
+
+ Version for vim of this manual was written by Mikolaj Machowski
+<mikmach@wp.pl>
+
+ Copyright 1988,1994 Free Software Foundation, Inc. Copyright 1994-1996
+Torsten Martinsen. Copyright for `translation' for vim Mikolaj Machowski 2001.
+
+ Permission is granted to make and distribute verbatim copies of this manual
+provided the copyright notice and this permission notice are preserved on
+all copies.
+
+ Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the entire
+resulting derived work is distributed under the terms of a permission
+notice identical to this one.
+
+ Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that the sections entitled "Distribution" and "General Public
+License" may be included in a translation approved by the author instead of
+in the original English.
+
+==============================================================================
+*LaTeX* *latex*
+
+The LaTeX command typesets a file of text using the TeX program and the LaTeX
+Macro package for TeX. To be more specific, it processes an input file
+containing the text of a document with interspersed commands that describe how
+the text should be formatted.
+
+1. Commands |latex-commands|
+2. Counters |latex-counters|
+3. Cross References |latex-references|
+4. Definitions |latex-definitions|
+5. Document Classes |latex-classes|
+6. Layout |latex-layout|
+7. Environments |latex-environments|
+8. Footnotes |latex-footnotes|
+9. Lengths |latex-lengths|
+10. Letters |latex-letters|
+11. Line & Page Breaking |latex-breaking|
+12. Making Paragraphs |latex-paragraphs|
+13. Margin Notes |latex-margin-notes|
+14. Math Formulae |latex-math|
+15. Modes |latex-modes|
+16. Page Styles |latex-page-styles|
+17. Sectioning |latex-sectioning|
+18. Spaces & Boxes |latex-spaces-boxes|
+19. Special Characters |latex-special-char|
+20. Splitting the Input |latex-inputting|
+21. Starting & Ending |latex-start-end|
+22. Table of Contents |latex-toc|
+23. Terminal Input/Output |latex-terminal|
+24. Typefaces |latex-typefaces|
+25. Parameters |latex-parameters|
+
+==============================================================================
+1. Commands *latex-commands*
+
+A LaTeX command begins with the command name, which consists of a \ followed
+by either
+ (a) a string of letters or
+ (b) a single non-letter.
+
+Arguments contained in square brackets, [], are optional while arguments
+contained in braces, {}, are required.
+
+NOTE: LaTeX is case sensitive. Enter all commands in lower case unless
+explicitly directed to do otherwise.
+
+==============================================================================
+2. Counters *latex-counters*
+
+|\addtocounter| Add a quantity to a counter
+|\alph| Print value of a counter using letters
+|\arabic| Print value of a counter using numerals
+|\fnsymbol| Print value of a counter using symbols
+|\newcounter| Define a new counter
+|\refstepcounter| Add to counter, resetting subsidiary counters
+|\roman| Print value of a counter using roman numerals
+|\setcounter| Set the value of a counter
+|\stepcounter| Add to counter, resetting subsidiary counters
+|\usecounter| Use a specified counter in a list environment
+|\value| Use the value of a counter in an expression
+
+Everything LaTeX numbers for you has a counter associated with it. The name of
+the counter is the same as the name of the environment or command that
+produces the number, except with no |\\|. (|lc-enumi| - |lc-enumiv| are used
+for the nested |\enumerate| environment.) Below is a list of the counters
+used in LaTeX's standard document classes to control numbering.
+
+ |part| |paragraph| |figure| |enumi| |itemi|
+ |chapter| |subparagraph| |table| |enumii| |itemii|
+ |section| |page| |footnote| |enumiii| |itemiii|
+ |subsection| |equation| |mpfootnote| |enumiv| |itemiv|
+ |subsubsection|
+
+
+\addtocounter{counter}{value} *\addtocounter*
+ Increments the {counter} by the amount specified by the
+ {value} argument. The {value} argument can be negative.
+
+\alph{counter} *\alph* *\Alph*
+\Alph{counter}
+ This command causes the value of the counter to be printed in
+ alphabetic characters. |\alph| command uses lower case
+ alphabetic alphabetic characters, i.e., a, b, c... while the
+ |\Alph| command uses upper case alphabetic characters, i.e.,
+ A, B, C....
+
+\arabic{counter} *\arabic*
+ Causes the value of the {counter} to be printed in Arabic
+ numbers, i.e., 3.
+
+\fnsymbol{counter} *\fnsymbol*
+ Causes the value of the {counter} to be printed in a specific
+ sequence of nine symbols that can be used for numbering
+ footnotes.
+ Note: counter must have a value between 1 and 9 inclusive.
+
+\newcounter{foo}[counter] *\newcounter*
+ Defines a new counter named {foo}. The counter is initialized
+ to zero. The optional argument [counter] causes the counter
+ {foo} to be reset whenever the counter named in the optional
+ argument is incremented.
+
+\refstepcounter{counter} *\refstepcounter*
+ Command works like |\stepcounter|, except it also defines the
+ current |\ref| value to be the result of \thecounter.
+
+\roman{counter} *\roman* *\Roman*
+\Roman{counter}
+ Causes the value of the {counter} to be printed in Roman
+ numerals. The |\roman| command uses lower case Roman numerals,
+ i.e., i, ii, iii..., while the |\Roman| command uses upper case
+ Roman numerals, i.e., I, II, III....
+
+\stepcounter{counter} *\stepcounter*
+ Adds one to the {counter} and resets all subsidiary counters.
+
+\setcounter{counter}{value} *\setcounter*
+ Sets the value of the {counter} to that specified by the
+ {value} argument.
+
+\usecounter{counter} *\usecounter*
+ Command is used in the second argument of the |list|
+ environment to allow the {counter} specified to be used to
+ number the list items.
+
+\value{counter} *\value*
+ Produces the value of the {counter} named in the mandatory
+ argument. It can be used where LaTeX expects an integer or
+ number, such as the second argument of a |\setcounter| or
+ |\addtocounter| command, or in: >
+ \hspace{\value{foo}\parindent}
+< It is useful for doing arithmetic with counters.
+
+==============================================================================
+3. Cross References *latex-references*
+
+One reason for numbering things like figures and equations is to refer the
+reader to them, as in "See Figure 3 for more details."
+
+|\label| Assign a symbolic name to a piece of text
+|\pageref| Refer to a page number
+|\ref| Refer to a section, figure or similar
+
+
+\label{key} *\label*
+ Command appearing in ordinary text assigns to the {key} the
+ number of the current sectional unit; one appearing inside a
+ numbered environment assigns that number to the {key}.
+
+ A {key} can consist of any sequence of letters, digits, or
+ punctuation characters. Upper and lowercase letters are
+ different.
+
+ To avoid accidentally creating two labels with the same name,
+ it is common to use labels consisting of a prefix and a suffix
+ separated by a colon. The prefixes conventionally used are
+ * 'cha' for chapters
+ * 'sec' for lower-level sectioning commands
+ * 'fig' for figures
+ * 'tab' for tables
+ * 'eq' for equations
+ Thus, a label for a figure would look like: >
+ \label{fig:bandersnatch}
+
+\pageref{key} *\pageref*
+ Command produces the page number of the place in the text
+ where the corresponding |\label| command appears. ie. where
+ \label{key} appears.
+
+\ref{key} *\ref*
+ Command produces the number of the sectional unit, equation
+ number, ... of the corresponding |\label| command.
+
+==============================================================================
+4. Definitions *latex-definitions*
+
+|\newcommand| Define a new command
+|\newenvironment| Define a new environment
+|\newtheorem| Define a new theorem-like environment
+|\newfont| Define a new font name
+
+
+\newcommand{cmd}[args]{definition} *\newcommand* *\renewcommand*
+\newcommand{cmd}[args][default]{definition}
+\renewcommand{cmd}[args]{definition}
+\renewcommand{cmd}[args][default]{definition}
+
+These commands define (or redefine) a command.
+
+{cmd} A command name beginning with a |\\|. For |\newcommand| it must
+ not be already defined and must not begin with |\end|; for
+ |\renewcommand| it must already be defined.
+
+{args} An integer from 1 to 9 denoting the number of arguments of the
+ command being defined. The default is for the command to have
+ no arguments.
+
+{default} If this optional parameter is present, it means that the
+ command's first argument is optional. The default value of the
+ optional argument is default.
+
+{definition} The text to be substituted for every occurrence of {cmd}; a
+ parameter of the form #n in {cmd} is replaced by the text of
+ the nth argument when this substitution takes place.
+
+ *\newenvironment* *\renewenvironment*
+\newenvironment{nam}[args]{begdef}{enddef}
+\newenvironment{nam}[args][default]{begdef}{enddef}
+\renewenvironment{nam}[args]{begdef}{enddef}
+
+These commands define or redefine an environment.
+
+{nam} The name of the environment. For |\newenvironment| there must
+ be no currently defined environment by that name, and the
+ command \nam must be undefined. For |\renewenvironment| the
+ environment must already be defined.
+
+{args} An integer from 1 to 9 denoting the number of arguments of
+ the newly-defined environment. The default is no arguments.
+
+{default} If this is specified, the first argument is optional, and
+ default gives the default value for that argument.
+
+{begdef} The text substituted for every occurrence of \begin{nam}; a
+ parameter of the form #n in {cmd} is replaced by the text of
+ the nth argument when this substitution takes place.
+
+{enddef} The text substituted for every occurrence of \end{nam}. It
+ may not contain any argument parameters.
+
+
+\newtheorem{envname}{caption}[within] *\newtheorem*
+\newtheorem{envname}[numberedlike]{caption}
+
+This command defines a theorem-like environment.
+
+{envname} The name of the environment to be defined. A string of
+ letters. It must not be the name of an existing environment or
+ counter.
+
+{caption} The text printed at the beginning of the environment, right
+ before the number. This may simply say "Theorem", for example.
+
+{within} The name of an already defined counter, usually of a sectional
+ unit. Provides a means of resetting the new theorem counter
+ within the sectional unit.
+
+{numberedlike} The name of an already defined theorem-like environment.
+
+The |\newtheorem| command may have at most one optional argument.
+
+
+\newfont{cmd}{fontname} *\newfont*
+ Defines the command name {cmd}, which must not be currently
+ defined, to be a declaration that selects the font named
+ {fontname} to be the current font.
+
+==============================================================================
+5. Document Classes *latex-classes*
+
+
+\documentclass[options]{class} *\documentclass*
+
+Valid LaTeX document classes include:
+ *article *article-class*
+ *report *report-class*
+ *letter *letter-class*
+ *book *book-class*
+ *slides *slides-class*
+
+All the standard classes (except slides) accept the following options for
+selecting the typeface size (10 pt is default):
+
+10pt, 11pt, 12pt
+
+All classes accept these options for selecting the paper size (default is
+letter):
+
+a4paper, a5paper, b5paper, letterpaper, legalpaper, executivepaper
+
+Miscellaneous options:
+
+landscape *landscape*
+ Selects landscape format. Default is portrait.
+
+titlepage, notitlepage *notitlepage*
+ Selects if there should be a separate title page.
+
+leqno *leqno* *rqno*
+ Equation number on left side of equations. Default is
+ right side.
+
+fleqn *fleqn*
+ Displayed formulas flush left. Default is centred.
+
+openbib *openbib*
+ Use "open" bibliography format.
+
+draft, final *draft* *final*
+ Mark/do not mark overfull boxes with a rule. Default is
+ final.
+
+These options are not available with the slides class:
+
+oneside, twoside *oneside* *twoside*
+ Selects one- or twosided layout. Default is oneside,
+ except for the book class.
+
+openright, openany *openright* *openany*
+ Determines if a chapter should start on a right-hand page.
+ Default is openright for book.
+
+onecolumn, twocolumn *onecolumn* *twocolumn*
+ One or two columns. Defaults to one column.
+
+The slides class offers the option clock for printing the time at the bottom
+of each |\note|.
+
+If you specify more than one option, they must be separated by a comma.
+
+\usepackage[options]{pkg} *\usepackage*
+ Additional packages are loaded by this. If you
+ specify more than one package, they must be separated by a
+ comma.
+
+Any options given in the |\documentclass| command that are unknown by the
+selected document class are passed on to the packages loaded with |\usepackage|.
+
+==============================================================================
+6. Layout *latex-layout*
+
+Miscellaneous commands for controlling the general layout of the page.
+
+|\flushbottom| Make all text pages the same height.
+|\onecolumn| Use one-column layout.
+|\raggedbottom| Allow text pages of differing height.
+|\twocolumn| Use two-column layout.
+
+\flushbottom *\flushbottom*
+ Makes all text pages the same height, adding extra vertical
+ space when necessary to fill out the page. This is the
+ standard if twocolumn mode is selected.
+
+\onecolumn *\onecolumn*
+ Starts a new page and produces single-column output.
+
+\raggedbottom *\raggedbottom*
+ Makes all pages the height of the text on that page. No extra
+ vertical space is added.
+
+\twocolumn[text] *\twocolumn*
+ Starts a new page and produces two-column output. If the
+ optional [text] argument is present, it is typeset in
+ one-column mode.
+
+==============================================================================
+7. Environments *latex-environments*
+
+ *\begin* *\end*
+LaTeX provides a number of different paragraph-making environments. Each
+environment begins and ends in the same manner: >
+
+ \begin{environment-name}
+ .
+ .
+ .
+ \end{environment-name}
+<
+a. |array| Math arrays
+b. |center| Centred lines
+c. |description| Labelled lists
+d. |enumerate| Numbered lists
+e. |eqnarray| Sequences of aligned equations
+f. |equation| Displayed equation
+g. |figure| Floating figures
+h. |flushleft| Flushed left lines
+i. |flushright| Flushed right lines
+j. |itemize| Bulleted lists
+k. |letter| Letters
+l. |list| Generic list environment
+m. |minipage| Miniature page
+n. |picture| Picture with text, arrows, lines and circles
+o. |quotation| Indented environment with paragraph indentation
+p. |quote-l| Indented environment with no paragraph indentation
+q. |tabbing| Align text arbitrarily
+r. |table| Floating tables
+s. |tabular| Align text in columns
+t. |thebibliography| Bibliography or reference list
+u. |theorem| Theorems, lemmas, etc
+v. |titlepage| For hand crafted title pages
+x. |verbatim| Simulating typed input
+y. |verse| For poetry and other things
+
+==============================================================================
+ a. array *array*
+>
+ \begin{array}{col1col2...coln}
+ column 1 entry & column 2 entry ... & column n entry \\
+ .
+ .
+ .
+ \end{array}
+
+Math arrays are produced with the |array| environment. It has a single mandatory
+argument describing the number of columns and the alignment within them. Each
+column, coln, is specified by a single letter that tells how items in that row
+should be formatted.
+ * c -- for centred
+ * l -- for flush left
+ * r -- for flush right
+Column entries must be separated by an |&|. Column entries may include other
+LaTeX commands. Each row of the array must be terminated with the string |\\|.
+
+Note that the |array| environment can only be used in |math-mode|, so normally
+it is used inside an |equation| environment.
+
+==============================================================================
+b. center *center*
+>
+ \begin{center}
+ Text on line 1 \\
+ Text on line 2 \\
+ .
+ .
+ .
+ \end{center}
+
+The |\center| environment allows you to create a paragraph consisting of lines
+that are centred within the left and right margins on the current page. Each
+line must be terminated with the string |\\|.
+
+\centering *\centering*
+ This declaration corresponds to the |center| environment. This
+ declaration can be used inside an environment such as
+ |quote-l| or in a |\parbox|. The text of a |figure| or |table|
+ can be centred on the page by putting a |\centering| command
+ at the beginning of the |figure| or |table| environment.
+ Unlike the |center| environment, the |\centering| command does
+ not start a new paragraph; it simply changes how LaTeX formats
+ paragraph units. To affect a paragraph unit's format, the
+ scope of the declaration must contain the blank line or |\end|
+ command (of an environment like |quote-l|) that ends the
+ paragraph unit.
+
+==============================================================================
+c. description *description*
+>
+ \begin{description}
+ \item [label] First item
+ \item [label] Second item
+ .
+ .
+ .
+ \end{description}
+
+The |description| environment is used to make labelled lists. The label is
+bold face and flushed right.
+
+==============================================================================
+d. enumerate *enumerate*
+>
+ \begin{enumerate}
+ \item First item
+ \item Second item
+ .
+ .
+ .
+ \end{enumerate}
+
+The |enumerate| environment produces a numbered list. Enumerations can be
+nested within one another, up to four levels deep. They can also be nested
+within other paragraph-making environments.
+
+\item Each item of an enumerated list begins with an |\item|
+ command. There must be at least one |\item| command
+ within the environment.
+
+The |enumerate| environment uses the |\enumi| through |\enumiv| counters (see
+section |latex-counters|). The type of numbering can be changed by redefining
+\theenumi etc.
+
+==============================================================================
+e. eqnarray *eqnarray*
+>
+ \begin{eqnarray}
+ math formula 1 \\
+ math formula 2 \\
+ .
+ .
+ .
+ \end{eqnarray}
+
+The |eqnarray| environment is used to display a sequence of equations or
+inequalities. It is very much like a three-column |array| environment, with
+consecutive rows separated by |\\| and consecutive items within a row separated
+by an |&|.
+
+\nonumber *\nonumber*
+ An equation number is placed on every line unless that
+ line has a |\nonumber| command.
+
+\lefteqn *\lefteqn*
+ The command |\lefteqn| is used for splitting long
+ formulas across lines. It typesets its argument in
+ display style flush left in a box of zero width.
+
+==============================================================================
+f. equation *equation*
+>
+ \begin{equation}
+ math formula
+ \end{equation}
+
+The |equation| environment centres your equation on the page and places the
+equation number in the right margin.
+
+==============================================================================
+g. figure *figure*
+>
+ \begin{figure}[placement]
+ body of the figure
+ \caption{figure title}
+ \end{figure}
+
+Figures are objects that are not part of the normal text, and are usually
+"floated" to a convenient place, like the top of a page. Figures will not be
+split between two pages.
+
+The optional argument [placement] determines where LaTeX will try to place
+your figure. There are four places where LaTeX can possibly put a float:
+
+h (Here) at the position in the text where the figure
+ environment appears.
+t (Top) at the top of a text page.
+b (Bottom) at the bottom of a text page.
+p (Page of floats) on a separate float page, which is a page containing
+ no text, only floats.
+
+The standard |report-class| and |article-class| use the default placement
+[tbp].
+
+The body of the |figure| is made up of whatever text, LaTeX commands, etc. you
+wish.
+
+The \caption command allows you to title your figure.
+
+==============================================================================
+h. flushleft *flushleft*
+>
+ \begin{flushleft}
+ Text on line 1 \\
+ Text on line 2 \\
+ .
+ .
+ .
+ \end{flushleft}
+
+The |flushleft| environment allows you to create a paragraph consisting of
+lines that are flushed left, to the left-hand margin. Each line must be
+terminated with the string |\\|.
+
+\raggedright *\raggedright*
+ This declaration corresponds to the |flushleft| environment.
+ This declaration can be used inside an environment such as
+ |quote-l| or in a |\parbox|. Unlike the |flushleft|
+ environment, the |\raggedright| command does not start a new
+ paragraph; it simply changes how LaTeX formats paragraph
+ units. To affect a paragraph unit's format, the scope of the
+ declaration must contain the blank line or |\end| command (of
+ an environment like |quote-l|) that ends the paragraph unit.
+
+==============================================================================
+i. flushright *flushright*
+>
+ \begin{flushright}
+ Text on line 1 \\
+ Text on line 2 \\
+ .
+ .
+ .
+ \end{flushright}
+
+The |flushright| environment allows you to create a paragraph consisting of
+lines that are flushed right, to the right-hand margin. Each line must be
+terminated with the string |\\|.
+
+\raggedleft *\raggedleft*
+ This declaration corresponds to the |flushright| environment.
+ This declaration can be used inside an environment such as
+ |quote-l| or in a |\parbox|. Unlike the |flushright|
+ environment, the |\raggedleft| command does not start a new
+ paragraph; it simply changes how LaTeX formats paragraph
+ units. To affect a paragraph unit's format, the scope of the
+ declaration must contain the blank line or |\end| command (of
+ an environment like |quote-l|) that ends the paragraph unit.
+
+==============================================================================
+j. itemize *itemize*
+>
+ \begin{itemize}
+ \item First item
+ \item Second item
+ .
+ .
+ .
+ \end{itemize}
+
+The |itemize| environment produces a "bulleted" list. Itemizations can be
+nested within one another, up to four levels deep. They can also be nested
+within other paragraph-making environments.
+
+\item *\item*
+ Each item of an itemized list begins with an |\item| command.
+ There must be at least one |\item| command within the
+ environment.
+
+The itemize environment uses the |\itemi| through |\itemiv| counters (see
+section |latex-counters|). The type of numbering can be changed by redefining
+\theitemi etc.
+
+==============================================================================
+k. letter *\letter*
+
+This environment is used for creating letters. See section |latex-letters|.
+
+==============================================================================
+l. list *list*
+
+The |list| environment is a generic environment which is used for defining many
+of the more specific environments. It is seldom used in documents, but often
+in macros.
+>
+ \begin{list}{label}{spacing}
+ \item First item
+ \item Second item
+ .
+ .
+ .
+ \end{list}
+
+'label' The {label} argument specifies how items should be labelled.
+ This argument is a piece of text that is inserted in a box to
+ form the {label}. This argument can and usually does contain
+ other LaTeX commands.
+
+'spacing' The {spacing} argument contains commands to change the spacing
+ parameters for the |list|. This argument will most often be
+ null, i.e., {}. This will select all default spacing which
+ should suffice for most cases.
+
+==============================================================================
+m. minipage *minipage*
+>
+ \begin{minipage}[position]{width}
+ text
+ \end{minipage}
+
+The |minipage| environment is similar to a |\parbox| command. It takes the
+same optional [position] argument and mandatory {width} argument. You may use
+other paragraph-making environments inside a |minipage|. Footnotes in a
+minipage environment are handled in a way that is particularly useful for
+putting footnotes in figures or tables. A |\footnote| or |\footnotetext|
+command puts the footnote at the bottom of the minipage instead of at the
+bottom of the page, and it uses the |\mpfootnote| counter instead of the
+ordinary footnote counter. See sections |latex-counters| and
+|latex-footnotes|.
+
+NOTE: Don't put one |minipage| inside another if you are using footnotes; they
+may wind up at the bottom of the wrong minipage.
+
+==============================================================================
+n. picture *picture*
+>
+ size position
+ \begin{picture}(width,height)(x offset,y offset)
+ .
+ .
+ picture commands
+ .
+ .
+ \end{picture}
+
+The |picture| environment allows you to create just about any kind of picture
+you want containing text, lines, arrows and circles. You tell LaTeX where to
+put things in the picture by specifying their coordinates. A coordinate is a
+number that may have a decimal point and a minus sign -- a number like 5, 2.3
+or -3.1416. A coordinate specifies a length in multiples of the unit length
+|\unitlength|, so if |\unitlength| has been set to 1cm, then the coordinate
+2.54 specifies a length of 2.54 centimetres. You can change the value of
+|\unitlength| anywhere you want, using the |\setlength| command, but strange
+things will happen if you try changing it inside the |picture| environment.
+
+A position is a pair of coordinates, such as (2.4,-5), specifying the point
+with x-coordinate 2.4 and y-coordinate -5. Coordinates are specified in the
+usual way with respect to an origin, which is normally at the lower-left
+corner of the |picture|.
+Note that when a position appears as an argument, it is not enclosed in
+braces; the parentheses serve to delimit the argument.
+
+The |picture| environment has one mandatory argument, which is a position. It
+specifies the size of the picture. The environment produces a rectangular box
+with width and height determined by this argument's x- and y-coordinates.
+
+The |picture| environment also has an optional position argument, following
+the size argument, that can change the origin. (Unlike ordinary optional
+arguments, this argument is not contained in square brackets.) The optional
+argument gives the coordinates of the point at the lower-left corner of the
+picture (thereby determining the origin). For example, if |\unitlength| has
+been set to 1mm, the command: >
+ \begin{picture}(100,200)(10,20)
+>
+produces a picture of width 100 millimetres and height 200 millimetres, whose
+lower-left corner is the point (10,20) and whose upper-right corner is
+therefore the point (110,220). When you first draw a picture, you will omit
+the optional argument, leaving the origin at the lower-left corner. If you
+then want to modify your picture by shifting everything, you just add the
+appropriate optional argument.
+
+The environment's mandatory argument determines the nominal size of the
+picture. This need bear no relation to how large the picture really is; LaTeX
+will happily allow you to put things outside the picture, or even off the
+page. The picture's nominal size is used by LaTeX in determining how much room
+to leave for it.
+
+Everything that appears in a picture is drawn by the |\put| command. The
+command: >
+ \put (11.3,-.3){...}
+
+puts the object specified by ... in the picture, with its
+reference point at coordinates (11.3,-.3). The reference points for various
+objects will be described below.
+
+The |\put| creates an LR box (|lrbox|). You can put anything in the text
+argument of the |\put| that you'd put into the argument of an |\mbox| and
+related commands. When you do this, the reference point will be the lower left
+corner of the box.
+
+Picture commands:
+|\circle| Draw a circle
+|\dashbox| Draw a dashed box
+|\frame| Draw a frame around an object
+|\framebox(picture)| Draw a box with a frame around it
+|\line| Draw a straight line
+|\linethickness| Set the line thickness
+|\makebox(picture)| Draw a box of the specified size
+|\multiput| Draw multiple instances of an object
+|\oval| Draw an ellipse
+|\put| Place an object at a specified place
+|\shortstack| Make a pile of objects
+|\vector| Draw a line with an arrow
+
+\circle[*]{diameter} *\circle*
+ Command produces a circle with a {diameter} as close to the
+ specified one as possible. If the *-form of the command is
+ used, LaTeX draws a solid circle.
+ Note: only circles up to 40 pt can be drawn.
+
+
+\dashbox{dashlength}(width,height){...} *\dashbox*
+ Draws a box with a dashed line. The |\dashbox| has an extra
+ argument which specifies the width of each dash. A dashed box
+ looks best when the width and height are multiples of the
+ {dashlength}.
+
+\frame{...} *\frame*
+ Puts a rectangular frame around the object specified in the
+ argument. The reference point is the bottom left corner of the
+ frame. No extra space is put between the frame and the object.
+
+\framebox(width,height)[position]{...} *\picture-framebox*
+ The |\framebox| command is exactly the same as the
+ |picture-makebox| command, except that it puts a frame around
+ the outside of the box that it creates. The |\framebox|
+ command produces a rule of thickness |\fboxrule|, and leaves a
+ space |\fboxsep| between the rule and the contents of the box.
+
+\line(x slope,y slope){length} *\line*
+ Draws a line of the specified length and slope.
+ Note: LaTeX can only draw lines with slope = x/y, where x and
+ y have integer values from -6 through 6.
+
+\linethickness{dimension} *\linethickness*
+ Declares the thickness of horizontal and vertical lines in a
+ |picture| environment to be dimension, which must be a
+ positive length. It does not affect the thickness of slanted
+ lines (|\line|) and circles (|circle|), or the quarter circles
+ drawn by |\oval| to form the corners of an oval.
+
+\makebox(width,height)[position]{...} *picture-makebox*
+ The makebox command for the |picture| environment is similar
+ to the normal |\makebox| command except that you must specify
+ a width and height in multiples of |\unitlength|.
+ The optional argument, [position], specifies the quadrant that
+ your text appears in. You may select up to two of the
+ following:
+ t - Moves the item to the top of the rectangle
+ b - Moves the item to the bottom
+ l - Moves the item to the left
+ r - Moves the item to the right
+
+ *\multiput*
+\multiput(x coord,y coord)(delta x,delta y){no of copies}{object}
+ This command can be used when you are putting the same
+ object in a regular pattern across a picture.
+
+\oval(width,height)[portion] *\oval*
+ Produces a rectangle with rounded corners. The optional
+ argument, [portion], allows you to select part of the oval.
+ t - top portion
+ b - bottom portion
+ r - right portion
+ l - left portion
+ Note: the "corners" of the oval are made with quarter circles
+ with a maximum radius of 20 pt, so large "ovals" will look
+ more like boxes with rounded corners.
+
+\put(x coord,y coord){ ... } *\put*
+ Places the item specified by the mandatory argument at the
+ given coordinates.
+
+\shortstack[position]{... \\ ... \\ ...} *\shortstack*
+ The |\shortstack| command produces a stack of objects.
+ The valid positions are:
+ r - right of the stack
+ l - left of the stack
+ c - centre of the stack (default)
+
+\vector(x slope,y slope){length} *\vector*
+ Draws a line with an arrow of the specified length and slope.
+ The x and y values must lie between -4 and +4, inclusive.
+
+==============================================================================
+o. quotation *quotation*
+ >
+ \begin{quotation}
+ text
+ \end{quotation}
+
+The margins of the |quotation| environment are indented on the left and the
+right. The text is justified at both margins and there is paragraph
+indentation. Leaving a blank line between text produces a new paragraph.
+
+==============================================================================
+p. quote *quote-l*
+>
+ \begin{quote}
+ text
+ \end{quote}
+
+The margins of the |quote-l| environment are indented on the left and the right.
+The text is justified at both margins. Leaving a blank line between text
+produces a new paragraph.
+
+==============================================================================
+q. tabbing *tabbing*
+>
+ \begin{tabbing}
+ text \= more text \= still more text \= last text \\
+ second row \> \> more \\
+ .
+ .
+ .
+ \end{tabbing}
+
+The |tabbing| environment provides a way to align text in columns. It works by
+setting tab stops and tabbing to them much the way you do with an ordinary
+typewriter.
+
+It is best suited for cases where the width of each column is constant and
+known in advance.
+
+This environment can be broken across pages, unlike the |tabular| environment.
+The following commands can be used inside a tabbing environment:
+
+ *tab=*
+\= Sets a tab stop at the current position.
+
+ *tab>*
+\> Advances to the next tab stop.
+
+ *tab<*
+\< This command allows you to put something to the left of the
+ local margin without changing the margin. Can only be used at
+ the start of the line.
+
+ *tab+*
+\+ Moves the left margin of the next and all the following
+ commands one tab stop to the right.
+
+ *tab-*
+\- Moves the left margin of the next and all the following
+ commands one tab stop to the left.
+
+ *tab'*
+\' Moves everything that you have typed so far in the current
+ column, i.e. everything from the most recent \> (|tab>|), \<
+ (|tab<|), \' (|tab'|), |\\|, or |\kill| command, to the right
+ of the previous column, flush against the current column's tab
+ stop.
+
+ *tab`*
+\` Allows you to put text flush right against any tab stop,
+ including tab stop 0. However, it can't move text to the right
+ of the last column because there's no tab stop there. The \`
+ (|tab`|) command moves all the text that follows it, up to the
+ |\\| or \end{tabbing} command that ends the line, to the right
+ margin of the tabbing environment. There must be no \>
+ (|tab>|) or \' (|tab'|) command between the \` (|tab`|) and
+ the command that ends the line.
+
+ *\kill*
+\kill Sets tab stops without producing text. Works just like |\\|
+ except that it throws away the current line instead of
+ producing output for it. The effect of any \= (|tab=|), \+
+ (|tab+|) or \- (|tab-|) commands in that line remain in
+ effect.
+
+ *\pushtabs*
+\pushtabs Saves all current tab stop positions. Useful for temporarily
+ changing tab stop positions in the middle of a tabbing
+ environment. Also restores the tab stop positions saved by the
+ last |\pushtabs|.
+
+ *taba*
+\a In a tabbing environment, the commands \= (|tab=|), \'
+ (|tab'|) and \` (|tab`|) do not produce accents as normal.
+ Instead, the commands \a=, \a' and \a` are used.
+
+This example typesets a Pascal function in a traditional format:
+>
+ \begin{tabbing}
+ function \= fact(n : integer) : integer;\\
+ \> begin \= \+ \\
+ \> if \= n $>$ 1 then \+ \\
+ fact := n * fact(n-1) \- \\
+ else \+ \\
+ fact := 1; \-\- \\
+ end;\\
+ \end{tabbing}
+
+==============================================================================
+r. table *\table*
+>
+ \begin{table}[placement]
+ body of the table
+ \caption{table title}
+ \end{table}
+
+Tables are objects that are not part of the normal text, and are usually
+"floated" to a convenient place, like the top of a page. Tables will not be
+split between two pages.
+
+The optional argument [placement] determines where LaTeX will try to place
+your table. There are four places where LaTeX can possibly put a float:
+
+ h (Here) at the position in the text where the table
+ environment appears.
+ t (Top) at the top of a text page.
+ b (Bottom) at the bottom of a text page.
+ p (Page of floats) on a separate float page, which is a page
+ containing no text, only floats.
+
+The standard |report-class| and |article-class| use the default placement [tbp].
+
+The body of the table is made up of whatever text, LaTeX commands, etc., you
+wish.
+
+The \caption command allows you to title your table.
+
+==============================================================================
+s. tabular *tabular*
+>
+ \begin{tabular}[pos]{cols}
+ column 1 entry & column 2 entry ... & column n entry \\
+ .
+ .
+ .
+ \end{tabular}
+
+or
+>
+ \begin{tabular*}{width}[pos]{cols}
+ column 1 entry & column 2 entry ... & column n entry \\
+ .
+ .
+ .
+ \end{tabular*}
+
+These environments produce a box consisting of a sequence of rows of items,
+aligned vertically in columns. The mandatory and optional arguments consist
+of:
+
+{width} Specifies the width of the tabular* environment. There must be
+ rubber space between columns that can stretch to fill out the
+ specified width.
+
+[pos] Specifies the vertical position; default is alignment on the
+ centre of the environment.
+ t - align on top row
+ b - align on bottom row
+
+{cols} Specifies the column formatting. It consists of a sequence of
+ the following specifiers, corresponding to the sequence of
+ columns and intercolumn material.
+ l - A column of left-aligned items.
+
+ r - A column of right-aligned items.
+
+ c - A column of centred items.
+
+ | - A vertical line the full height and depth of the
+ environment.
+
+ @{text} - This inserts text in every row. An @-expression
+ suppresses the intercolumn space normally inserted
+ between columns; any desired space between the
+ inserted text and the adjacent items must be included
+ in text. An \extracolsep{wd} command in an
+ @-expression causes an extra space of width {wd} to
+ appear to the left of all subsequent columns, until
+ countermanded by another |\extracolsep| command. Unlike
+ ordinary intercolumn space, this extra space is not
+ suppressed by an @-expression. An |\extracolsep|
+ command can be used only in an @-expression in the
+ cols argument.
+
+ p{wd} - Produces a column with each item typeset in a |\parbox|
+ of width {wd}, as if it were the argument of a
+ \parbox[t]{wd} command. However, a |\\| may not appear
+ in the item, except in the following situations:
+ 1. inside an environment like |minipage|, |array|, or
+ |tabular|.
+ 2. inside an explicit |\parbox|.
+ 3. in the scope of a |\centering|, |\raggedright|, or
+ |\raggedleft| declaration. The latter declarations must
+ appear inside braces or an environment when used in a
+ p-column element.
+
+ {num}{cols} - Equivalent to num copies of cols, where num is any positive
+ integer and cols is any list of column-specifiers,
+ which may contain another -expression.
+
+These commands can be used inside a tabular environment:
+
+|\cline| Draw a horizontal line spanning some columns.
+|\hline| Draw a * horizontal line spanning all columns.
+|\multicolumn| Make an item spanning * several columns.
+|\vline| Draw a vertical line.
+
+
+\cline{i-j} *\cline*
+ The |\cline| command draws horizontal lines across the columns
+ specified, beginning in column i and ending in column j,
+ which are identified in the mandatory argument.
+
+\hline *\hline*
+ The |\hline| command will draw a horizontal line the width of
+ the table. It's most commonly used to draw a line at the top,
+ bottom, and between the rows of the table.
+
+\multicolumn{cols}{pos}{text} *\multicolumn*
+ The |\multicolumn| is used to make an entry that spans several
+ columns. The first mandatory argument, {cols}, specifies the
+ number of columns to span. The second mandatory argument,
+ {pos}, specifies the formatting of the entry:
+ c - centered
+ l - flushleft
+ r - flushright.
+ The third mandatory argument, {text}, specifies what text is
+ to make up the entry.
+
+\vline *\vline*
+ The |\vline| command will draw a vertical line extending the
+ full height and depth of its row. An |\hfill| command can be
+ used to move the line to the edge of the column. It can also
+ be used in an @-expression.
+
+==============================================================================
+t. thebibliography *\thebibliography*
+>
+ \begin{thebibliography}{widestlabel}
+ \bibitem[label]{cite_key}
+ .
+ .
+ .
+ \end{thebibliography}
+
+The |\thebibliography| environment produces a bibliography or reference list.
+
+In the |article-class|, this reference list is labelled "References"; in the
+|report-class|, it is labelled "Bibliography".
+
+{widestlabel} Text that, when printed, is approximately as wide as the
+ widest item label produces by the |\bibitem| commands.
+
+|\bibitem| Specify a bibliography item.
+|\cite| Refer to a bibliography item.
+|\nocite| Include an item in the bibliography.
+|BibTeX| Automatic generation of bibliographies.
+
+\bibitem *\bibitem*
+\bibitem[label]{citekey}
+ The |\bibitem| command generates an entry labelled by [label].
+ If the [label] argument is missing, a number is generated as
+ the label, using the |\enumi| counter. The {citekey} is any
+ sequence of letters, numbers, and punctuation symbols not
+ containing a comma. This command writes an entry on the `.aux'
+ file containing {citekey} and the item's label. When this
+ `.aux' file is read by the \begin{document} command, the
+ item's label is associated with {citekey}, causing the
+ reference to {citekey} by a |\cite| command to produce the
+ associated label.
+
+\cite *\cite*
+\cite[text]{keylist}
+ The {keylist} argument is a list of citation keys. This
+ command generates an in-text citation to the references
+ associated with the keys in {keylist} by entries on the `.aux'
+ file read by the \begin{document} command.
+ The optional text argument will appear after the
+ citation, i.e.: >
+ \cite[p.2]{knuth}
+< might produce `[Knuth, p. 2]'.
+
+\nocite *\nocite*
+\nocite{keylist}
+ The |\nocite| command produces no text, but writes
+ {keylist}, which is a list of one or more citation
+ keys, on the `.aux' file.
+
+BibTeX *BibTeX* *bibtex*
+ *\bibliographystyle*
+If you use the BibTeX program by Oren Patashnik (highly recommended if you
+need a bibliography of more than a couple of titles) to maintain your
+bibliography, you don't use the |thebibliography| environment. Instead, you
+include the lines:
+>
+ \bibliographystyle{style}
+ \bibliography{bibfile}
+
+where {style} refers to a file style.bst, which defines how your citations
+will look. The standard styles distributed with BibTeX are:
+
+{alpha} Sorted alphabetically. Labels are formed from name of author and year
+ of publication.
+{plain} Sorted alphabetically. Labels are numeric.
+{unsrt} Like plain, but entries are in order of citation.
+{abbrv} Like plain, but more compact labels.
+
+In addition, numerous other BibTeX style files exist tailored to the demands
+of various publications.
+
+ *\bibliography*
+The argument to |\bibliography| refers to the file bibfile.bib, which should
+contain your database in BibTeX format. Only the entries referred to via
+|\cite| and |\nocite| will be listed in the bibliography.
+
+==============================================================================
+u. theorem *theorem*
+>
+ \begin{theorem}
+ theorem text
+ \end{theorem}
+
+The |theorem| environment produces "Theorem x" in boldface followed by your
+theorem text.
+
+==============================================================================
+v. titlepage *titlepage*
+>
+ \begin{titlepage}
+ text
+ \end{titlepage}
+
+The |titlepage| environment creates a title page, i.e. a page with no printed
+page number or heading. It also causes the following page to be numbered page
+one. Formatting the title page is left to you. The |\today| command comes in
+handy for title pages.
+
+Note that you can use the |\maketitle| to produce a standard title page.
+
+==============================================================================
+x. verbatim *verbatim*
+>
+ \begin{verbatim}
+ text
+ \end{verbatim}
+
+The |verbatim| environment is a paragraph-making environment that gets LaTeX
+to print exactly what you type in. It turns LaTeX into a typewriter with
+carriage returns and blanks having the same effect that they would on a
+typewriter.
+
+\verb *\verb*
+\verb char literal_text char
+\verb*char literal_text char
+ Typesets literal_text exactly as typed, including
+ special characters and spaces, using a typewriter |\tt|
+ type style. There may be no space between |\verb| or
+ |\verb|* and char (space is shown here only for
+ clarity). The *-form differs only in that spaces are
+ printed as `\verb*| |\'.
+
+==============================================================================
+y. verse *verse*
+>
+ \begin{verse}
+ text
+ \end{verse}
+
+The |verse| environment is designed for poetry, though you may find other uses
+for it.
+
+The margins are indented on the left and the right. Separate the lines of each
+stanza with |\\|, and use one or more blank lines to separate the stanzas.
+
+==============================================================================
+8. Footnotes *latex-footnotes*
+
+Footnotes can be produced in one of two ways. They can be produced with one
+command, the |\footnote| command. They can also be produced with two commands,
+the |\footnotemark| and the |\footnotetext| commands. See the specific command for
+information on why you would use one over the other.
+
+|\footnote| Insert a footnote
+|\footnotemark| Insert footnote mark only
+|\footnotetext| Insert footnote text only
+
+\footnote[number]{text} *\footnote*
+ Command places the numbered footnote text at the bottom of the
+ current page. The optional argument, number, is used to change
+ the default footnote number. This command can only be used in
+ outer paragraph mode; i.e., you cannot use it in sectioning
+ commands like |\chapter|, in |\figure|, |\table| or in a
+ |\tabular| environment.
+
+\footnotemark *\footnotemark*
+ Command puts the footnote number in the text. This command can
+ be used in inner paragraph mode. The text of the footnote is
+ supplied by the |\footnotetext| command.
+ This command can be used to produce several consecutive
+ footnote markers referring to the same footnote by using
+>
+ \footnotemark[\value{footnote}]
+<
+ after the first |\footnote| command.
+
+\footnotetext[number]{text} *\footnotetext*
+ Command produces the text to be placed at the bottom of the
+ page. This command can come anywhere after the |\footnotemark|
+ command. The |\footnotetext| command must appear in outer
+ paragraph mode. The optional argument, number, is used to
+ change the default footnote number.
+
+==============================================================================
+9. Lengths *latex-lengths*
+
+A length is a measure of distance. Many LaTeX commands take a length as an
+argument.
+
+|\newlength| Define a new length.
+|\setlength| Set the value of a length.
+|\addtolength| Add a quantity to a length.
+|\settodepth| Set a length to the depth of something.
+|\settoheight| Set a length to the height of something.
+|\settowidth| Set a length to the width of something.
+|pre-lengths| Lengths that are, like, predefined.
+
+\newlength{\gnat} *\newlength*
+ The |\newlength| command defines the mandatory argument, \gnat,
+ as a length command with a value of 0in. An error occurs if a
+ \gnat command already exists.
+
+\setlength{\gnat}{length} *\setlength*
+ The |\setlength| command is used to set the value of a \gnat
+ command. The {length} argument can be expressed in any terms
+ of length LaTeX understands, i.e., inches (in), millimetres
+ (mm), points (pt), etc.
+
+\addtolength{\gnat}{length} *\addtolength*
+ The |\addtolength| command increments a \gnat by the amount
+ specified in the {length} argument. It can be a negative
+ amount.
+
+\settodepth{\gnat}{text} *\settodepth*
+ The |\settodepth| command sets the value of a \gnat command
+ equal to the depth of the {text} argument.
+
+\settoheight{\gnat}{text} *\settoheight*
+ The |\settoheight| command sets the value of a \gnat command
+ equal to the height of the {text} argument.
+
+\settowidth{\gnat}{text} *\settowidth*
+ The |\settowidth| command sets the value of a \gnat command
+ equal to the width of the {text} argument.
+
+Predefined lengths *pre-lengths*
+
+\width *\width*
+\height *\height*
+\depth *\depth*
+\totalheight *\totalheight*
+ These length parameters can be used in the arguments of the
+ box-making commands See section Spaces & Boxes. They specify
+ the natural width etc. of the text in the box.
+ \totalheight equals \height + \depth.
+ To make a box with the text stretched to double the natural
+ size, e.g., say: >
+ \makebox[2\width]{Get a stretcher}
+
+==============================================================================
+10. Letters *latex-letters*
+
+You can use LaTeX to typeset letters, both personal and business. The letter
+document class is designed to make a number of letters at once, although you
+can make just one if you so desire.
+
+Your `.tex' source file has the same minimum commands as the other document
+classes, i.e., you must have the following commands as a minimum: >
+ \documentclass{letter}
+ \begin{document}
+ ...
+ letters
+ ...
+ \end{document}
+
+Each letter is a letter environment, whose argument is the name and address of
+the recipient. For example, you might have: >
+ \begin{letter}
+ {Mr. Joe Smith\\
+ 2345 Princess St. \\
+ Edinburgh, EH1 1AA}
+ ...
+ \end{letter}
+
+The letter itself begins with the |\opening| command. The text of the letter
+follows. It is typed as ordinary LaTeX input. Commands that make no sense in
+a letter, like |\chapter|, do not work. The letter closes with a |\closing|
+command.
+
+After the closing, you can have additional material. The |\cc| command produces
+the usual "cc: ...". There's also a similar |\encl| command for a list of
+enclosures. With both these commands, use|\\| to separate the items.
+
+These commands are used with the letter class:
+|\address| Your return address.
+|\cc| Cc list. closing Saying goodbye.
+|\encl| List of enclosed material.
+|\location| Your organisation's address.
+|\makelabels| Making address labels.
+|\name| Your name, for the return address.
+|\opening| Saying hello.
+|\ps| Adding a postscript.
+|\signature| Your signature.
+|\startbreaks| Allow page breaks.
+|\stopbreaks| Disallow page breaks.
+|\telephone| Your phone number.
+
+\address{Return address} *\address*
+ The return address, as it should appear on the letter and the
+ envelope. Separate lines of the address should be separated
+ by |\\| commands. If you do not make an |\address| declaration,
+ then the letter will be formatted for copying onto your
+ organisation's standard letterhead. (See section Overview of
+ LaTeX and Local Guide, for details on your local
+ implementation). If you give an |\address| declaration, then
+ the letter will be formatted as a personal letter.
+
+\cc{Kate Schechter\\Rob McKenna} *\cc*
+ Generate a list of other persons the letter was sent to. Each
+ name is printed on a separate line.
+
+\closing{text} *\closing*
+ The letter closes with a |\closing| command, i.e., >
+ \closing{Best Regards,} \encl{CV\\Certificates}
+< Generate a list of enclosed material.
+
+\location{address} *\location*
+ This modifies your organisation's standard address. This only
+ appears if the firstpage pagestyle is selected.
+
+\makelabels{number} *\makelabels*
+ If you issue this command in the preamble, LaTeX will create a
+ sheet of address labels. This sheet will be output before the
+ letters.
+
+\name{June Davenport} *\name*
+ Your name, used for printing on the envelope together with the
+ return address.
+
+\opening{text} *\opening*
+ The letter begins with the |\opening| command. The mandatory
+ argument, text, is whatever text you wish to start your
+ letter, i.e., >
+ \opening{Dear Joe,}
+
+\ps *\ps*
+ Use this command before a postscript.
+
+\signature{Harvey Swick} *\signature*
+ Your name, as it should appear at the end of the letter
+ underneath the space for your signature. Items that should go
+ on separate lines should be separated by |\\| commands.
+
+\startbreaks *\startbreaks*
+ Used after a |\stopbreaks| command to allow page breaks again.
+
+\stopbreaks *\stopbreaks*
+ Inhibit page breaks until a |\startbreaks| command occurs.
+
+\telephone{number} *\telephone*
+ This is your telephone number. This only appears if the
+ firstpage pagestyle is selected.
+
+==============================================================================
+11. Line & Page Breaking *latex-breaking*
+
+The first thing LaTeX does when processing ordinary text is to translate your
+input file into a string of glyphs and spaces. To produce a printed document,
+this string must be broken into lines, and these lines must be broken into
+pages. In some environments, you do the line breaking yourself with the |\\|
+command, but LaTeX usually does it for you.
+
+|\\| Start a new line
+|hyph-| Insert explicit hyphenation
+|\cleardoublepage| Start a new right-hand page
+|\clearpage| Start a new page
+|\enlargethispage| Enlarge the current page a bit
+|\fussy| Be fussy about line breaking
+|\hyphenation| Tell LaTeX how to hyphenate a word
+|\linebreak| Break the line
+|\newline| Break the line prematurely
+|\newpage| Start a new page
+|\nolinebreak| Don't break the current line
+|\nopagebreak| Don't make a page break here
+|\pagebreak| Please make a page break here
+|\sloppy| Be sloppy about line breaking
+
+\\[*][extraspace] *\\* *\\\\*
+ The |\\| command tells LaTeX to start a new line. It has an
+ optional argument, [extraspace], that specifies how much extra
+ vertical space is to be inserted before the next line. This
+ can be a negative amount.
+ The \\* command is the same as the ordinary |\\| command
+ except that it tells LaTeX not to start a new page after the
+ line.
+
+\- *hyph-*
+ The \- command tells LaTeX that it may hyphenate the word at
+ that point. LaTeX is very good at hyphenating, and it will
+ usually find all correct hyphenation points. The \- command is
+ used for the exceptional cases.
+ Note: when you insert \- commands in a word, the word will
+ only be hyphenated at those points and not at any of the
+ hyphenation points that LaTeX might otherwise have chosen.
+
+\cleardoublepage *\cleardoublepage*
+ The |\cleardoublepage| command ends the current page and causes
+ all figures and tables that have so far appeared in the input
+ to be printed. In a two-sided printing style (|twoside|), it
+ also makes the next page a right-hand (odd-numbered) page,
+ producing a blank page if necessary.
+
+\clearpage *\clearpage*
+ The |\clearpage| command ends the current page and causes all
+ figures and tables that have so far appeared in the input to
+ be printed.
+
+\enlargethispage{size} *\enlargethispage*
+\enlargethispage*{size}
+ Enlarge the textheight for the current page by the
+ specified amount; e.g.: >
+
+ \enlargethispage{\baselineskip}
+<
+ will allow one additional line. The starred form
+ tries to squeeze the material together on the page as
+ much as possible. This is normally used together with
+ an explicit |\pagebreak|.
+
+\fussy *\fussy*
+ This declaration (which is the default) makes TeX more fussy
+ about line breaking. This can avoids too much space between
+ words, but may produce overfull boxes. This command cancels
+ the effect of a previous |\sloppy| command.
+
+\hyphenation{words} *\hyphenation*
+ The |\hyphenation| command declares allowed hyphenation points,
+ where words is a list of words, separated by spaces, in which
+ each hyphenation point is indicated by a - character.
+
+\linebreak[number] *\linebreak*
+ The |\linebreak| command tells LaTeX to break the current line
+ at the point of the command. With the optional argument,
+ number, you can convert the |\linebreak| command from a demand
+ to a request. The [number] must be a number from 0 to 4. The
+ higher the number, the more insistent the request is. The
+ |\linebreak| command causes LaTeX to stretch the line so it
+ extends to the right margin.
+
+\newline *\newline*
+ The |\newline| command breaks the line right where it is. It
+ can only be used in paragraph mode.
+
+\newpage *\newpage*
+ The |\newpage| command ends the current page.
+
+\nolinebreak[number] *\nolinebreak*
+ The |\nolinebreak| command prevents LaTeX from breaking the
+ current line at the point of the command. With the optional
+ argument, [number], you can convert the |\nolinebreak| command
+ from a demand to a request. The [number] must be a number from 0
+ to 4. The higher the number, the more insistent the request
+ is.
+
+\nopagebreak[number] *\nopagebreak*
+ The |\nopagebreak| command prevents LaTeX from breaking the
+ current page at the point of the command. With the optional
+ argument, [number], you can convert the |\nopagebreak| command
+ from a demand to a request. The [number] must be a number from
+ 0 to 4. The higher the number, the more insistent the request
+ is.
+
+\pagebreak[number] *\pagebreak*
+ The |\pagebreak| command tells LaTeX to break the current page
+ at the point of the command. With the optional argument,
+ [number], you can convert the |\pagebreak| command from a
+ demand to a request. The [number] must be a number from 0 to
+ 4. The higher the number, the more insistent the request is.
+
+\sloppy *\sloppy*
+ This declaration makes TeX less fussy about line breaking.
+ This can prevent overfull boxes, but may leave too much space
+ between words.
+ Lasts until a |\fussy| command is issued.
+
+==============================================================================
+12. Making Paragraphs *latex-paragraphs*
+
+A paragraph is ended by one or more completely blank lines -- lines not
+containing even a |\%|. A blank line should not appear where a new paragraph
+cannot be started, such as in math mode or in the argument of a sectioning
+command.
+
+|\indent| Indent this paragraph.
+|\noindent| Do not indent this paragraph.
+|\par| Another way of writing a blank line.
+
+\indent *\indent*
+ This produces a horizontal space whose width equals the width
+ of the paragraph indentation. It is used to add paragraph
+ indentation where it would otherwise be suppressed.
+
+\noindent *\noindent*
+ When used at the beginning of the paragraph, it suppresses the
+ paragraph indentation. It has no effect when used in the
+ middle of a paragraph.
+
+\par *\par*
+ Equivalent to a blank line; often used to make command or
+ environment definitions easier to read.
+
+==============================================================================
+13. Margin Notes *latex-margin-notes*
+
+\marginpar[left]{right} *\marginpar*
+ This command creates a note in the margin. The first line will
+ be at the same height as the line in the text where the
+ |\marginpar| occurs.
+
+ When you only specify the mandatory argument {right}, the text
+ will be placed:
+ * in the right margin for one-sided layout
+ * in the outside margin for two-sided layout (|twoside|)
+ * in the nearest margin for two-column layout (|twocolumn|)
+
+\reversemarginpar *\reversemarginpar*
+ By issuing the command |\reversemarginpar|, you can force the
+ marginal notes to go into the opposite (inside) margin.
+
+When you specify both arguments, left is used for the left margin, and right
+is used for the right margin.
+
+The first word will normally not be hyphenated; you can enable hyphenation by
+prefixing the first word with a \hspace{0pt} command (|hspace|).
+
+==============================================================================
+14. Math Formulae *latex-math*
+ *displaymath*
+There are three environments (|latex-environments|) that put LaTeX in math
+mode:
+|math| For Formulae that appear right in the text.
+|displaymath| For Formulae that appear on their own line.
+|equation| The same as the displaymath environment except that it adds an
+ equation number in the right margin.
+
+The |math| environment can be used in both paragraph and LR mode, but the
+|displaymath| and |equation| environments can be used only in paragraph mode. The
+|math| and |displaymath| environments are used so often that they have the
+following short forms:
+ \(...\) instead of \begin{math}...\end{math}
+ \[...\] instead of \begin{displaymath}...\end{displaymath}
+
+In fact, the math environment is so common that it has an even shorter form:
+ $ ... $ instead of \(...\)
+
+|sub-sup| Also known as exponent or index.
+|math-symbols| Various mathematical squiggles.
+|math-spacing| Thick, medium, thin and negative spaces.
+|math-misc| Stuff that doesn't fit anywhere else.
+
+==========
+Subscripts & Superscripts *sub-sup*
+ *subscripts* *superscripts*
+
+To get an expression exp to appear as a subscript, you just type _{exp}. To
+get exp to appear as a superscript, you type ^{exp}. LaTeX handles
+superscripted superscripts and all of that stuff in the natural way. It even
+does the right thing when something has both a subscript and a superscript.
+
+==========
+Math Symbols *math-symbols*
+
+LaTeX provides almost any mathematical symbol you're likely to need. The
+commands for generating them can be used only in math mode. For example, if
+you include >
+ $\pi$
+in your source, you will get the symbol in your output.
+
+==========
+Spacing in Math Mode *math-spacing*
+
+In a math environment, LaTeX ignores the spaces you type and puts in the
+spacing that it thinks is best. LaTeX formats mathematics the way it's done in
+mathematics texts. If you want different spacing, LaTeX provides the following
+four commands for use in math mode:
+ \; - a thick space *math;*
+ \: - a medium space *math:*
+ \, - a thin space *math,*
+ \! - a negative thin space *matn!*
+
+==========
+Math Miscellany *math-misc*
+
+\cdots *\cdots*
+ Produces a horizontal ellipsis where the dots are raised to
+ the centre of the line.
+\ddots *\ddots*
+ Produces a diagonal ellipsis.
+\frac{num}{den} *\frac*
+ Produces the fraction num divided by den.
+\ldots *\ldots*
+ Produces an ellipsis. This command works in any mode, not just
+ math mode.
+\overbrace{text} *\overbrace*
+ Generates a brace over text.
+\overline{text} *\overline*
+ Causes the argument text to be overlined.
+\sqrt[root]{arg} *\sqrt*
+ Produces the square root of its argument. The optional
+ argument, [root], determines what root to produce, i.e., the
+ cube root of x+y would be typed as: >
+ $\sqrt[3]{x+y}$.
+\underbrace{text} *\underbrace*
+ Generates text with a brace underneath.
+\underline{text} *\underline*
+ Causes the argument text to be underlined. This command can
+ also be used in paragraph and LR mode.
+\vdots *\vdots*
+ Produces a vertical ellipsis.
+
+==============================================================================
+15. Modes *latex-modes*
+
+When LaTeX is processing your input text, it is always in one of three modes:
+ Paragraph mode *paragraph-mode*
+ Math mode *math-mode*
+ Left-to-right mode, called LR mode for short. *lr-mode*
+
+LaTeX changes mode only when it goes up or down a staircase to a different
+level, though not all level changes produce mode changes. Mode changes occur
+only when entering or leaving an environment, or when LaTeX is processing the
+argument of certain text-producing commands.
+
+|paragraph-mode| is the most common; it's the one LaTeX is in when processing
+ordinary text. In that mode, LaTeX breaks your text into lines and breaks the
+lines into pages. LaTeX is in |math-mode| when it's generating a mathematical
+formula. In |lr-mode|, as in |paragraph-mode|, LaTeX considers the output that
+it produces to be a string of words with spaces between them. However, unlike
+|paragraph-mode|, LaTeX keeps going from left to right; it never starts a new
+line in |lr-mode|. Even if you put a hundred words into an |\mbox|, LaTeX would
+keep typesetting them from left to right inside a single box, and then
+complain because the resulting box was too wide to fit on the line.
+
+LaTeX is in |lr-mode| when it starts making a box with an |\mbox| command. You
+can get it to enter a different mode inside the box - for example, you can
+make it enter |math-mode| to put a formula in the box. There are also several
+text-producing commands and environments for making a box that put LaTeX in
+|paragraph-mode|. The box make by one of these commands or environments will be
+called a |\parbox|. When LaTeX is in |paragraph-mode| while making a box, it is
+said to be in "inner paragraph mode". Its normal |paragraph-mode|, which it
+starts out in, is called "outer paragraph mode".
+
+==============================================================================
+16. Page Styles *latex-page-styles*
+
+The |\documentclass| command determines the size and position of the page's head
+and foot. The page style determines what goes in them.
+
+|\maketitle| Generate a title page.
+|\pagenumbering| Set the style used for page numbers.
+|\pagestyle| Change the headings/footings style.
+|\thispagestyle| Change the headings/footings style for this page.
+
+\maketitle *\maketitle*
+ The |\maketitle| command generates a title on a separate title
+ page - except in the |\article| class, where the title normally
+ goes at the top of the first page. Information used to
+ produce the title is obtained from the following declarations:
+
+ |\author| Who wrote this stuff?
+ |\date| The date the document was created.
+ |\thanks| A special form of footnote.
+ |\title| How to set the document title.
+
+ \author{names} *\author* *\and*
+ The |\author| command declares the author(s), where
+ names is a list of authors separated by \and commands.
+ Use |\\| to separate lines within a single author's
+ entry -- for example, to give the author's institution
+ or address.
+
+ \date{text} *\date*
+ The |\date| command declares text to be the document's
+ date. With no |\date| command, the current date is
+ used.
+
+ \thanks{text} *\thanks*
+ The |\thanks| command produces a |\footnote| to the
+ title.
+
+ \title{text} *\title*
+ The |\title| command declares text to be the title. Use
+ |\\| to tell LaTeX where to start a new line in a long
+ title.
+
+\pagenumbering{numstyle} *\pagenumbering*
+ Specifies the style of page numbers. Possible values of
+ 'numstyle' are:
+ arabic - Arabic numerals *arabic*
+ roman - Lowercase Roman numerals *roman*
+ Roman - Uppercase Roman numerals *Roman*
+ alph - Lowercase letters *alph*
+ Alph - Uppercase letters *Alph*
+
+\pagestyle{option} *\pagestyle*
+ *plain* *empty* *headings*
+ The |\pagestyle| command changes the style from the current
+ page on throughout the remainder of your document.
+ The valid options are:
+ plain - Just a plain page number.
+ empty - Produces empty heads and feet no page numbers.
+ headings - Puts running headings on each page. The document
+ style specifies what goes in the headings.
+ myheadings - You specify what is to go in the heading with the
+ |\markboth| or the |\markright| commands.
+
+ |\markboth| Set left and right headings.
+ |\markright| Set right heading only.
+
+ \markboth{left head}{right head} *\markboth*
+ The |\markboth| command is used in conjunction with the
+ page style myheadings for setting both the left and
+ the right heading.
+ Note that a "left-hand heading" is generated by the
+ last |\markboth| command before the end of the page,
+ while a "right-hand heading" is generated by the first
+ |\markboth| or |\markright| that comes on the page if
+ there is one, otherwise by the last one before the
+ page.
+
+
+ \markright{right head} *\markright*
+ The |\markright| command is used in conjunction with
+ the page style |\myheadings| for setting the right
+ heading, leaving the left heading unchanged.
+ Note that a "left-hand heading" is generated by the
+ last |\markboth| command before the end of the page,
+ while a "right-hand heading" is generated by the first
+ |\markboth| or |\markright| that comes on the page if
+ there is one, otherwise by the last one before the
+ page.
+
+\thispagestyle{option} *\thispagestyle*
+ The |\thispagestyle| command works in the same manner as the
+ |\pagestyle| command except that it changes the style for the
+ current page only.
+
+==============================================================================
+17. Sectioning *latex-sectioning*
+
+Sectioning commands provide the means to structure your text into units.
+|\part|
+|\chapter| (report and book class only)
+|\section|
+|\subsection|
+|\subsubsection|
+|\paragraph|
+|\subparagraph|
+
+All sectioning commands take the same general form, i.e.,
+
+ *\part*
+ *\chapter* (report and book class only)
+ *\section* *\subsection* *\subsubsection*
+ *\paragraph* *\subparagraph*
+\chapter[optional]{title}
+ In addition to providing the heading in the text, the
+ mandatory argument of the sectioning command can appear in two
+ other places:
+ 1. The table of contents
+ 2. The running head at the top of the page. You may not want
+ the same thing to appear in these other two places as
+ appears in the text heading. To handle this situation, the
+ sectioning commands have an optional argument that provides
+ the text for these other two purposes.
+
+All sectioning commands have *\-forms that print a title, but do not include a
+number and do not make an entry in the table of contents.
+
+\appendix *\appendix*
+ The |\appendix| command changes the way sectional units are
+ numbered. The |\appendix| command generates no text and does
+ not affect the numbering of parts. The normal use of this
+ command is something like: >
+ \chapter{The First Chapter}
+ ...
+ \appendix \chapter{The First Appendix}
+
+
+==============================================================================
+18. Spaces & Boxes *latex-spaces-boxes*
+
+All the predefined length parameters See section Predefined lengths can be
+used in the arguments of the box-making commands.
+
+ Horizontal space:
+
+|\dotfill| Stretchable horizontal dots.
+|\hfill| Stretchable horizontal space.
+|\hrulefill| Stretchable horizontal rule.
+|\hspace| Fixed horizontal space.
+
+ Vertical space:
+
+|\addvspace| Fixed vertical space.
+|\bigskip| Fixed vertical space.
+|\medskip| Fixed vertical space.
+|\smallskip| Fixed vertical space.
+|\vfill| Stretchable vertical space.
+|\vspace| Fixed vertical space.
+
+ Boxes:
+
+|\fbox| Framebox.
+|\framebox| Framebox, adjustable position.
+|\lrbox| An environment like |\sbox|.
+|\makebox| Box, adjustable position.
+|\mbox| Box.
+|\newsavebox| Declare a name for saving a box.
+|\parbox| Box with text in paragraph mode.
+|\raisebox| Raise or lower text.
+|\rule| Lines and squares.
+|\savebox| Like |\makebox|, but save the text for later use.
+|\sbox| Like |\mbox|, but save the text for later use.
+|\usebox| Print saved text.
+
+Horizontal space: *latex-hor-space*
+
+LaTeX removes horizontal space that comes at the end of a line. If you don't
+want LaTeX to remove this space, include the optional * argument. Then the
+space is never removed.
+
+\dotfill *\dotfill*
+ The |\dotfill| command produces a "rubber length" that produces
+ dots instead of just spaces.
+
+\hfill *\hfill*
+ The |\hfill| fill command produces a "rubber length" which can
+ stretch or shrink horizontally. It will be filled with spaces.
+
+\hrulefill *\hrulefill*
+ The |\hrulefill| fill command produces a "rubber length" which
+ can stretch or shrink horizontally. It will be filled with a
+ horizontal rule.
+
+\hspace[*]{length} *\hspace*
+ The |\hspace| command adds horizontal space. The length of the
+ space can be expressed in any terms that LaTeX understands,
+ i.e., points, inches, etc. You can add negative as well as
+ positive space with an |\hspace| command. Adding negative space
+ is like backspacing.
+
+
+Vertical space: *latex-ver-space*
+
+LaTeX removes vertical space that comes at the end of a page. If you don't
+want LaTeX to remove this space, include the optional * argument. Then the
+space is never removed.
+
+\addvspace{length} *\addvspace*
+ The |\addvspace| command normally adds a vertical space of
+ height length. However, if vertical space has already been
+ added to the same point in the output by a previous
+ |\addvspace| command, then this command will not add more space
+ than needed to make the natural length of the total vertical
+ space equal to length.
+
+\bigskip *\bigskip*
+ The |\bigskip| command is equivalent to \vspace{bigskipamount}
+ where bigskipamount is determined by the document class.
+
+\medskip *\medskip*
+ The |\medskip| command is equivalent to \vspace{medskipamount}
+ where medskipamount is determined by the document class.
+
+\smallskip *\smallskip*
+ The |\smallskip| command is equivalent to
+ \vspace{smallskipamount} where smallskipamount is determined
+ by the document class.
+
+\vfill *\vfill*
+ The |\vfill| fill command produces a rubber length which can
+ stretch or shrink vertically.
+
+\vspace[*]{length} *\vspace*
+ The |\vspace| command adds vertical space. The length of the
+ space can be expressed in any terms that LaTeX understands,
+ i.e., points, inches, etc. You can add negative as well as
+ positive space with an |\vspace| command.
+
+
+Boxes: *latex-boxes*
+
+\fbox{text} *\fbox*
+ The |\fbox| command is exactly the same as the |\mbox| command,
+ except that it puts a frame around the outside of the box that
+ it creates.
+
+\framebox[width][position]{text} *\framebox*
+ The |\framebox| command is exactly the same as the |\makebox|
+ command, except that it puts a frame around the outside of the
+ box that it creates.
+ The |\framebox| command produces a rule of thickness
+ |\fboxrule|, and leaves a space |\fboxsep| between the rule and
+ the contents of the box.
+
+lrbox *\lrbox*
+\begin{lrbox}{cmd} text \end{lrbox}
+ This is the environment form of |\sbox|.
+ The text inside the environment is saved in the box cmd, which
+ must have been declared with |\newsavebox|.
+
+\makebox[width][position]{text} *\makebox*
+ The |\makebox| command creates a box just wide enough to
+ contain the text specified. The width of the box is specified
+ by the optional [width] argument. The position of the text
+ within the box is determined by the optional [position]
+ argument.
+ c -- centred (default)
+ l -- flushleft
+ r -- flushright
+ s -- stretch from left to right margin. The text must
+ contain stretchable space for this to work.
+ See section |\picture-makebox|.
+
+\mbox{text} *\mbox*
+ The |\mbox| command creates a box just wide enough to hold the
+ text created by its argument.
+ Use this command to prevent text from being split across
+ lines.
+
+\newsavebox{cmd} *\newsavebox*
+ Declares {cmd}, which must be a command name that is not
+ already defined, to be a bin for saving boxes.
+
+
+\parbox[position][height][innerpos]{width}{text} *\parbox*
+ A parbox is a box whose contents are created in
+ |\paragraph-mode|. The |\parbox| has two
+
+ Mandatory arguments:
+'width' specifies the width of the parbox
+'text' the text that goes inside the parbox.
+
+ Optional arguments:
+'position' LaTeX will position a parbox so its centre lines up with the
+ centre of the text line. The optional position argument allows
+ you to line up either the top or bottom line in the parbox
+ (default is top).
+
+'height' If the height argument is not given, the box will have the
+ natural height of the text.
+
+'innerpos' The inner-pos argument controls the placement of the text
+ inside the box. If it is not specified, position is used.
+ t -- text is placed at the top of the box
+ c -- text is centred in the box
+ b -- text is placed at the bottom of the box
+ s -- stretch vertically. The text must contain
+ vertically stretchable space for this to work.
+
+ A |\parbox| command is used for a parbox containing a small
+ piece of text, with nothing fancy inside. In particular, you
+ shouldn't use any of the paragraph-making environments inside
+ a |\parbox| argument. For larger pieces of text, including ones
+ containing a paragraph-making environment, you should use a
+ |\minipage| environment.
+
+\raisebox{distance}[extendabove][extendbelow]{text} *\raisebox*
+ The |\raisebox| command is used to raise or lower text. The
+ first mandatory argument specifies how high the text is to be
+ raised (or lowered if it is a negative amount). The text
+ itself is processed in LR mode.
+ Sometimes it's useful to make LaTeX think something has a
+ different size than it really does - or a different size than
+ LaTeX would normally think it has. The |\raisebox| command
+ lets you tell LaTeX how tall it is.
+ The first optional argument, extend-above, makes LaTeX think
+ that the text extends above the line by the amount specified.
+ The second optional argument, extend-below, makes LaTeX think
+ that the text extends below the line by the amount specified.
+
+\rule[raiseheight]{width}{thickness} *\rule*
+ The |\rule| command is used to produce horizontal lines. The
+ arguments are defined as follows:
+'raiseheight' specifies how high to raise the rule (optional)
+'width' specifies the length of the rule (mandatory)
+'thickness' specifies the thickness of the rule (mandatory)
+
+\savebox{cmd}[width][pos]{text} *\savebox*
+ This command typeset text in a box just as for |\makebox|.
+ However, instead of printing the resulting box, it saves it in
+ bin cmd, which must have been declared with |\newsavebox|.
+
+\sbox{text} *\sbox*
+ This commands typeset text in a box just as for |\mbox|.
+ However, instead of printing the resulting box, it saves it in
+ bin cmd, which must have been declared with |\newsavebox|.
+
+\usebox{cmd} *\usebox*
+ Prints the box most recently saved in bin cmd by a |\savebox|
+ command.
+
+==============================================================================
+19. Special Characters *latex-special*
+
+The following characters play a special role in LaTeX and are called "special
+printing characters", or simply "special characters". >
+ # $ % & ~ _ ^ \ { }
+Whenever you put one of these special characters into your file, you are doing
+something special. If you simply want the character to be printed just as any
+other letter, include a \ in front of the character. For example, \$ will
+produce $ in your output.
+
+One exception to this rule is the \ itself because |\\| has its own special
+meaning. A \ is produced by typing $\backslash$ in your file.
+
+Also, \~ means `place a tilde accent over the following letter', so you will
+probably want to use |\verb| instead.
+ *\symbol*
+In addition, you can access any character of a font once you know its number
+by using the |\symbol| command. For example, the character used for displaying
+spaces in the |\verb|* command has the code decimal 32, so it can be typed as
+\symbol{32}.
+
+You can also specify octal numbers with ' or hexadecimal numbers with ", so
+the previous example could also be written as \symbol{'40} or \symbol{"20}.
+
+==============================================================================
+20. Splitting the Input *latex-inputting*
+
+A large document requires a lot of input. Rather than putting the whole input
+in a single large file, it's more efficient to split it into several smaller
+ones. Regardless of how many separate files you use, there is one that is the
+root file; it is the one whose name you type when you run LaTeX.
+
+|\include| Conditionally include a file
+|\includeonly| Determine which files are included
+|\input| Unconditionally include a file
+
+\include{file} *\include*
+ The \include command is used in conjunction with the
+ |\includeonly| command for selective inclusion of
+ files. The file argument is the first name of a file,
+ denoting `file.tex' . If file is one the file names in
+ the file list of the |\includeonly| command or if there
+ is no |\includeonly| command, the \include command is
+ equivalent to: >
+ \clearpage \input{file} \clearpage
+<
+ except that if the file `file.tex' does not exist,
+ then a warning message rather than an error is
+ produced. If the file is not in the file list, the
+ \include command is equivalent to |\clearpage|.
+
+ The |\include| command may not appear in the preamble or in a
+ file read by another |\include| command.
+
+\includeonly{filelist} *\includeonly*
+ The |\includeonly| command controls which files will be read in
+ by an |\include| command. {filelist} should be a
+ comma-separated list of filenames. Each filename must match
+ exactly a filename specified in a |\include| command. This
+ command can only appear in the preamble.
+
+\input{file} *\input*
+ The |\input| command causes the indicated file to be read and
+ processed, exactly as if its contents had been inserted in the
+ current file at that point. The file name may be a complete
+ file name with extension or just a first name, in which case
+ the file `file.tex' is used.
+==============================================================================
+21. Starting & Ending *latex-start-end*
+
+Your input file must contain the following commands as a minimum:
+\documentclass{class} |\documentclass|
+\begin{document} |\begin|
+... your text goes here ...
+\end{document} |\end|
+
+where the class selected is one of the valid classes for LaTeX.
+See |\classes|for details of the various document classes.
+
+You may include other LaTeX commands between the |\documentclass| and the
+\begin{document} commands (i.e., in the `preamble').
+==============================================================================
+22. Table of Contents *latex-toc*
+
+ *\tableofcontents*
+A table of contents is produced with the |\tableofcontents| command. You put
+the command right where you want the table of contents to go; LaTeX does the
+rest for you. It produces a heading, but it does not automatically start a new
+page. If you want a new page after the table of contents, include a |\newpage|
+command after the |\tableofcontents| command.
+
+ *\listoffigures* *\listoftables*
+There are similar commands |\listoffigures| and |\listoftables| for producing a
+list of figures and a list of tables, respectively. Everything works exactly
+the same as for the table of contents.
+
+ *\nofiles*
+NOTE: If you want any of these items to be generated, you cannot have the
+\nofiles command in your document.
+
+|\addcontentsline| Add an entry to table of contents etc.
+|\addtocontents| Add text directly to table of contents file etc.
+
+\addcontentsline{file}{secunit}{entry} *\addcontentsline*
+ The |\addcontentsline| command adds an entry to the specified
+ list or table where:
+{file} is the extension of the file on which information is to be
+ written:
+ toc (table of contents),
+ lof (list of figures),
+ lot (list of tables).
+{secunit} controls the formatting of the entry. It should be one of the
+ following, depending upon the value of the file argument:
+ toc -- the name of the sectional unit, such as part or
+ subsection.
+ lof -- figure
+ lot -- table
+{entry} is the text of the entry.
+
+\addtocontents{file}{text} *\addtocontents*
+ The |\addtocontents| command adds text (or formatting commands)
+ directly to the file that generates the table of contents or
+ list of figures or tables.
+{file} is the extension of the file on which information is to be written:
+ toc (table of contents),
+ lof (list of figures),
+ lot (list of tables).
+{text} is the information to be written.
+
+==============================================================================
+23. Terminal Input/Output *latex-terminal*
+
+|\typein| Read text from the terminal.
+|\typeout| Write text to the terminal.
+
+\typein[cmd]{msg} *\typein*
+ Prints {msg} on the terminal and causes LaTeX to stop and wait
+ for you to type a line of input, ending with return. If the
+ [cmd] argument is missing, the typed input is processed as if
+ it had been included in the input file in place of the
+ |\typein| command. If the [cmd] argument is present, it must be
+ a command name. This command name is then defined or redefined
+ to be the typed input.
+
+\typeout{msg} *\typeout*
+ Prints {msg} on the terminal and in the `.log' file. Commands
+ in {msg} that are defined with |\newcommand| or |\renewcommand|
+ are replaced by their definitions before being printed.
+
+ *\space*
+LaTeX's usual rules for treating multiple spaces as a single space and
+ignoring spaces after a command name apply to {msg}. A |\space| command in {msg}
+causes a single space to be printed. A ^^J in {msg} prints a newline.
+
+==============================================================================
+24. Typefaces *latex-typefaces*
+
+The typeface is specified by giving the "size" and "style". A typeface is also
+called a "font".
+|font-styles| Select roman, italics etc.
+|font-size| Select point size.
+|font-lowlevelcommands| Commands for wizards.
+
+Styles *font-styles*
+
+The following type style commands are supported by LaTeX.
+
+These commands are used like: >
+ \textit{italics text}.
+The corresponding command in parenthesis is the "declaration form", which
+takes no arguments. The scope of the declaration form lasts until the next
+type style command or the end of the current group.
+
+The declaration forms are cumulative; i.e., you can say: >
+ \sffamily\bfseries
+to get sans serif boldface.
+
+You can also use the environment form of the declaration forms; e.g.: >
+ \begin{ttfamily}...\end{ttfamily}.
+<
+\textrm (\rmfamily) *\textrm* *\rmfamily*
+ Roman
+
+\textit (\itshape) *\textit* *\itshape* *\emph*
+ Emphasis (toggles between |\textit| and |\textrm|).
+
+\textmd (\mdseries) *\textmd* *\mdseries*
+ Medium weight (default). The opposite of boldface.
+
+\textbf (\bfseries) *\textbf* *\bfseries*
+ Boldface.
+
+\textup (\upshape) *\textup* *\upshape*
+ Upright (default). The opposite of slanted.
+
+\textsl (\slshape) *\textsl* *\slshape*
+ Slanted.
+
+\textsf (\sffamily) *\textsf* *\sffamily*
+ Sans serif.
+
+\textsc (\scshape) *\textsc* *\scshape*
+ Small caps.
+
+\texttt (\ttfamily) *\texttt* *\ttfamily*
+ Typewriter.
+
+\textnormal (\normalfont) *\textnormal* *\normalfont*
+ Main document font.
+
+\mathrm *\mathrm*
+ Roman, for use in math mode.
+
+\mathbf *\mathbf*
+ Boldface, for use in math mode.
+
+\mathsf *\mathsf*
+ Sans serif, for use in math mode.
+
+\mathtt *\mathtt*
+ Typewriter, for use in math mode.
+
+\mathit *\mathit*
+ Italics, for use in math mode, e.g. variable names with
+ several letters.
+
+\mathnormal *\mathnormal*
+ For use in math mode, e.g. inside another type style
+ declaration.
+
+\mathcal *\mathcal*
+ `Calligraphic' letters, for use in math mode.
+
+ *\mathversion*
+In addition, the command \mathversion{bold} can be used for switching to bold
+letters and symbols in formulas. \mathversion{normal} restores the default.
+
+==========
+Sizes *font-size*
+
+The following standard type size commands are supported by LaTeX.
+
+The commands as listed here are "declaration forms". The scope of the
+declaration form lasts until the next type style command or the end of the
+current group.
+
+You can also use the environment form of these commands; e.g. >
+ \begin{tiny}...\end{tiny}
+
+\tiny *\tiny*
+\scriptsize *\scriptsize*
+\footnotesize *\footnotesize*
+\small *\small*
+\normalsize(default) *\normalsize*
+\large *\large*
+\Large *\Large*
+\LARGE *\LARGE*
+\huge *\huge*
+\Huge *\Huge*
+
+==========
+Low-level font commands *font-lowlevelcommands*
+
+These commands are primarily intended for writers of macros and packages. The
+commands listed here are only a subset of the available ones. For full
+details, you should consult Chapter 7 of The LaTeX Companion.
+
+\fontencoding{enc} *\fontencoding*
+ Select font encoding. Valid encodings include OT1 and T1.
+
+\fontfamily{family} *\fontfamily*
+ Select font family. Valid families include:
+ cmr for Computer Modern Roman
+ cmss for Computer Modern Sans Serif
+ cmtt for Computer Modern Typewriter
+ and numerous others.
+
+\fontseries{series} *\fontseries*
+ Select font series. Valid series include:
+ m Medium (normal)
+ b Bold
+ c Condensed
+ bc Bold condensed
+ bx Bold extended
+ and various other combinations.
+
+\fontshape{shape} *\fontshape*
+ Select font shape. Valid shapes are:
+ n Upright (normal)
+ it Italic
+ sl Slanted (oblique)
+ sc Small caps
+ ui Upright italics
+ ol Outline
+ The two last shapes are not available for most font families.
+
+\fontsize{size}{skip} *\fontsize*
+ Set font size. The first parameter is the font size to switch
+ to; the second is the \baselineskip to use. The unit of both
+ parameters defaults to pt. A rule of thumb is that the
+ baselineskip should be 1.2 times the font size.
+
+\selectfont *\selectfont*
+ The changes made by calling the four font commands described
+ above do not come into effect until |\selectfont| is called.
+
+\usefont{enc}{family}{series}{shape} *\usefont*
+ Equivalent to calling |\fontencoding|, |\fontfamily|,
+ |\fontseries| and |\fontshape| with the given parameters,
+ followed by |\selectfont|.
+
+==============================================================================
+25. Parameters *latex-parameters*
+
+The input file specification indicates the file to be formatted; TeX uses
+`.tex' as a default file extension. If you omit the input file entirely, TeX
+accepts input from the terminal. You specify command options by supplying a
+string as a parameter to the command; e.g. >
+
+ latex "\scrollmode\input foo.tex"
+
+will process `foo.tex' without pausing after every error.
+
+Output files are always created in the current directory. When you fail to
+specify an input file name, TeX bases the output names on the file
+specification associated with the logical name TEX_OUTPUT, typically
+texput.log.
+
+ vim:tw=78:ts=8:ft=help:norl:
diff --git a/dot_vim/doc/ps_color.txt b/dot_vim/doc/ps_color.txt
new file mode 100644
index 0000000..caf6a4a
--- /dev/null
+++ b/dot_vim/doc/ps_color.txt
@@ -0,0 +1,585 @@
+*ps_color.txt* PSC For Vim version 6.3 Last change: 17 November 2004
+
+
+PERSONAL COLOUR SWITCHER *ps_colour* *pscolor*
+
+
+Author: Pan, Shizhu. <dicpan> at <hotmail o com> >
+ (prepend '[VIM]' in the title or your mail may be silently removed.)
+<
+==============================================================================
+CONTENTS *psc* *psc-contents*
+
+ 1. Contents.....................|psc-contents|
+ 2. PSC Overview.................|psc-overview|
+ 3. PSC Installation.............|psc-usage|
+ 4. PSC Options..................|psc-options|
+ 5. PSC under color term ........|psc-cterm|
+ 6. PSC FAQ and Tips ............|psc-faq|
+ 7. PSC Release notes............|psc-release-notes|
+ 8. PSC Todo List................|psc-todo|
+
+For release notes, please see the header of ps_color.vim
+
+==============================================================================
+PSC FEATURES OVERVIEW *psc-features* *psc-overview*
+
+ Features ~
+
+ . PSC is firstly a color scheme which have both dark and light
+ background styles.
+ . It can have the same appearance in [cterm] as in [gui].
+ . It is designed with gentle color to minimize fatigue of eye.
+ . It also works with other color schemes.
+ . Default foreground and background can easily be changed, it is more
+ configurable than most other color schemes
+ . Works with the optional tool reloaded.vim, can change the whole
+ color scheme in Hue,Saturation,Luminance color space.
+
+ Design Concern ~
+
+ At the first glance this color scheme may look pretty 'dull', don't be
+ afraid, this is quite normal. Bear in mind that a text editor is not
+ a photo album, if a text editor looks exciting you may not be able to
+ stare at it for a long time.
+
+ Predefined Vim Syntax highlighting can be too colorful or contrasty so
+ that many programmers prefer to switch off the syntax highlighting at
+ work. That is not a good idea because you will lost the advantages of
+ syntax high-lighting. It is often the case that we have to work for
+ 300+ minutes, then I decide to do-it-myself.
+
+ Many user-defined color schemes in vim.sf.net tend to achieve low
+ contrast by having a strong color-cast, i.e. looks blueish or
+ yellowish or reddish. This does look comfortable at first, however,
+ any type of color-cast will cause the eyes less sensitive for
+ particular color after a long-time work session, and that's no good to
+ health.
+
+ Efforts had been made to ensure no color-cast for this scheme, all
+ elementary colors like RGB and CYMK are evenly used. Like TeX,
+ 'consistency' is the principle this color scheme based on. Default
+ values which hurt consistency are amended according to the vim script
+ syntax/hitest.vim
+
+ There are 3 parameters to describe a color: Hue, Saturation and
+ Brightness. In this color scheme, the saturation is low and the
+ brightness are designed to be very close to each other in order not to
+ fatigue our eyes after a whole day's programming work.
+
+ Portability ~
+
+ Different monitor settings led to different look. In this color
+ scheme, it is assumed that the monitor adjust at 6500k color
+ temperature with a good gamma curve. If you have a 9300k monitor or
+ if the gamma curve is not optimal, the appearance may be less
+ comfortable, use adobe gamma loader or similar tools to adjust
+ your monitor if your monitor do not have the option to change color
+ temperature and/or gamma curve.
+
+ Needless to say, VI is an editor originally designed to do edit tasks
+ in a text terminal, and VIM is an improved version of VI. Its a shame
+ that a color scheme cannot have a satisfactory appearance in cterm.
+ The cterm compatibility should be considered high priority when
+ designing ViM color scheme.
+
+ I had made much attempt to make support for 8-color terminals,
+ however, 8 colors is not enough to represent a color scheme. Finally
+ I end up making the cterm support for 16-color terminal. Have to say
+ sorry if the color scheme sucks in your 8-color terminal, I had tried
+ my best. More details about cterm please see |psc-cterm|.
+
+ *psc-about-background*
+ About the Background ~
+
+ We have talked about off-white backgrounds, any background which is
+ not black, grey or white should be changed constantly in order not to
+ make the eyes less sensitive to particular color. i.e. you can use
+ blue background on Monday, red background on Tuesday, green background
+ on Wednesday, but if you use blue background everyday, that's no good
+ to your health.
+
+ Now we talk about the brightness of the background. Why dark
+ background is preferred over others? There are many reasons, such as,
+ the monitor emits lower radiation for black background. You may have
+ lots of similar reasons...
+
+ But I'll talk about something you may not know:
+>
+ It is easier to distinguish foreground colors on a dark background
+ than on a light background.
+
+ At the same time, it is easier to distinguish background colors on
+ a light background than on a dark background.
+
+ We will mainly change foreground colors for syntax highlighting.
+<
+ Hence, we can reduce the contrast and saturation of the color in
+ a dark-background scheme, while retain the readability. Schemes with
+ white background usually comes with higher contrast and saturation.
+ This is probably the most important reason that the color scheme is
+ designed to be dark-background instead of light one.
+
+ Now we came to know, that change the foreground color is enough to
+ emphasis text in a dark background, while for a white background, we
+ need to change the font shape (bold or italic, etc.), or change the
+ background color to effectively emphasis the text. This is probably
+ the reason Vim default scheme has bold properties for highlighting
+ groups, because the default scheme is a light background one.
+
+ No one knows what color scheme is best for you, except yourself. Try!
+
+==============================================================================
+PSC INSTALLATION *psc-usage*
+
+ Step 1, Enable the color scheme ~
+
+ To use PSC is simple, just put ps_color.vim into your
+ [runtimepath]/colors and append the line >
+
+ colorscheme ps_color
+<
+ to your |.vimrc|. The [runtimepath] can be any directory listed in
+ |vimfiles|, normally your $HOME/.vim in Unix or $HOME/vimfiles in
+ Windows.
+
+ Step 2, Install the help document ~
+
+ The help document will be automatically installed when the colorscheme
+ be sourced the first time. If it is not, type :colo ps_color now.
+
+ After successfully installed the help document, you can use >
+
+ :help psc-options
+<
+ to go to the following section.
+
+==============================================================================
+PSC OPTIONS *psc-options*
+
+ You can let these options in your ~/.vimrc, most options works for
+ both GUI and cterm, only some of them do not work for both.
+
+ Options set using the 'let' command must present [BEFORE] the color
+ scheme been sourced.
+
+ *psc_style*
+ Style ~
+>
+ let psc_style='cool'
+ let psc_style='warm'
+ let psc_style='default'
+ let psc_style='defdark'
+<
+ This selects between styles of colors,
+ The 'cool' is the default, dark background.
+ The 'warm' is the experimental, light background scheme.
+
+ See |psc-about-background| for more knowledge about the background,
+ and the differences of two style.
+
+ The 'default' and 'defdark' refers to Vim system default color scheme.
+ Which are provided only for reference.
+
+ Let psc_style to any string other than the above 4 will switch to the
+ specified color scheme. For example, let psc_style='desert' and then
+ activate the ps_color, the color scheme will be chosen according to
+ desert.vim color scheme.
+
+ *psc_cterm_style*
+ Color Term Style ~
+>
+ let psc_cterm_style='cool'
+<
+ This is exactly the same to psc_style, except that it only affects the
+ console version of vim in a color terminal, the 'warm' is not
+ available for cterm.
+ By default, it will be set to the same value as 'psc_style'. You can
+ change it if you want different style in cterm from gui.
+
+
+ *psc_fontface*
+ Font face ~
+>
+ let psc_fontface='plain'
+ let psc_fontface='mixed'
+<
+ The Vim default behavior is the 'mixed', however, the mixed font style
+ in a dark colorscheme is not optimal. This color uses 'plain' for
+ 'cool' style, i.e. No texts are bolded font. For 'warm', the default
+ is still 'mixed', If you want the mixed style in which the highlighted
+ statements are bolded font, choose this. If you want all texts be
+ bolded, choose 'plain' and specify a bolded guifont or terminal font.
+
+ In GUI, this option also works for other color schemes. You can
+ disable the bold font and use your favorite color scheme. See
+ |psc-faq-ffothers| for detail.
+
+ *psc_inversed_todo*
+ Inversed Todo ~
+>
+ let psc_inversed_todo=1
+<
+ When set to 1, the TODO group will be dark background with light font,
+ Otherwise, the TODO group have light background with dark foreground.
+ Default is 0.
+
+ *psc_use_default_for_cterm*
+ Use default for cterm (obsoleted)~
+
+ This option is Obsoleted, retained only for backward compatibility,
+ see |psc_cterm_style| for alternative.
+
+ *psc_statement_different_from_type*
+ Statement different from type ~
+>
+ let psc_statement_different_from_type=1
+<
+ The Statement-group and Type-group are easy to distinguish, different
+ color for them are not necessary, I use similar color for S-group
+ & T-group in order not to make the screen too 'colorful', also this
+ saves a color name for cterm. But if you do want the Statement & Type
+ to be different color, try 'let statement_different_from_type=1' in
+ your .vimrc file, which is available only for GUI. Since the color
+ names in cterm is limited to 16 we cannot have too many different
+ colors in cterm.
+ Default is 0, i.e. they have very similar color.
+
+ *psc-change-background*
+ Changing the Background color ~
+
+ You may prefer a dark background over pure black one, and it is
+ possible to change the background, this may make life more interesting.
+ To do this is quite straight forward for GUI, just define the Normal
+ highlight in your .gvimrc, [AFTER] the color scheme has been sourced.
+
+ For example:
+>
+ highlight Normal guibg=#103040
+<
+ The #103040 will give a taste similar to oceandeep, #152535 for
+ hhazure, #303030 for desert, #404040 for zenburn... Replace #103040
+ with any color you like. You can do the same to guifg foreground if
+ you are careful enough, remember this is only possible with ps_color
+ version 2.7 or above, and only possible for GUI.
+
+ You can do this to the NonText group also, for example.
+>
+ highlight NonText guibg=#202020
+<
+ will give you a taste similar to most color schemes on vim.sf.net, in
+ which the NonText has a different background than Normal text.
+ However, this is only useful in GUI, in cterm, there are only
+ 8 background colors, so it is wise not to have a different color.
+
+ If you want more variations, please try the optional utility
+ reloaded.vim, this optional utility provides an amazing level of
+ customization.
+
+ Quick switching between warm and cold styles ~
+
+ Here is an example to define hot key of different style switching,
+ note that I had only given this example without actually define it.
+ You can choose to define it in .vimrc or anyway you prefer.
+>
+ nnoremap <Leader>pc :let psc_style='cool'<CR>:colo ps_color<CR>
+ nnoremap <Leader>pw :let psc_style='warm'<CR>:colo ps_color<CR>
+<
+ Alternatively, you can use the capitalized :Colo command, like
+ :Colo cool or :Colo warm
+
+==============================================================================
+PSC WITH CTERM *psc-cterm*
+
+ Colour Term ~
+
+ The cterm color is designed mainly in these terminals:
+>
+ 1. Cygwin bash shell in NT command prompt box
+ 2. XTERM and RXVT
+ 3. Other color terminals which have at least 16 colors
+<
+ *psc-cterm-nt*
+ In Windows NT Prompt console you can change the exact value of each
+ color, so you can have the same color with your GUI version of Vim,
+ for 'cool' color style you just change the color according to the
+ |psc-cterm-color-table|, for how to redefine the color of Windows NT
+ prompt console please see Windows Help.
+
+ NT Cygwin bash shell console supports 16 foreground colors by add bold
+ attribute to 8 color, the cterm=bold specifies which should be bright
+ color, so totally the 16 color foreground is available, but color
+ name DarkXXX and LightXXX are the same.
+
+ The pre-configured Cygwin.lnk is available for download on my web page
+ for Vim, but the site seems down, if my site would be on again, it
+ should be at the following URL: >
+ http://poet.tomud.com/pub/Cygwin.lnk.gz
+<
+ Cygwin is highly recommended for Vim user if you are using Windows NT
+ based systems (e.g. NT 4.0, Win2k, WinXP, Win2003, etc). But Cygwin is
+ not that versatile under Windows 95/98/ME. I'm not sure whether this
+ works for DOS DJGPP or Windows 95 console version of Vim because
+ I don't have the system, in case you encountered problem please
+ contact me, if you like.
+
+ *psc-cterm-xterm*
+ XTERM is a much more feature-rich terminal than Windows Console so the
+ support is much better, add the following recommend line into your
+ .Xdefaults and you can achieve the same color as in GUI version.
+
+ Add the following into your .Xdefaults:
+ This works for XTERM and RXVT.
+>
+ XTerm*color0: #000000
+ XTerm*color1: #800000
+ XTerm*color2: #008000
+ XTerm*color3: #d0d090
+ XTerm*color4: #000080
+ XTerm*color5: #800080
+ XTerm*color6: #a6caf0
+ XTerm*color7: #d0d0d0
+ XTerm*color8: #b0b0b0
+ XTerm*color9: #f08060
+ XTerm*color10: #60f080
+ XTerm*color11: #e0c060
+ XTerm*color12: #80c0e0
+ XTerm*color13: #f0c0f0
+ XTerm*color14: #c0d8f8
+ XTerm*color15: #e0e0e0
+ XTerm*cursorColor: #00f000
+
+ ! The following are recommended but optional
+ XTerm*reverseVideo: False
+ XTerm*background: #000000
+ XTerm*foreground: #d0d0d0
+ XTerm*boldMode: False
+<
+ There is an assumption that your RXVT or XTERM supports 16 colors,
+ most RXVTs and XTERMs support this, if yours do not, get a source of
+ RXVT and recompile it.
+
+ Sometimes the color mode are not recognized well, or you do not want
+ bright foreground be bolded. If this is the case, add the following in
+ your .vimrc (before the color scheme been sourced)
+>
+ if &term=='xterm' " Change 'xterm' to your term name if necessary
+ set t_Co=16
+ endif
+<
+ If the t_Co=16 have problem, set t_Co=8 and :colo ps_color again.
+ vice versa.
+
+ My rxvt works well with t_Co=16: >
+ Rxvt v2.7.10 - released: 26 MARCH 2003
+ Options:
+ XPM,transparent,utmp,menubar,frills,linespace,multichar_languages,
+ scrollbars=rxvt+NeXT+xterm,.Xdefaults
+< But I've know that my rxvt v2.6.4 in another machine has problem with
+ t_Co=16, if that is the case, set t_Co=8 instead.
+
+ *psc-cterm-others*
+ For other terminals, you can manually set the color according to the
+ following table
+
+ Hints for Manually set the color (for 'cool' style only):
+ *psc-cterm-color-table*
+ Color name Hex value Decimal value ~
+ 0 Black = #000000 0,0,0
+ 4 DarkBlue = #000080 0,0,128
+ 2 DarkGreen = #008000 0,128,0
+ 6 DarkCyan = #a6caf0 166,202,240
+ 1 DarkRed = #800000 128,0,0
+ 5 DarkMagenta = #800080 128,0,128
+ 3 DarkYellow = #d0d090 208,208,144
+ 7 Grey = #d0d0d0 208,208,208
+ 8 DarkGrey = #b0b0b0 176,176,176
+ 12 Blue = #80c0e0 128,192,224
+ 10 Green = #60f080 96,240,128
+ 14 Cyan = #c0d8f8 192,216,248
+ 9 Red = #f08060 240,128,96
+ 13 LMag. = #f0c0f0 240,192,240
+ 11 Yellow = #e0c060 224,192,96
+ 15 White = #e0e0e0 224,224,224
+
+ *psc-cterm-incompatible*
+ If your color terminal does only have 8 colors and cannot achieve 16
+ colors with cterm=bold, you may want to switch to other color schemes
+ to gain more readability. Anyway, you can specify in your .vimrc to
+ use different color scheme under different consoles and GUI.
+ For example:
+>
+ let psc_cterm_style = 'foobarcolor'
+ let psc_style = 'cool'
+ colo ps_color
+<
+ The 'foobarcolor' means the color scheme you want to choose, such as
+ 'desert', I recommend to try vim default schemes 'default' and
+ 'defdark' before experience others.
+
+==============================================================================
+PSC FAQ AND TIPS *psc-faq* *psc-tips*
+>
+ Q: What is meant by `PS' ?
+<
+ A: PS means: PostScript, PhotoShop, PerSonal, ... or anything you can
+ imagine and anything you want it do be.
+>
+ Q: How to obtain the same appreance as gui in color term?
+<
+ A: This need some work around, see |psc-cterm| for details.
+ Generally speaking, you should ensure your color term has support
+ for 16 foreground colors, and each color is customizable.
+
+ *psc-faq-ffothers* >
+ Q: How to use psc_fontface with other colorschemes?
+<
+ A: Make sure you had sourced :colo ps_color in your .vimrc, then you
+ can use the Capitalized :Colo instead of :colo
+ e.g. you want to use 'murphy', just type :Colo murphy after you
+ sourced the ps_color, the 'defdark', 'cool', 'warm' can also be
+ used here.
+>
+ Q: I updated from v2.0 to v2.3 or above, why the cterm color scheme
+ for Comment is different?
+<
+ A: The color map of DarkYellow and Yellow have been exchanged,
+ You need to reconfigure your terminal to meet the change,
+ see |psc-cterm-color-table| for guide, or if you are using xterm
+ compatible terminal, just update the .XDefaults according to
+ |psc-cterm-xterm|.
+>
+ Q: What do you mean by 'Vanilla Windows'?
+<
+ A: People often argue that Windows is not a REAL operating system.
+ Well, I agree this, but only for vanilla windows. i.e. with no
+ plug-ins installed. Vanilla windows is a very limited platform,
+ since it is not POSIX compliant.
+
+ There are currently many working around to make Windows POSIX
+ Compliant, do you still mind which OS to use when it is POSIX
+ Compliant? I don't. If you installed Cygwin kernel in your
+ NT-based Windows, the Windows will be more or less POSIX compliant
+ and you can use it in the same way as you use any Unix, BSD,
+ Solaris, Linux, XWindow, etc... What is more, Cygwin is not the
+ only kernel which makes Windows POSIX Compliant, make a google
+ search and you will find many alternatives.
+>
+ Q: How to change the Normal background color? Why don't you use
+ different background for NonText group?
+<
+ A: This is for compatibility, since we have to use only 8 colors as
+ background in a color terminal. For GUI you can change this, see
+ |psc-change-background| for details.
+
+==============================================================================
+PSC RELEASE NOTES *psc-release-notes*
+
+ 2.82 Release Note: ~
+
+ Fixed bug with the reversed group for the Vim default, or other
+ schemes.
+
+ Fixed bug with the Diff mode fg mistaken as fg.
+
+ Shrink the script a lot to improve load performance, moved the release
+ notes into document.
+
+ Change the default gui background color to #202020 (Dark Grey)
+
+
+ 2.81 Release Note: ~
+
+ Provided a separate utility reloaded.vim to fine tune the GUI color
+ scheme based on Hue, Saturation and Brightness(Luminance).
+
+ Added some groups to meet the need of reloaded.vim, no essential
+ change.
+
+ 2.8 Release Note: ~
+
+ Bugfix : when psc_style=='mixed', the visual got reversed wrong.
+
+ 'mixed' is now the default for 'warm' style.
+
+ changed the function name to lower case.
+
+ removed pre-2.0 compatibility, (the non-psc version of s-d-f-t).
+
+ Added variable psc_cterm_style, see |psc_cterm_style|
+
+ Added group Underline
+
+ Tuned the function call.
+
+ 2.7 Release Note: ~
+
+ Now it is possible to change the Background,
+ see :h psc-change-background for details.
+
+ Linked the Tag group to Identifier.
+
+ NonText as Notice is not good for 'warm', changed to Constant.
+
+ Added links for the most popular plugins: taglist, calendar
+
+ Tuned the 'Statement' color when different from Type (gui only).
+
+ Re-adjusted cterm scheme according to syntax/hitest.vim
+
+ The 'defdark' style for cterm is not functioning, fixed.
+
+ Many 'cosmetic' changes, makes no difference for functionality.
+
+ Use of DrChip's help extractor to auto-install help document.
+
+ Added command define, :Colo
+
+ 2.6 Release Note: ~
+
+ As stated in the v2.3, the only 'todo' thing seems to be the 'warm'
+ style, now in this version I had been working on it.
+
+ There also are some minor fixes for the document, to be more friendly
+ for new readers.
+
+ The 'StatusLine' of 'cold' style is modified by mistake in the v2.3,
+ this time the bug is fixed.
+
+ The 'Directory' in GUI 'cold' style is different from 'cterm' one,
+ now fixed.
+
+ 2.3 Release Note: ~
+
+ This is an incompatible update, main changes are in 'cterm'.
+ A new group 'SignColumn' had been added, new links added for engspchk
+ v52, hundreds of typos fixed in the document, thanks to the engspchk.
+
+ The support for 8-color cterm is slightly better now, but the mappings
+ of the DarkYellow and Yellow are exchanged, you need to update the
+ .Xdefaults or your terminal configuration before apply this update if
+ you are using v2.0. Guide for redefinition the color value is
+ available in the document, make sure you had updated the ps_color.txt,
+ then see |psc-cterm-color-table|
+
+ 2.0 Release Note: ~
+
+ There've been great enhancement since this version, so I'd choose to
+ bump the version number to 2. This version comes with Vim online help,
+ if you had installed ps_color.txt, you can see for details in
+ |pscolor|
+
+ n/a Release: ~
+
+ Initial upload, can be called as v1.8
+
+
+==============================================================================
+PSC TODO LIST *psc-todo*
+
+ . Fix the remain bugs.
+ . Follow the new Vim versions for new added highlighting group
+
+==============================================================================
+
+vim:tw=78:ts=8:noet:ft=help:fo+=t:norl:noet:
diff --git a/dot_vim/doc/taglist.txt b/dot_vim/doc/taglist.txt
new file mode 100755
index 0000000..6a62b39
--- /dev/null
+++ b/dot_vim/doc/taglist.txt
@@ -0,0 +1,1501 @@
+*taglist.txt* Plugin for browsing source code
+
+Author: Yegappan Lakshmanan (yegappan AT yahoo DOT com)
+For Vim version 6.0 and above
+Last change: 2007 May 24
+
+1. Overview |taglist-intro|
+2. Taglist on the internet |taglist-internet|
+3. Requirements |taglist-requirements|
+4. Installation |taglist-install|
+5. Usage |taglist-using|
+6. Options |taglist-options|
+7. Commands |taglist-commands|
+8. Global functions |taglist-functions|
+9. Extending |taglist-extend|
+10. FAQ |taglist-faq|
+11. License |taglist-license|
+12. Todo |taglist-todo|
+
+==============================================================================
+ *taglist-intro*
+1. Overview~
+
+The "Tag List" plugin is a source code browser plugin for Vim. This plugin
+allows you to efficiently browse through source code files for different
+programming languages. The "Tag List" plugin provides the following features:
+
+ * Displays the tags (functions, classes, structures, variables, etc.)
+ defined in a file in a vertically or horizontally split Vim window.
+ * In GUI Vim, optionally displays the tags in the Tags drop-down menu and
+ in the popup menu.
+ * Automatically updates the taglist window as you switch between
+ files/buffers. As you open new files, the tags defined in the new files
+ are added to the existing file list and the tags defined in all the
+ files are displayed grouped by the filename.
+ * When a tag name is selected from the taglist window, positions the
+ cursor at the definition of the tag in the source file.
+ * Automatically highlights the current tag name.
+ * Groups the tags by their type and displays them in a foldable tree.
+ * Can display the prototype and scope of a tag.
+ * Can optionally display the tag prototype instead of the tag name in the
+ taglist window.
+ * The tag list can be sorted either by name or by chronological order.
+ * Supports the following language files: Assembly, ASP, Awk, Beta, C,
+ C++, C#, Cobol, Eiffel, Erlang, Fortran, HTML, Java, Javascript, Lisp,
+ Lua, Make, Pascal, Perl, PHP, Python, Rexx, Ruby, Scheme, Shell, Slang,
+ SML, Sql, TCL, Verilog, Vim and Yacc.
+ * Can be easily extended to support new languages. Support for
+ existing languages can be modified easily.
+ * Provides functions to display the current tag name in the Vim status
+ line or the window title bar.
+ * The list of tags and files in the taglist can be saved and
+ restored across Vim sessions.
+ * Provides commands to get the name and prototype of the current tag.
+ * Runs in both console/terminal and GUI versions of Vim.
+ * Works with the winmanager plugin. Using the winmanager plugin, you
+ can use Vim plugins like the file explorer, buffer explorer and the
+ taglist plugin at the same time like an IDE.
+ * Can be used in both Unix and MS-Windows systems.
+
+==============================================================================
+ *taglist-internet*
+2. Taglist on the internet~
+
+The home page of the taglist plugin is at:
+>
+ http://vim-taglist.sourceforge.net/
+<
+You can subscribe to the taglist mailing list to post your questions or
+suggestions for improvement or to send bug reports. Visit the following page
+for subscribing to the mailing list:
+>
+ http://groups.yahoo.com/group/taglist
+<
+==============================================================================
+ *taglist-requirements*
+3. Requirements~
+
+The taglist plugin requires the following:
+
+ * Vim version 6.0 and above
+ * Exuberant ctags 5.0 and above
+
+The taglist plugin will work on all the platforms where the exuberant ctags
+utility and Vim are supported (this includes MS-Windows and Unix based
+systems).
+
+The taglist plugin relies on the exuberant ctags utility to dynamically
+generate the tag listing. The exuberant ctags utility must be installed in
+your system to use this plugin. The exuberant ctags utility is shipped with
+most of the Linux distributions. You can download the exuberant ctags utility
+from
+>
+ http://ctags.sourceforge.net
+<
+The taglist plugin doesn't use or create a tags file and there is no need to
+create a tags file to use this plugin. The taglist plugin will not work with
+the GNU ctags or the Unix ctags utility.
+
+This plugin relies on the Vim "filetype" detection mechanism to determine the
+type of the current file. You have to turn on the Vim filetype detection by
+adding the following line to your .vimrc file:
+>
+ filetype on
+<
+The taglist plugin will not work if you run Vim in the restricted mode (using
+the -Z command-line argument).
+
+The taglist plugin uses the Vim system() function to invoke the exuberant
+ctags utility. If Vim is compiled without the system() function then you
+cannot use the taglist plugin. Some of the Linux distributions (Suse) compile
+Vim without the system() function for security reasons.
+
+==============================================================================
+ *taglist-install*
+4. Installation~
+
+1. Download the taglist.zip file and unzip the files to the $HOME/.vim or the
+ $HOME/vimfiles or the $VIM/vimfiles directory. After this step, you should
+ have the following two files (the directory structure should be preserved):
+
+ plugin/taglist.vim - main taglist plugin file
+ doc/taglist.txt - documentation (help) file
+
+ Refer to the |add-plugin|and |'runtimepath'| Vim help pages for more
+ details about installing Vim plugins.
+2. Change to the $HOME/.vim/doc or $HOME/vimfiles/doc or $VIM/vimfiles/doc
+ directory, start Vim and run the ":helptags ." command to process the
+ taglist help file. Without this step, you cannot jump to the taglist help
+ topics.
+3. If the exuberant ctags utility is not present in one of the directories in
+ the PATH environment variable, then set the 'Tlist_Ctags_Cmd' variable to
+ point to the location of the exuberant ctags utility (not to the directory)
+ in the .vimrc file.
+4. If you are running a terminal/console version of Vim and the terminal
+ doesn't support changing the window width then set the
+ 'Tlist_Inc_Winwidth' variable to 0 in the .vimrc file.
+5. Restart Vim.
+6. You can now use the ":TlistToggle" command to open/close the taglist
+ window. You can use the ":help taglist" command to get more information
+ about using the taglist plugin.
+
+To uninstall the taglist plugin, remove the plugin/taglist.vim and
+doc/taglist.txt files from the $HOME/.vim or $HOME/vimfiles directory.
+
+==============================================================================
+ *taglist-using*
+5. Usage~
+
+The taglist plugin can be used in several different ways.
+
+1. You can keep the taglist window open during the entire editing session. On
+ opening the taglist window, the tags defined in all the files in the Vim
+ buffer list will be displayed in the taglist window. As you edit files, the
+ tags defined in them will be added to the taglist window. You can select a
+ tag from the taglist window and jump to it. The current tag will be
+ highlighted in the taglist window. You can close the taglist window when
+ you no longer need the window.
+2. You can configure the taglist plugin to process the tags defined in all the
+ edited files always. In this configuration, even if the taglist window is
+ closed and the taglist menu is not displayed, the taglist plugin will
+ processes the tags defined in newly edited files. You can then open the
+ taglist window only when you need to select a tag and then automatically
+ close the taglist window after selecting the tag.
+3. You can configure the taglist plugin to display only the tags defined in
+ the current file in the taglist window. By default, the taglist plugin
+ displays the tags defined in all the files in the Vim buffer list. As you
+ switch between files, the taglist window will be refreshed to display only
+ the tags defined in the current file.
+4. In GUI Vim, you can use the Tags pull-down and popup menu created by the
+ taglist plugin to display the tags defined in the current file and select a
+ tag to jump to it. You can use the menu without opening the taglist window.
+ By default, the Tags menu is disabled.
+5. You can configure the taglist plugin to display the name of the current tag
+ in the Vim window status line or in the Vim window title bar. For this to
+ work without the taglist window or menu, you need to configure the taglist
+ plugin to process the tags defined in a file always.
+6. You can save the tags defined in multiple files to a taglist session file
+ and load it when needed. You can also configure the taglist plugin to not
+ update the taglist window when editing new files. You can then manually add
+ files to the taglist window.
+
+Opening the taglist window~
+You can open the taglist window using the ":TlistOpen" or the ":TlistToggle"
+commands. The ":TlistOpen" command opens the taglist window and jumps to it.
+The ":TlistToggle" command opens or closes (toggle) the taglist window and the
+cursor remains in the current window. If the 'Tlist_GainFocus_On_ToggleOpen'
+variable is set to 1, then the ":TlistToggle" command opens the taglist window
+and moves the cursor to the taglist window.
+
+You can map a key to invoke these commands. For example, the following command
+creates a normal mode mapping for the <F8> key to toggle the taglist window.
+>
+ nnoremap <silent> <F8> :TlistToggle<CR>
+<
+Add the above mapping to your ~/.vimrc or $HOME/_vimrc file.
+
+To automatically open the taglist window on Vim startup, set the
+'Tlist_Auto_Open' variable to 1.
+
+You can also open the taglist window on startup using the following command
+line:
+>
+ $ vim +TlistOpen
+<
+Closing the taglist window~
+You can close the taglist window from the taglist window by pressing 'q' or
+using the Vim ":q" command. You can also use any of the Vim window commands to
+close the taglist window. Invoking the ":TlistToggle" command when the taglist
+window is opened, closes the taglist window. You can also use the
+":TlistClose" command to close the taglist window.
+
+To automatically close the taglist window when a tag or file is selected, you
+can set the 'Tlist_Close_On_Select' variable to 1. To exit Vim when only the
+taglist window is present, set the 'Tlist_Exit_OnlyWindow' variable to 1.
+
+Jumping to a tag or a file~
+You can select a tag in the taglist window either by pressing the <Enter> key
+or by double clicking the tag name using the mouse. To jump to a tag on a
+single mouse click set the 'Tlist_Use_SingleClick' variable to 1.
+
+If the selected file is already opened in a window, then the cursor is moved
+to that window. If the file is not currently opened in a window then the file
+is opened in the window used by the taglist plugin to show the previously
+selected file. If there are no usable windows, then the file is opened in a
+new window. The file is not opened in special windows like the quickfix
+window, preview window and windows containing buffer with the 'buftype' option
+set.
+
+To jump to the tag in a new window, press the 'o' key. To open the file in the
+previous window (Ctrl-W_p) use the 'P' key. You can press the 'p' key to jump
+to the tag but still keep the cursor in the taglist window (preview).
+
+To open the selected file in a tab, use the 't' key. If the file is already
+present in a tab then the cursor is moved to that tab otherwise the file is
+opened in a new tab. To jump to a tag in a new tab press Ctrl-t. The taglist
+window is automatically opened in the newly created tab.
+
+Instead of jumping to a tag, you can open a file by pressing the <Enter> key
+or by double clicking the file name using the mouse.
+
+In the taglist window, you can use the [[ or <Backspace> key to jump to the
+beginning of the previous file. You can use the ]] or <Tab> key to jump to the
+beginning of the next file. When you reach the first or last file, the search
+wraps around and the jumps to the next/previous file.
+
+Highlighting the current tag~
+The taglist plugin automatically highlights the name of the current tag in the
+taglist window. The Vim |CursorHold| autocmd event is used for this. If the
+current tag name is not visible in the taglist window, then the taglist window
+contents are scrolled to make that tag name visible. You can also use the
+":TlistHighlightTag" command to force the highlighting of the current tag.
+
+The tag name is highlighted if no activity is performed for |'updatetime'|
+milliseconds. The default value for this Vim option is 4 seconds. To avoid
+unexpected problems, you should not set the |'updatetime'| option to a very
+low value.
+
+To disable the automatic highlighting of the current tag name in the taglist
+window, set the 'Tlist_Auto_Highlight_Tag' variable to zero.
+
+When entering a Vim buffer/window, the taglist plugin automatically highlights
+the current tag in that buffer/window. If you like to disable the automatic
+highlighting of the current tag when entering a buffer, set the
+'Tlist_Highlight_Tag_On_BufEnter' variable to zero.
+
+Adding files to the taglist~
+When the taglist window is opened, all the files in the Vim buffer list are
+processed and the supported files are added to the taglist. When you edit a
+file in Vim, the taglist plugin automatically processes this file and adds it
+to the taglist. If you close the taglist window, the tag information in the
+taglist is retained.
+
+To process files even when the taglist window is not open, set the
+'Tlist_Process_File_Always' variable to 1.
+
+You can manually add multiple files to the taglist without opening them using
+the ":TlistAddFiles" and the ":TlistAddFilesRecursive" commands.
+
+For example, to add all the C files in the /my/project/dir directory to the
+taglist, you can use the following command:
+>
+ :TlistAddFiles /my/project/dir/*.c
+<
+Note that when adding several files with a large number of tags or a large
+number of files, it will take several seconds to several minutes for the
+taglist plugin to process all the files. You should not interrupt the taglist
+plugin by pressing <CTRL-C>.
+
+You can recursively add multiple files from a directory tree using the
+":TlistAddFilesRecursive" command:
+>
+ :TlistAddFilesRecursive /my/project/dir *.c
+<
+This command takes two arguments. The first argument specifies the directory
+from which to recursively add the files. The second optional argument
+specifies the wildcard matching pattern for selecting the files to add. The
+default pattern is * and all the files are added.
+
+Displaying tags for only one file~
+The taglist window displays the tags for all the files in the Vim buffer list
+and all the manually added files. To display the tags for only the current
+active buffer, set the 'Tlist_Show_One_File' variable to 1.
+
+Removing files from the taglist~
+You can remove a file from the taglist window, by pressing the 'd' key when the
+cursor is on one of the tags listed for the file in the taglist window. The
+removed file will no longer be displayed in the taglist window in the current
+Vim session. To again display the tags for the file, open the file in a Vim
+window and then use the ":TlistUpdate" command or use ":TlistAddFiles" command
+to add the file to the taglist.
+
+When a buffer is removed from the Vim buffer list using the ":bdelete" or the
+":bwipeout" command, the taglist is updated to remove the stored information
+for this buffer.
+
+Updating the tags displayed for a file~
+The taglist plugin keeps track of the modification time of a file. When the
+modification time changes (the file is modified), the taglist plugin
+automatically updates the tags listed for that file. The modification time of
+a file is checked when you enter a window containing that file or when you
+load that file.
+
+You can also update or refresh the tags displayed for a file by pressing the
+"u" key in the taglist window. If an existing file is modified, after the file
+is saved, the taglist plugin automatically updates the tags displayed for the
+file.
+
+You can also use the ":TlistUpdate" command to update the tags for the current
+buffer after you made some changes to it. You should save the modified buffer
+before you update the taglist window. Otherwise the listed tags will not
+include the new tags created in the buffer.
+
+If you have deleted the tags displayed for a file in the taglist window using
+the 'd' key, you can again display the tags for that file using the
+":TlistUpdate" command.
+
+Controlling the taglist updates~
+To disable the automatic processing of new files or modified files, you can
+set the 'Tlist_Auto_Update' variable to zero. When this variable is set to
+zero, the taglist is updated only when you use the ":TlistUpdate" command or
+the ":TlistAddFiles" or the ":TlistAddFilesRecursive" commands. You can use
+this option to control which files are added to the taglist.
+
+You can use the ":TlistLock" command to lock the taglist contents. After this
+command is executed, new files are not automatically added to the taglist.
+When the taglist is locked, you can use the ":TlistUpdate" command to add the
+current file or the ":TlistAddFiles" or ":TlistAddFilesRecursive" commands to
+add new files to the taglist. To unlock the taglist, use the ":TlistUnlock"
+command.
+
+Displaying the tag prototype~
+To display the prototype of the tag under the cursor in the taglist window,
+press the space bar. If you place the cursor on a tag name in the taglist
+window, then the tag prototype is displayed at the Vim status line after
+|'updatetime'| milliseconds. The default value for the |'updatetime'| Vim
+option is 4 seconds.
+
+You can get the name and prototype of a tag without opening the taglist window
+and the taglist menu using the ":TlistShowTag" and the ":TlistShowPrototype"
+commands. These commands will work only if the current file is already present
+in the taglist. To use these commands without opening the taglist window, set
+the 'Tlist_Process_File_Always' variable to 1.
+
+You can use the ":TlistShowTag" command to display the name of the tag at or
+before the specified line number in the specified file. If the file name and
+line number are not supplied, then this command will display the name of the
+current tag. For example,
+>
+ :TlistShowTag
+ :TlistShowTag myfile.java 100
+<
+You can use the ":TlistShowPrototype" command to display the prototype of the
+tag at or before the specified line number in the specified file. If the file
+name and the line number are not supplied, then this command will display the
+prototype of the current tag. For example,
+>
+ :TlistShowPrototype
+ :TlistShowPrototype myfile.c 50
+<
+In the taglist window, when the mouse is moved over a tag name, the tag
+prototype is displayed in a balloon. This works only in GUI versions where
+balloon evaluation is supported.
+
+Taglist window contents~
+The taglist window contains the tags defined in various files in the taglist
+grouped by the filename and by the tag type (variable, function, class, etc.).
+For tags with scope information (like class members, structures inside
+structures, etc.), the scope information is displayed in square brackets "[]"
+after the tag name.
+
+The contents of the taglist buffer/window are managed by the taglist plugin.
+The |'filetype'| for the taglist buffer is set to 'taglist'. The Vim
+|'modifiable'| option is turned off for the taglist buffer. You should not
+manually edit the taglist buffer, by setting the |'modifiable'| flag. If you
+manually edit the taglist buffer contents, then the taglist plugin will be out
+of sync with the taglist buffer contents and the plugin will no longer work
+correctly. To redisplay the taglist buffer contents again, close the taglist
+window and reopen it.
+
+Opening and closing the tag and file tree~
+In the taglist window, the tag names are displayed as a foldable tree using
+the Vim folding support. You can collapse the tree using the '-' key or using
+the Vim |zc| fold command. You can open the tree using the '+' key or using
+the Vim |zo| fold command. You can open all the folds using the '*' key or
+using the Vim |zR| fold command. You can also use the mouse to open/close the
+folds. You can close all the folds using the '=' key. You should not manually
+create or delete the folds in the taglist window.
+
+To automatically close the fold for the inactive files/buffers and open only
+the fold for the current buffer in the taglist window, set the
+'Tlist_File_Fold_Auto_Close' variable to 1.
+
+Sorting the tags for a file~
+The tags displayed in the taglist window can be sorted either by their name or
+by their chronological order. The default sorting method is by the order in
+which the tags appear in a file. You can change the default sort method by
+setting the 'Tlist_Sort_Type' variable to either "name" or "order". You can
+sort the tags by their name by pressing the "s" key in the taglist window. You
+can again sort the tags by their chronological order using the "s" key. Each
+file in the taglist window can be sorted using different order.
+
+Zooming in and out of the taglist window~
+You can press the 'x' key in the taglist window to maximize the taglist
+window width/height. The window will be maximized to the maximum possible
+width/height without closing the other existing windows. You can again press
+'x' to restore the taglist window to the default width/height.
+
+ *taglist-session*
+Taglist Session~
+A taglist session refers to the group of files and their tags stored in the
+taglist in a Vim session.
+
+You can save and restore a taglist session (and all the displayed tags) using
+the ":TlistSessionSave" and ":TlistSessionLoad" commands.
+
+To save the information about the tags and files in the taglist to a file, use
+the ":TlistSessionSave" command and specify the filename:
+>
+ :TlistSessionSave <file name>
+<
+To load a saved taglist session, use the ":TlistSessionLoad" command: >
+
+ :TlistSessionLoad <file name>
+<
+When you load a taglist session file, the tags stored in the file will be
+added to the tags already stored in the taglist.
+
+The taglist session feature can be used to save the tags for large files or a
+group of frequently used files (like a project). By using the taglist session
+file, you can minimize the amount to time it takes to load/refresh the taglist
+for multiple files.
+
+You can create more than one taglist session file for multiple groups of
+files.
+
+Displaying the tag name in the Vim status line or the window title bar~
+You can use the Tlist_Get_Tagname_By_Line() function provided by the taglist
+plugin to display the current tag name in the Vim status line or the window
+title bar. Similarly, you can use the Tlist_Get_Tag_Prototype_By_Line()
+function to display the current tag prototype in the Vim status line or the
+window title bar.
+
+For example, the following command can be used to display the current tag name
+in the status line:
+>
+ :set statusline=%<%f%=%([%{Tlist_Get_Tagname_By_Line()}]%)
+<
+The following command can be used to display the current tag name in the
+window title bar:
+>
+ :set title titlestring=%<%f\ %([%{Tlist_Get_Tagname_By_Line()}]%)
+<
+Note that the current tag name can be displayed only after the file is
+processed by the taglist plugin. For this, you have to either set the
+'Tlist_Process_File_Always' variable to 1 or open the taglist window or use
+the taglist menu. For more information about configuring the Vim status line,
+refer to the documentation for the Vim |'statusline'| option.
+
+Changing the taglist window highlighting~
+The following Vim highlight groups are defined and used to highlight the
+various entities in the taglist window:
+
+ TagListTagName - Used for tag names
+ TagListTagScope - Used for tag scope
+ TagListTitle - Used for tag titles
+ TagListComment - Used for comments
+ TagListFileName - Used for filenames
+
+By default, these highlight groups are linked to the standard Vim highlight
+groups. If you want to change the colors used for these highlight groups,
+prefix the highlight group name with 'My' and define it in your .vimrc or
+.gvimrc file: MyTagListTagName, MyTagListTagScope, MyTagListTitle,
+MyTagListComment and MyTagListFileName. For example, to change the colors
+used for tag names, you can use the following command:
+>
+ :highlight MyTagListTagName guifg=blue ctermfg=blue
+<
+Controlling the taglist window~
+To use a horizontally split taglist window, instead of a vertically split
+window, set the 'Tlist_Use_Horiz_Window' variable to 1.
+
+To use a vertically split taglist window on the rightmost side of the Vim
+window, set the 'Tlist_Use_Right_Window' variable to 1.
+
+You can specify the width of the vertically split taglist window, by setting
+the 'Tlist_WinWidth' variable. You can specify the height of the horizontally
+split taglist window, by setting the 'Tlist_WinHeight' variable.
+
+When opening a vertically split taglist window, the Vim window width is
+increased to accommodate the new taglist window. When the taglist window is
+closed, the Vim window is reduced. To disable this, set the
+'Tlist_Inc_Winwidth' variable to zero.
+
+To reduce the number of empty lines in the taglist window, set the
+'Tlist_Compact_Format' variable to 1.
+
+To not display the Vim fold column in the taglist window, set the
+'Tlist_Enable_Fold_Column' variable to zero.
+
+To display the tag prototypes instead of the tag names in the taglist window,
+set the 'Tlist_Display_Prototype' variable to 1.
+
+To not display the scope of the tags next to the tag names, set the
+'Tlist_Display_Tag_Scope' variable to zero.
+
+ *taglist-keys*
+Taglist window key list~
+The following table lists the description of the keys that can be used
+in the taglist window.
+
+ Key Description~
+
+ <CR> Jump to the location where the tag under cursor is
+ defined.
+ o Jump to the location where the tag under cursor is
+ defined in a new window.
+ P Jump to the tag in the previous (Ctrl-W_p) window.
+ p Display the tag definition in the file window and
+ keep the cursor in the taglist window itself.
+ t Jump to the tag in a new tab. If the file is already
+ opened in a tab, move to that tab.
+ Ctrl-t Jump to the tag in a new tab.
+ <Space> Display the prototype of the tag under the cursor.
+ For file names, display the full path to the file,
+ file type and the number of tags. For tag types, display the
+ tag type and the number of tags.
+ u Update the tags listed in the taglist window
+ s Change the sort order of the tags (by name or by order)
+ d Remove the tags for the file under the cursor
+ x Zoom-in or Zoom-out the taglist window
+ + Open a fold
+ - Close a fold
+ * Open all folds
+ = Close all folds
+ [[ Jump to the beginning of the previous file
+ <Backspace> Jump to the beginning of the previous file
+ ]] Jump to the beginning of the next file
+ <Tab> Jump to the beginning of the next file
+ q Close the taglist window
+ <F1> Display help
+
+The above keys will work in both the normal mode and the insert mode.
+
+ *taglist-menu*
+Taglist menu~
+When using GUI Vim, the taglist plugin can display the tags defined in the
+current file in the drop-down menu and the popup menu. By default, this
+feature is turned off. To turn on this feature, set the 'Tlist_Show_Menu'
+variable to 1.
+
+You can jump to a tag by selecting the tag name from the menu. You can use the
+taglist menu independent of the taglist window i.e. you don't need to open the
+taglist window to get the taglist menu.
+
+When you switch between files/buffers, the taglist menu is automatically
+updated to display the tags defined in the current file/buffer.
+
+The tags are grouped by their type (variables, functions, classes, methods,
+etc.) and displayed as a separate sub-menu for each type. If all the tags
+defined in a file are of the same type (e.g. functions), then the sub-menu is
+not used.
+
+If the number of items in a tag type submenu exceeds the value specified by
+the 'Tlist_Max_Submenu_Items' variable, then the submenu will be split into
+multiple submenus. The default setting for 'Tlist_Max_Submenu_Items' is 25.
+The first and last tag names in the submenu are used to form the submenu name.
+The menu items are prefixed by alpha-numeric characters for easy selection by
+keyboard.
+
+If the popup menu support is enabled (the |'mousemodel'| option contains
+"popup"), then the tags menu is added to the popup menu. You can access
+the popup menu by right clicking on the GUI window.
+
+You can regenerate the tags menu by selecting the 'Tags->Refresh menu' entry.
+You can sort the tags listed in the menu either by name or by order by
+selecting the 'Tags->Sort menu by->Name/Order' menu entry.
+
+You can tear-off the Tags menu and keep it on the side of the Vim window
+for quickly locating the tags.
+
+Using the taglist plugin with the winmanager plugin~
+You can use the taglist plugin with the winmanager plugin. This will allow you
+to use the file explorer, buffer explorer and the taglist plugin at the same
+time in different windows. To use the taglist plugin with the winmanager
+plugin, set 'TagList' in the 'winManagerWindowLayout' variable. For example,
+to use the file explorer plugin and the taglist plugin at the same time, use
+the following setting: >
+
+ let winManagerWindowLayout = 'FileExplorer|TagList'
+<
+Getting help~
+If you have installed the taglist help file (this file), then you can use the
+Vim ":help taglist-<keyword>" command to get help on the various taglist
+topics.
+
+You can press the <F1> key in the taglist window to display the help
+information about using the taglist window. If you again press the <F1> key,
+the help information is removed from the taglist window.
+
+ *taglist-debug*
+Debugging the taglist plugin~
+You can use the ":TlistDebug" command to enable logging of the debug messages
+from the taglist plugin. To display the logged debug messages, you can use the
+":TlistMessages" command. To disable the logging of the debug messages, use
+the ":TlistUndebug" command.
+
+You can specify a file name to the ":TlistDebug" command to log the debug
+messages to a file. Otherwise, the debug messages are stored in a script-local
+variable. In the later case, to minimize memory usage, only the last 3000
+characters from the debug messages are stored.
+
+==============================================================================
+ *taglist-options*
+6. Options~
+
+A number of Vim variables control the behavior of the taglist plugin. These
+variables are initialized to a default value. By changing these variables you
+can change the behavior of the taglist plugin. You need to change these
+settings only if you want to change the behavior of the taglist plugin. You
+should use the |:let| command in your .vimrc file to change the setting of any
+of these variables.
+
+The configurable taglist variables are listed below. For a detailed
+description of these variables refer to the text below this table.
+
+|'Tlist_Auto_Highlight_Tag'| Automatically highlight the current tag in the
+ taglist.
+|'Tlist_Auto_Open'| Open the taglist window when Vim starts.
+|'Tlist_Auto_Update'| Automatically update the taglist to include
+ newly edited files.
+|'Tlist_Close_On_Select'| Close the taglist window when a file or tag is
+ selected.
+|'Tlist_Compact_Format'| Remove extra information and blank lines from
+ the taglist window.
+|'Tlist_Ctags_Cmd'| Specifies the path to the ctags utility.
+|'Tlist_Display_Prototype'| Show prototypes and not tags in the taglist
+ window.
+|'Tlist_Display_Tag_Scope'| Show tag scope next to the tag name.
+|'Tlist_Enable_Fold_Column'| Show the fold indicator column in the taglist
+ window.
+|'Tlist_Exit_OnlyWindow'| Close Vim if the taglist is the only window.
+|'Tlist_File_Fold_Auto_Close'| Close tag folds for inactive buffers.
+|'Tlist_GainFocus_On_ToggleOpen'|
+ Jump to taglist window on open.
+|'Tlist_Highlight_Tag_On_BufEnter'|
+ On entering a buffer, automatically highlight
+ the current tag.
+|'Tlist_Inc_Winwidth'| Increase the Vim window width to accommodate
+ the taglist window.
+|'Tlist_Max_Submenu_Items'| Maximum number of items in a tags sub-menu.
+|'Tlist_Max_Tag_Length'| Maximum tag length used in a tag menu entry.
+|'Tlist_Process_File_Always'| Process files even when the taglist window is
+ closed.
+|'Tlist_Show_Menu'| Display the tags menu.
+|'Tlist_Show_One_File'| Show tags for the current buffer only.
+|'Tlist_Sort_Type'| Sort method used for arranging the tags.
+|'Tlist_Use_Horiz_Window'| Use a horizontally split window for the
+ taglist window.
+|'Tlist_Use_Right_Window'| Place the taglist window on the right side.
+|'Tlist_Use_SingleClick'| Single click on a tag jumps to it.
+|'Tlist_WinHeight'| Horizontally split taglist window height.
+|'Tlist_WinWidth'| Vertically split taglist window width.
+
+ *'Tlist_Auto_Highlight_Tag'*
+Tlist_Auto_Highlight_Tag~
+The taglist plugin will automatically highlight the current tag in the taglist
+window. If you want to disable this, then you can set the
+'Tlist_Auto_Highlight_Tag' variable to zero. Note that even though the current
+tag highlighting is disabled, the tags for a new file will still be added to
+the taglist window.
+>
+ let Tlist_Auto_Highlight_Tag = 0
+<
+With the above variable set to 1, you can use the ":TlistHighlightTag" command
+to highlight the current tag.
+
+ *'Tlist_Auto_Open'*
+Tlist_Auto_Open~
+To automatically open the taglist window, when you start Vim, you can set the
+'Tlist_Auto_Open' variable to 1. By default, this variable is set to zero and
+the taglist window will not be opened automatically on Vim startup.
+>
+ let Tlist_Auto_Open = 1
+<
+The taglist window is opened only when a supported type of file is opened on
+Vim startup. For example, if you open text files, then the taglist window will
+not be opened.
+
+ *'Tlist_Auto_Update'*
+Tlist_Auto_Update~
+When a new file is edited, the tags defined in the file are automatically
+processed and added to the taglist. To stop adding new files to the taglist,
+set the 'Tlist_Auto_Update' variable to zero. By default, this variable is set
+to 1.
+>
+ let Tlist_Auto_Update = 0
+<
+With the above variable set to 1, you can use the ":TlistUpdate" command to
+add the tags defined in the current file to the taglist.
+
+ *'Tlist_Close_On_Select'*
+Tlist_Close_On_Select~
+If you want to close the taglist window when a file or tag is selected, then
+set the 'Tlist_Close_On_Select' variable to 1. By default, this variable is
+set zero and when you select a tag or file from the taglist window, the window
+is not closed.
+>
+ let Tlist_Close_On_Select = 1
+<
+ *'Tlist_Compact_Format'*
+Tlist_Compact_Format~
+By default, empty lines are used to separate different tag types displayed for
+a file and the tags displayed for different files in the taglist window. If
+you want to display as many tags as possible in the taglist window, you can
+set the 'Tlist_Compact_Format' variable to 1 to get a compact display.
+>
+ let Tlist_Compact_Format = 1
+<
+ *'Tlist_Ctags_Cmd'*
+Tlist_Ctags_Cmd~
+The 'Tlist_Ctags_Cmd' variable specifies the location (path) of the exuberant
+ctags utility. If exuberant ctags is present in any one of the directories in
+the PATH environment variable, then there is no need to set this variable.
+
+The exuberant ctags tool can be installed under different names. When the
+taglist plugin starts up, if the 'Tlist_Ctags_Cmd' variable is not set, it
+checks for the names exuberant-ctags, exctags, ctags, ctags.exe and tags in
+the PATH environment variable. If any one of the named executable is found,
+then the Tlist_Ctags_Cmd variable is set to that name.
+
+If exuberant ctags is not present in one of the directories specified in the
+PATH environment variable, then set this variable to point to the location of
+the ctags utility in your system. Note that this variable should point to the
+fully qualified exuberant ctags location and NOT to the directory in which
+exuberant ctags is installed. If the exuberant ctags tool is not found in
+either PATH or in the specified location, then the taglist plugin will not be
+loaded. Examples:
+>
+ let Tlist_Ctags_Cmd = 'd:\tools\ctags.exe'
+ let Tlist_Ctags_Cmd = '/usr/local/bin/ctags'
+<
+ *'Tlist_Display_Prototype'*
+Tlist_Display_Prototype~
+By default, only the tag name will be displayed in the taglist window. If you
+like to see tag prototypes instead of names, set the 'Tlist_Display_Prototype'
+variable to 1. By default, this variable is set to zero and only tag names
+will be displayed.
+>
+ let Tlist_Display_Prototype = 1
+<
+ *'Tlist_Display_Tag_Scope'*
+Tlist_Display_Tag_Scope~
+By default, the scope of a tag (like a C++ class) will be displayed in
+square brackets next to the tag name. If you don't want the tag scopes
+to be displayed, then set the 'Tlist_Display_Tag_Scope' to zero. By default,
+this variable is set to 1 and the tag scopes will be displayed.
+>
+ let Tlist_Display_Tag_Scope = 0
+<
+ *'Tlist_Enable_Fold_Column'*
+Tlist_Enable_Fold_Column~
+By default, the Vim fold column is enabled and displayed in the taglist
+window. If you wish to disable this (for example, when you are working with a
+narrow Vim window or terminal), you can set the 'Tlist_Enable_Fold_Column'
+variable to zero.
+>
+ let Tlist_Enable_Fold_Column = 1
+<
+ *'Tlist_Exit_OnlyWindow'*
+Tlist_Exit_OnlyWindow~
+If you want to exit Vim if only the taglist window is currently opened, then
+set the 'Tlist_Exit_OnlyWindow' variable to 1. By default, this variable is
+set to zero and the Vim instance will not be closed if only the taglist window
+is present.
+>
+ let Tlist_Exit_OnlyWindow = 1
+<
+ *'Tlist_File_Fold_Auto_Close'*
+Tlist_File_Fold_Auto_Close~
+By default, the tags tree displayed in the taglist window for all the files is
+opened. You can close/fold the tags tree for the files manually. To
+automatically close the tags tree for inactive files, you can set the
+'Tlist_File_Fold_Auto_Close' variable to 1. When this variable is set to 1,
+the tags tree for the current buffer is automatically opened and for all the
+other buffers is closed.
+>
+ let Tlist_File_Fold_Auto_Close = 1
+<
+ *'Tlist_GainFocus_On_ToggleOpen'*
+Tlist_GainFocus_On_ToggleOpen~
+When the taglist window is opened using the ':TlistToggle' command, this
+option controls whether the cursor is moved to the taglist window or remains
+in the current window. By default, this option is set to 0 and the cursor
+remains in the current window. When this variable is set to 1, the cursor
+moves to the taglist window after opening the taglist window.
+>
+ let Tlist_GainFocus_On_ToggleOpen = 1
+<
+ *'Tlist_Highlight_Tag_On_BufEnter'*
+Tlist_Highlight_Tag_On_BufEnter~
+When you enter a Vim buffer/window, the current tag in that buffer/window is
+automatically highlighted in the taglist window. If the current tag name is
+not visible in the taglist window, then the taglist window contents are
+scrolled to make that tag name visible. If you like to disable the automatic
+highlighting of the current tag when entering a buffer, you can set the
+'Tlist_Highlight_Tag_On_BufEnter' variable to zero. The default setting for
+this variable is 1.
+>
+ let Tlist_Highlight_Tag_On_BufEnter = 0
+<
+ *'Tlist_Inc_Winwidth'*
+Tlist_Inc_Winwidth~
+By default, when the width of the window is less than 100 and a new taglist
+window is opened vertically, then the window width is increased by the value
+set in the 'Tlist_WinWidth' variable to accommodate the new window. The value
+of this variable is used only if you are using a vertically split taglist
+window.
+
+If your terminal doesn't support changing the window width from Vim (older
+version of xterm running in a Unix system) or if you see any weird problems in
+the screen due to the change in the window width or if you prefer not to
+adjust the window width then set the 'Tlist_Inc_Winwidth' variable to zero.
+CAUTION: If you are using the MS-Windows version of Vim in a MS-DOS command
+window then you must set this variable to zero, otherwise the system may hang
+due to a Vim limitation (explained in :help win32-problems)
+>
+ let Tlist_Inc_Winwidth = 0
+<
+ *'Tlist_Max_Submenu_Items'*
+Tlist_Max_Submenu_Items~
+If a file contains too many tags of a particular type (function, variable,
+class, etc.), greater than that specified by the 'Tlist_Max_Submenu_Items'
+variable, then the menu for that tag type will be split into multiple
+sub-menus. The default setting for the 'Tlist_Max_Submenu_Items' variable is
+25. This can be changed by setting the 'Tlist_Max_Submenu_Items' variable:
+>
+ let Tlist_Max_Submenu_Items = 20
+<
+The name of the submenu is formed using the names of the first and the last
+tag entries in that submenu.
+
+ *'Tlist_Max_Tag_Length'*
+Tlist_Max_Tag_Length~
+Only the first 'Tlist_Max_Tag_Length' characters from the tag names will be
+used to form the tag type submenu name. The default value for this variable is
+10. Change the 'Tlist_Max_Tag_Length' setting if you want to include more or
+less characters:
+>
+ let Tlist_Max_Tag_Length = 10
+<
+ *'Tlist_Process_File_Always'*
+Tlist_Process_File_Always~
+By default, the taglist plugin will generate and process the tags defined in
+the newly opened files only when the taglist window is opened or when the
+taglist menu is enabled. When the taglist window is closed, the taglist plugin
+will stop processing the tags for newly opened files.
+
+You can set the 'Tlist_Process_File_Always' variable to 1 to generate the list
+of tags for new files even when the taglist window is closed and the taglist
+menu is disabled.
+>
+ let Tlist_Process_File_Always = 1
+<
+To use the ":TlistShowTag" and the ":TlistShowPrototype" commands without the
+taglist window and the taglist menu, you should set this variable to 1.
+
+ *'Tlist_Show_Menu'*
+Tlist_Show_Menu~
+When using GUI Vim, you can display the tags defined in the current file in a
+menu named "Tags". By default, this feature is turned off. To turn on this
+feature, set the 'Tlist_Show_Menu' variable to 1:
+>
+ let Tlist_Show_Menu = 1
+<
+ *'Tlist_Show_One_File'*
+Tlist_Show_One_File~
+By default, the taglist plugin will display the tags defined in all the loaded
+buffers in the taglist window. If you prefer to display the tags defined only
+in the current buffer, then you can set the 'Tlist_Show_One_File' to 1. When
+this variable is set to 1, as you switch between buffers, the taglist window
+will be refreshed to display the tags for the current buffer and the tags for
+the previous buffer will be removed.
+>
+ let Tlist_Show_One_File = 1
+<
+ *'Tlist_Sort_Type'*
+Tlist_Sort_Type~
+The 'Tlist_Sort_Type' variable specifies the sort order for the tags in the
+taglist window. The tags can be sorted either alphabetically by their name or
+by the order of their appearance in the file (chronological order). By
+default, the tag names will be listed by the order in which they are defined
+in the file. You can change the sort type (from name to order or from order to
+name) by pressing the "s" key in the taglist window. You can also change the
+default sort order by setting 'Tlist_Sort_Type' to "name" or "order":
+>
+ let Tlist_Sort_Type = "name"
+<
+ *'Tlist_Use_Horiz_Window'*
+Tlist_Use_Horiz_Window~
+Be default, the tag names are displayed in a vertically split window. If you
+prefer a horizontally split window, then set the 'Tlist_Use_Horiz_Window'
+variable to 1. If you are running MS-Windows version of Vim in a MS-DOS
+command window, then you should use a horizontally split window instead of a
+vertically split window. Also, if you are using an older version of xterm in a
+Unix system that doesn't support changing the xterm window width, you should
+use a horizontally split window.
+>
+ let Tlist_Use_Horiz_Window = 1
+<
+ *'Tlist_Use_Right_Window'*
+Tlist_Use_Right_Window~
+By default, the vertically split taglist window will appear on the left hand
+side. If you prefer to open the window on the right hand side, you can set the
+'Tlist_Use_Right_Window' variable to 1:
+>
+ let Tlist_Use_Right_Window = 1
+<
+ *'Tlist_Use_SingleClick'*
+Tlist_Use_SingleClick~
+By default, when you double click on the tag name using the left mouse
+button, the cursor will be positioned at the definition of the tag. You
+can set the 'Tlist_Use_SingleClick' variable to 1 to jump to a tag when
+you single click on the tag name using the mouse. By default this variable
+is set to zero.
+>
+ let Tlist_Use_SingleClick = 1
+<
+Due to a bug in Vim, if you set 'Tlist_Use_SingleClick' to 1 and try to resize
+the taglist window using the mouse, then Vim will crash. This problem is fixed
+in Vim 6.3 and above. In the meantime, instead of resizing the taglist window
+using the mouse, you can use normal Vim window resizing commands to resize the
+taglist window.
+
+ *'Tlist_WinHeight'*
+Tlist_WinHeight~
+The default height of the horizontally split taglist window is 10. This can be
+changed by modifying the 'Tlist_WinHeight' variable:
+>
+ let Tlist_WinHeight = 20
+<
+The |'winfixheight'| option is set for the taglist window, to maintain the
+height of the taglist window, when new Vim windows are opened and existing
+windows are closed.
+
+ *'Tlist_WinWidth'*
+Tlist_WinWidth~
+The default width of the vertically split taglist window is 30. This can be
+changed by modifying the 'Tlist_WinWidth' variable:
+>
+ let Tlist_WinWidth = 20
+<
+Note that the value of the |'winwidth'| option setting determines the minimum
+width of the current window. If you set the 'Tlist_WinWidth' variable to a
+value less than that of the |'winwidth'| option setting, then Vim will use the
+value of the |'winwidth'| option.
+
+When new Vim windows are opened and existing windows are closed, the taglist
+plugin will try to maintain the width of the taglist window to the size
+specified by the 'Tlist_WinWidth' variable.
+
+==============================================================================
+ *taglist-commands*
+7. Commands~
+
+The taglist plugin provides the following ex-mode commands:
+
+|:TlistAddFiles| Add multiple files to the taglist.
+|:TlistAddFilesRecursive|
+ Add files recursively to the taglist.
+|:TlistClose| Close the taglist window.
+|:TlistDebug| Start logging of taglist debug messages.
+|:TlistLock| Stop adding new files to the taglist.
+|:TlistMessages| Display the logged taglist plugin debug messages.
+|:TlistOpen| Open and jump to the taglist window.
+|:TlistSessionSave| Save the information about files and tags in the
+ taglist to a session file.
+|:TlistSessionLoad| Load the information about files and tags stored
+ in a session file to taglist.
+|:TlistShowPrototype| Display the prototype of the tag at or before the
+ specified line number.
+|:TlistShowTag| Display the name of the tag defined at or before the
+ specified line number.
+|:TlistHighlightTag| Highlight the current tag in the taglist window.
+|:TlistToggle| Open or close (toggle) the taglist window.
+|:TlistUndebug| Stop logging of taglist debug messages.
+|:TlistUnlock| Start adding new files to the taglist.
+|:TlistUpdate| Update the tags for the current buffer.
+
+ *:TlistAddFiles*
+:TlistAddFiles {file(s)} [file(s) ...]
+ Add one or more specified files to the taglist. You can
+ specify multiple filenames using wildcards. To specify a
+ file name with space character, you should escape the space
+ character with a backslash.
+ Examples:
+>
+ :TlistAddFiles *.c *.cpp
+ :TlistAddFiles file1.html file2.html
+<
+ If you specify a large number of files, then it will take some
+ time for the taglist plugin to process all of them. The
+ specified files will not be edited in a Vim window and will
+ not be added to the Vim buffer list.
+
+ *:TlistAddFilesRecursive*
+:TlistAddFilesRecursive {directory} [ {pattern} ]
+ Add files matching {pattern} recursively from the specified
+ {directory} to the taglist. If {pattern} is not specified,
+ then '*' is assumed. To specify the current directory, use "."
+ for {directory}. To specify a directory name with space
+ character, you should escape the space character with a
+ backslash.
+ Examples:
+>
+ :TlistAddFilesRecursive myproject *.java
+ :TlistAddFilesRecursive smallproject
+<
+ If large number of files are present in the specified
+ directory tree, then it will take some time for the taglist
+ plugin to process all of them.
+
+ *:TlistClose*
+:TlistClose Close the taglist window. This command can be used from any
+ one of the Vim windows.
+
+ *:TlistDebug*
+:TlistDebug [filename]
+ Start logging of debug messages from the taglist plugin.
+ If {filename} is specified, then the debug messages are stored
+ in the specified file. Otherwise, the debug messages are
+ stored in a script local variable. If the file {filename} is
+ already present, then it is overwritten.
+
+ *:TlistLock*
+:TlistLock
+ Lock the taglist and don't process new files. After this
+ command is executed, newly edited files will not be added to
+ the taglist.
+
+ *:TlistMessages*
+:TlistMessages
+ Display the logged debug messages from the taglist plugin
+ in a window. This command works only when logging to a
+ script-local variable.
+
+ *:TlistOpen*
+:TlistOpen Open and jump to the taglist window. Creates the taglist
+ window, if the window is not opened currently. After executing
+ this command, the cursor is moved to the taglist window. When
+ the taglist window is opened for the first time, all the files
+ in the buffer list are processed and the tags defined in them
+ are displayed in the taglist window.
+
+ *:TlistSessionSave*
+:TlistSessionSave {filename}
+ Saves the information about files and tags in the taglist to
+ the specified file. This command can be used to save and
+ restore the taglist contents across Vim sessions.
+
+ *:TlistSessionLoad*
+:TlistSessionLoad {filename}
+ Load the information about files and tags stored in the
+ specified session file to the taglist.
+
+ *:TlistShowPrototype*
+:TlistShowPrototype [filename] [linenumber]
+ Display the prototype of the tag at or before the specified
+ line number. If the file name and the line number are not
+ specified, then the current file name and line number are
+ used. A tag spans multiple lines starting from the line where
+ it is defined to the line before the next tag. This command
+ displays the prototype for the tag for any line number in this
+ range.
+
+ *:TlistShowTag*
+:TlistShowTag [filename] [linenumber]
+ Display the name of the tag defined at or before the specified
+ line number. If the file name and the line number are not
+ specified, then the current file name and line number are
+ used. A tag spans multiple lines starting from the line where
+ it is defined to the line before the next tag. This command
+ displays the tag name for any line number in this range.
+
+ *:TlistHighlightTag*
+:TlistHighlightTag
+ Highlight the current tag in the taglist window. By default,
+ the taglist plugin periodically updates the taglist window to
+ highlight the current tag. This command can be used to force
+ the taglist plugin to highlight the current tag.
+
+ *:TlistToggle*
+:TlistToggle Open or close (toggle) the taglist window. Opens the taglist
+ window, if the window is not opened currently. Closes the
+ taglist window, if the taglist window is already opened. When
+ the taglist window is opened for the first time, all the files
+ in the buffer list are processed and the tags are displayed in
+ the taglist window. After executing this command, the cursor
+ is not moved from the current window to the taglist window.
+
+ *:TlistUndebug*
+:TlistUndebug
+ Stop logging of debug messages from the taglist plugin.
+
+ *:TlistUnlock*
+:TlistUnlock
+ Unlock the taglist and start processing newly edited files.
+
+ *:TlistUpdate*
+:TlistUpdate Update the tags information for the current buffer. This
+ command can be used to re-process the current file/buffer and
+ get the tags information. As the taglist plugin uses the file
+ saved in the disk (instead of the file displayed in a Vim
+ buffer), you should save a modified buffer before you update
+ the taglist. Otherwise the listed tags will not include the
+ new tags created in the buffer. You can use this command even
+ when the taglist window is not opened.
+
+==============================================================================
+ *taglist-functions*
+8. Global functions~
+
+The taglist plugin provides several global functions that can be used from
+other Vim plugins to interact with the taglist plugin. These functions are
+described below.
+
+|Tlist_Update_File_Tags()| Update the tags for the specified file
+|Tlist_Get_Tag_Prototype_By_Line()| Return the prototype of the tag at or
+ before the specified line number in the
+ specified file.
+|Tlist_Get_Tagname_By_Line()| Return the name of the tag at or
+ before the specified line number in
+ the specified file.
+|Tlist_Set_App()| Set the name of the application
+ controlling the taglist window.
+
+ *Tlist_Update_File_Tags()*
+Tlist_Update_File_Tags({filename}, {filetype})
+ Update the tags for the file {filename}. The second argument
+ specifies the Vim filetype for the file. If the taglist plugin
+ has not processed the file previously, then the exuberant
+ ctags tool is invoked to generate the tags for the file.
+
+ *Tlist_Get_Tag_Prototype_By_Line()*
+Tlist_Get_Tag_Prototype_By_Line([{filename}, {linenumber}])
+ Return the prototype of the tag at or before the specified
+ line number in the specified file. If the filename and line
+ number are not specified, then the current buffer name and the
+ current line number are used.
+
+ *Tlist_Get_Tagname_By_Line()*
+Tlist_Get_Tagname_By_Line([{filename}, {linenumber}])
+ Return the name of the tag at or before the specified line
+ number in the specified file. If the filename and line number
+ are not specified, then the current buffer name and the
+ current line number are used.
+
+ *Tlist_Set_App()*
+Tlist_Set_App({appname})
+ Set the name of the plugin that controls the taglist plugin
+ window and buffer. This can be used to integrate the taglist
+ plugin with other Vim plugins.
+
+ For example, the winmanager plugin and the Cream package use
+ this function and specify the appname as "winmanager" and
+ "cream" respectively.
+
+ By default, the taglist plugin is a stand-alone plugin and
+ controls the taglist window and buffer. If the taglist window
+ is controlled by an external plugin, then the appname should
+ be set appropriately.
+
+==============================================================================
+ *taglist-extend*
+9. Extending~
+
+The taglist plugin supports all the languages supported by the exuberant ctags
+tool, which includes the following languages: Assembly, ASP, Awk, Beta, C,
+C++, C#, Cobol, Eiffel, Erlang, Fortran, HTML, Java, Javascript, Lisp, Lua,
+Make, Pascal, Perl, PHP, Python, Rexx, Ruby, Scheme, Shell, Slang, SML, Sql,
+TCL, Verilog, Vim and Yacc.
+
+You can extend the taglist plugin to add support for new languages and also
+modify the support for the above listed languages.
+
+You should NOT make modifications to the taglist plugin script file to add
+support for new languages. You will lose these changes when you upgrade to the
+next version of the taglist plugin. Instead you should follow the below
+described instructions to extend the taglist plugin.
+
+You can extend the taglist plugin by setting variables in the .vimrc or _vimrc
+file. The name of these variables depends on the language name and is
+described below.
+
+Modifying support for an existing language~
+To modify the support for an already supported language, you have to set the
+tlist_xxx_settings variable in the ~/.vimrc or $HOME/_vimrc file. Replace xxx
+with the Vim filetype name for the language file. For example, to modify the
+support for the perl language files, you have to set the tlist_perl_settings
+variable. To modify the support for java files, you have to set the
+tlist_java_settings variable.
+
+To determine the filetype name used by Vim for a file, use the following
+command in the buffer containing the file:
+
+ :set filetype
+
+The above command will display the Vim filetype for the current buffer.
+
+The format of the value set in the tlist_xxx_settings variable is
+
+ <language_name>;flag1:name1;flag2:name2;flag3:name3
+
+The different fields in the value are separated by the ';' character.
+
+The first field 'language_name' is the name used by exuberant ctags to refer
+to this language file. This name can be different from the file type name used
+by Vim. For example, for C++, the language name used by ctags is 'c++' but the
+filetype name used by Vim is 'cpp'. To get the list of language names
+supported by exuberant ctags, use the following command:
+
+ $ ctags --list-maps=all
+
+The remaining fields follow the format "flag:name". The sub-field 'flag' is
+the language specific flag used by exuberant ctags to generate the
+corresponding tags. For example, for the C language, to list only the
+functions, the 'f' flag is used. To get the list of flags supported by
+exuberant ctags for the various languages use the following command:
+
+ $ ctags --list-kinds=all
+
+The sub-field 'name' specifies the title text to use for displaying the tags
+of a particular type. For example, 'name' can be set to 'functions'. This
+field can be set to any text string name.
+
+For example, to list only the classes and functions defined in a C++ language
+file, add the following line to your .vimrc file:
+
+ let tlist_cpp_settings = 'c++;c:class;f:function'
+
+In the above setting, 'cpp' is the Vim filetype name and 'c++' is the name
+used by the exuberant ctags tool. 'c' and 'f' are the flags passed to
+exuberant ctags to list C++ classes and functions and 'class' is the title
+used for the class tags and 'function' is the title used for the function tags
+in the taglist window.
+
+For example, to display only functions defined in a C file and to use "My
+Functions" as the title for the function tags, use
+
+ let tlist_c_settings = 'c;f:My Functions'
+
+When you set the tlist_xxx_settings variable, you will override the default
+setting used by the taglist plugin for the 'xxx' language. You cannot add to
+the default options used by the taglist plugin for a particular file type. To
+add to the options used by the taglist plugin for a language, copy the option
+values from the taglist plugin file to your .vimrc file and modify it.
+
+Adding support for a new language~
+If you want to add support for a new language to the taglist plugin, you need
+to first extend the exuberant ctags tool. For more information about extending
+exuberant ctags, visit the following page:
+
+ http://ctags.sourceforge.net/EXTENDING.html
+
+To add support for a new language, set the tlist_xxx_settings variable in the
+~/.vimrc file appropriately as described above. Replace 'xxx' in the variable
+name with the Vim filetype name for the new language.
+
+For example, to extend the taglist plugin to support the latex language, you
+can use the following line (assuming, you have already extended exuberant
+ctags to support the latex language):
+
+ let tlist_tex_settings='latex;b:bibitem;c:command;l:label'
+
+With the above line, when you edit files of filetype "tex" in Vim, the taglist
+plugin will invoke the exuberant ctags tool passing the "latex" filetype and
+the flags b, c and l to generate the tags. The text heading 'bibitem',
+'command' and 'label' will be used in the taglist window for the tags which
+are generated for the flags b, c and l respectively.
+
+==============================================================================
+ *taglist-faq*
+10. Frequently Asked Questions~
+
+Q. The taglist plugin doesn't work. The taglist window is empty and the tags
+ defined in a file are not displayed.
+A. Are you using Vim version 6.0 and above? The taglist plugin relies on the
+ features supported by Vim version 6.0 and above. You can use the following
+ command to get the Vim version:
+>
+ $ vim --version
+<
+ Are you using exuberant ctags version 5.0 and above? The taglist plugin
+ relies on the features supported by exuberant ctags and will not work with
+ GNU ctags or the Unix ctags utility. You can use the following command to
+ determine whether the ctags installed in your system is exuberant ctags:
+>
+ $ ctags --version
+<
+ Is exuberant ctags present in one of the directories in your PATH? If not,
+ you need to set the Tlist_Ctags_Cmd variable to point to the location of
+ exuberant ctags. Use the following Vim command to verify that this is setup
+ correctly:
+>
+ :echo system(Tlist_Ctags_Cmd . ' --version')
+<
+ The above command should display the version information for exuberant
+ ctags.
+
+ Did you turn on the Vim filetype detection? The taglist plugin relies on
+ the filetype detected by Vim and passes the filetype to the exuberant ctags
+ utility to parse the tags. Check the output of the following Vim command:
+>
+ :filetype
+<
+ The output of the above command should contain "filetype detection:ON".
+ To turn on the filetype detection, add the following line to the .vimrc or
+ _vimrc file:
+>
+ filetype on
+<
+ Is your version of Vim compiled with the support for the system() function?
+ The following Vim command should display 1:
+>
+ :echo exists('*system')
+<
+ In some Linux distributions (particularly Suse Linux), the default Vim
+ installation is built without the support for the system() function. The
+ taglist plugin uses the system() function to invoke the exuberant ctags
+ utility. You need to rebuild Vim after enabling the support for the
+ system() function. If you use the default build options, the system()
+ function will be supported.
+
+ Do you have the |'shellslash'| option set? You can try disabling the
+ |'shellslash'| option. When the taglist plugin invokes the exuberant ctags
+ utility with the path to the file, if the incorrect slashes are used, then
+ you will see errors.
+
+ Check the shell related Vim options values using the following command:
+>
+ :set shell? shellcmdflag? shellpipe?
+ :set shellquote? shellredir? shellxquote?
+<
+ If these options are set in your .vimrc or _vimrc file, try removing those
+ lines.
+
+ Are you using a Unix shell in a MS-Windows environment? For example,
+ the Unix shell from the MKS-toolkit. Do you have the SHELL environment
+ set to point to this shell? You can try resetting the SHELL environment
+ variable.
+
+ If you are using a Unix shell on MS-Windows, you should try to use
+ exuberant ctags that is compiled for Unix-like environments so that
+ exuberant ctags will understand path names with forward slash characters.
+
+ Is your filetype supported by the exuberant ctags utility? The file types
+ supported by the exuberant ctags utility are listed in the ctags help. If a
+ file type is not supported, you have to extend exuberant ctags. You can use
+ the following command to list the filetypes supported by exuberant ctags:
+>
+ ctags --list-languages
+<
+ Run the following command from the shell prompt and check whether the tags
+ defined in your file are listed in the output from exuberant ctags:
+>
+ ctags -f - --format=2 --excmd=pattern --fields=nks <filename>
+<
+ If you see your tags in the output from the above command, then the
+ exuberant ctags utility is properly parsing your file.
+
+ Do you have the .ctags or _ctags or the ctags.cnf file in your home
+ directory for specifying default options or for extending exuberant ctags?
+ If you do have this file, check the options in this file and make sure
+ these options are not interfering with the operation of the taglist plugin.
+
+ If you are using MS-Windows, check the value of the TEMP and TMP
+ environment variables. If these environment variables are set to a path
+ with space characters in the name, then try using the DOS 8.3 short name
+ for the path or set them to a path without the space characters in the
+ name. For example, if the temporary directory name is "C:\Documents and
+ Settings\xyz\Local Settings\Temp", then try setting the TEMP variable to
+ the following:
+>
+ set TEMP=C:\DOCUMEN~1\xyz\LOCALS~1\Temp
+<
+ If exuberant ctags is installed in a directory with space characters in the
+ name, then try adding the directory to the PATH environment variable or try
+ setting the 'Tlist_Ctags_Cmd' variable to the shortest path name to ctags
+ or try copying the exuberant ctags to a path without space characters in
+ the name. For example, if exuberant ctags is installed in the directory
+ "C:\Program Files\Ctags", then try setting the 'Tlist_Ctags_Cmd' variable
+ as below:
+>
+ let Tlist_Ctags_Cmd='C:\Progra~1\Ctags\ctags.exe'
+<
+ If you are using a cygwin compiled version of exuberant ctags on MS-Windows,
+ make sure that either you have the cygwin compiled sort utility installed
+ and available in your PATH or compile exuberant ctags with internal sort
+ support. Otherwise, when exuberant ctags sorts the tags output by invoking
+ the sort utility, it may end up invoking the MS-Windows version of
+ sort.exe, thereby resulting in failure.
+
+Q. When I try to open the taglist window, I am seeing the following error
+ message. How do I fix this problem?
+
+ Taglist: Failed to generate tags for /my/path/to/file
+ ctags: illegal option -- -^@usage: ctags [-BFadtuwvx] [-f tagsfile] file ...
+
+A. The taglist plugin will work only with the exuberant ctags tool. You
+ cannot use the GNU ctags or the Unix ctags program with the taglist plugin.
+ You will see an error message similar to the one shown above, if you try
+ use a non-exuberant ctags program with Vim. To fix this problem, either add
+ the exuberant ctags tool location to the PATH environment variable or set
+ the 'Tlist_Ctags_Cmd' variable.
+
+Q. A file has more than one tag with the same name. When I select a tag name
+ from the taglist window, the cursor is positioned at the incorrect tag
+ location.
+A. The taglist plugin uses the search pattern generated by the exuberant ctags
+ utility to position the cursor at the location of a tag definition. If a
+ file has more than one tag with the same name and same prototype, then the
+ search pattern will be the same. In this case, when searching for the tag
+ pattern, the cursor may be positioned at the incorrect location.
+
+Q. I have made some modifications to my file and introduced new
+ functions/classes/variables. I have not yet saved my file. The taglist
+ plugin is not displaying the new tags when I update the taglist window.
+A. The exuberant ctags utility will process only files that are present in the
+ disk. To list the tags defined in a file, you have to save the file and
+ then update the taglist window.
+
+Q. I have created a ctags file using the exuberant ctags utility for my source
+ tree. How do I configure the taglist plugin to use this tags file?
+A. The taglist plugin doesn't use a tags file stored in disk. For every opened
+ file, the taglist plugin invokes the exuberant ctags utility to get the
+ list of tags dynamically. The Vim system() function is used to invoke
+ exuberant ctags and get the ctags output. This function internally uses a
+ temporary file to store the output. This file is deleted after the output
+ from the command is read. So you will never see the file that contains the
+ output of exuberant ctags.
+
+Q. When I set the |'updatetime'| option to a low value (less than 1000) and if
+ I keep pressing a key with the taglist window open, the current buffer
+ contents are changed. Why is this?
+A. The taglist plugin uses the |CursorHold| autocmd to highlight the current
+ tag. The CursorHold autocmd triggers for every |'updatetime'| milliseconds.
+ If the |'updatetime'| option is set to a low value, then the CursorHold
+ autocmd will be triggered frequently. As the taglist plugin changes
+ the focus to the taglist window to highlight the current tag, this could
+ interfere with the key movement resulting in changing the contents of
+ the current buffer. The workaround for this problem is to not set the
+ |'updatetime'| option to a low value.
+
+==============================================================================
+ *taglist-license*
+11. License~
+Permission is hereby granted to use and distribute the taglist plugin, with or
+without modifications, provided that this copyright notice is copied with it.
+Like anything else that's free, taglist.vim is provided *as is* and comes with
+no warranty of any kind, either expressed or implied. In no event will the
+copyright holder be liable for any damamges resulting from the use of this
+software.
+
+==============================================================================
+ *taglist-todo*
+12. Todo~
+
+1. Group tags according to the scope and display them. For example,
+ group all the tags belonging to a C++/Java class
+2. Support for displaying tags in a modified (not-yet-saved) file.
+3. Automatically open the taglist window only for selected filetypes.
+ For other filetypes, close the taglist window.
+4. When using the shell from the MKS toolkit, the taglist plugin
+ doesn't work.
+5. The taglist plugin doesn't work with files edited remotely using the
+ netrw plugin. The exuberant ctags utility cannot process files over
+ scp/rcp/ftp, etc.
+
+==============================================================================
+
+vim:tw=78:ts=8:noet:ft=help:
diff --git a/dot_vim/doc/tags b/dot_vim/doc/tags
new file mode 100644
index 0000000..9049f74
--- /dev/null
+++ b/dot_vim/doc/tags
@@ -0,0 +1,1138 @@
+'Tlist_Auto_Highlight_Tag' taglist.txt /*'Tlist_Auto_Highlight_Tag'*
+'Tlist_Auto_Open' taglist.txt /*'Tlist_Auto_Open'*
+'Tlist_Auto_Update' taglist.txt /*'Tlist_Auto_Update'*
+'Tlist_Close_On_Select' taglist.txt /*'Tlist_Close_On_Select'*
+'Tlist_Compact_Format' taglist.txt /*'Tlist_Compact_Format'*
+'Tlist_Ctags_Cmd' taglist.txt /*'Tlist_Ctags_Cmd'*
+'Tlist_Display_Prototype' taglist.txt /*'Tlist_Display_Prototype'*
+'Tlist_Display_Tag_Scope' taglist.txt /*'Tlist_Display_Tag_Scope'*
+'Tlist_Enable_Fold_Column' taglist.txt /*'Tlist_Enable_Fold_Column'*
+'Tlist_Exit_OnlyWindow' taglist.txt /*'Tlist_Exit_OnlyWindow'*
+'Tlist_File_Fold_Auto_Close' taglist.txt /*'Tlist_File_Fold_Auto_Close'*
+'Tlist_GainFocus_On_ToggleOpen' taglist.txt /*'Tlist_GainFocus_On_ToggleOpen'*
+'Tlist_Highlight_Tag_On_BufEnter' taglist.txt /*'Tlist_Highlight_Tag_On_BufEnter'*
+'Tlist_Inc_Winwidth' taglist.txt /*'Tlist_Inc_Winwidth'*
+'Tlist_Max_Submenu_Items' taglist.txt /*'Tlist_Max_Submenu_Items'*
+'Tlist_Max_Tag_Length' taglist.txt /*'Tlist_Max_Tag_Length'*
+'Tlist_Process_File_Always' taglist.txt /*'Tlist_Process_File_Always'*
+'Tlist_Show_Menu' taglist.txt /*'Tlist_Show_Menu'*
+'Tlist_Show_One_File' taglist.txt /*'Tlist_Show_One_File'*
+'Tlist_Sort_Type' taglist.txt /*'Tlist_Sort_Type'*
+'Tlist_Use_Horiz_Window' taglist.txt /*'Tlist_Use_Horiz_Window'*
+'Tlist_Use_Right_Window' taglist.txt /*'Tlist_Use_Right_Window'*
+'Tlist_Use_SingleClick' taglist.txt /*'Tlist_Use_SingleClick'*
+'Tlist_WinHeight' taglist.txt /*'Tlist_WinHeight'*
+'Tlist_WinWidth' taglist.txt /*'Tlist_WinWidth'*
+:DocIndex haskellmode.txt /*:DocIndex*
+:DocSettings haskellmode.txt /*:DocSettings*
+:ExportDocIndex haskellmode.txt /*:ExportDocIndex*
+:FlagReference haskellmode.txt /*:FlagReference*
+:GHCReload haskellmode.txt /*:GHCReload*
+:GHCStaticOptions haskellmode.txt /*:GHCStaticOptions*
+:GHCi haskellmode.txt /*:GHCi*
+:HpasteIndex haskellmode.txt /*:HpasteIndex*
+:HpastePostNew haskellmode.txt /*:HpastePostNew*
+:IDoc haskellmode.txt /*:IDoc*
+:MDoc haskellmode.txt /*:MDoc*
+:TlistAddFiles taglist.txt /*:TlistAddFiles*
+:TlistAddFilesRecursive taglist.txt /*:TlistAddFilesRecursive*
+:TlistClose taglist.txt /*:TlistClose*
+:TlistDebug taglist.txt /*:TlistDebug*
+:TlistHighlightTag taglist.txt /*:TlistHighlightTag*
+:TlistLock taglist.txt /*:TlistLock*
+:TlistMessages taglist.txt /*:TlistMessages*
+:TlistOpen taglist.txt /*:TlistOpen*
+:TlistSessionLoad taglist.txt /*:TlistSessionLoad*
+:TlistSessionSave taglist.txt /*:TlistSessionSave*
+:TlistShowPrototype taglist.txt /*:TlistShowPrototype*
+:TlistShowTag taglist.txt /*:TlistShowTag*
+:TlistToggle taglist.txt /*:TlistToggle*
+:TlistUndebug taglist.txt /*:TlistUndebug*
+:TlistUnlock taglist.txt /*:TlistUnlock*
+:TlistUpdate taglist.txt /*:TlistUpdate*
+Alph latexhelp.txt /*Alph*
+Alt-B latex-suite.txt /*Alt-B*
+Alt-C latex-suite.txt /*Alt-C*
+Alt-I latex-suite.txt /*Alt-I*
+Alt-L latex-suite.txt /*Alt-L*
+BibTeX latexhelp.txt /*BibTeX*
+IMAP_PutTextWithMovement latex-suite.txt /*IMAP_PutTextWithMovement*
+Imap_DeleteEmptyPlaceHolders latex-suite.txt /*Imap_DeleteEmptyPlaceHolders*
+Imap_FreezeImap latex-suite.txt /*Imap_FreezeImap*
+Imap_PlaceHolderEnd latex-suite.txt /*Imap_PlaceHolderEnd*
+Imap_PlaceHolderStart latex-suite.txt /*Imap_PlaceHolderStart*
+Imap_StickyPlaceHolders latex-suite.txt /*Imap_StickyPlaceHolders*
+Imap_UsePlaceHolders latex-suite.txt /*Imap_UsePlaceHolders*
+LaTeX latexhelp.txt /*LaTeX*
+Plug_IMAP_DeleteAndJumBack latex-suite.txt /*Plug_IMAP_DeleteAndJumBack*
+Plug_IMAP_DeleteAndJumpForward latex-suite.txt /*Plug_IMAP_DeleteAndJumpForward*
+Plug_IMAP_JumpBack latex-suite.txt /*Plug_IMAP_JumpBack*
+Plug_IMAP_JumpForward latex-suite.txt /*Plug_IMAP_JumpForward*
+Plug_Tex_InsertItem latex-suite.txt /*Plug_Tex_InsertItem*
+Plug_Tex_LeftRight latex-suite.txt /*Plug_Tex_LeftRight*
+Plug_Tex_MathBF latex-suite.txt /*Plug_Tex_MathBF*
+Plug_Tex_MathCal latex-suite.txt /*Plug_Tex_MathCal*
+Roman latexhelp.txt /*Roman*
+TClearCiteHist latex-suite.txt /*TClearCiteHist*
+TLook latex-suite.txt /*TLook*
+TLookAll latex-suite.txt /*TLookAll*
+TLookBib latex-suite.txt /*TLookBib*
+TMacro latex-suite.txt /*TMacro*
+TMacroDelete latex-suite.txt /*TMacroDelete*
+TMacroEdit latex-suite.txt /*TMacroEdit*
+TMacroNew latex-suite.txt /*TMacroNew*
+TPackage latex-suite.txt /*TPackage*
+TPackageUpdate latex-suite.txt /*TPackageUpdate*
+TPackageUpdateAll latex-suite.txt /*TPackageUpdateAll*
+TPartComp latex-suite.txt /*TPartComp*
+TPartView latex-suite.txt /*TPartView*
+TSection latex-suite.txt /*TSection*
+TSectionAdvanced latex-suite.txt /*TSectionAdvanced*
+TTemplate latex-suite.txt /*TTemplate*
+Tex_AutoFolding latex-suite.txt /*Tex_AutoFolding*
+Tex_BIBINPUTS latex-suite.txt /*Tex_BIBINPUTS*
+Tex_CatchVisMapErrors latex-suite.txt /*Tex_CatchVisMapErrors*
+Tex_Com_name latex-suite.txt /*Tex_Com_name*
+Tex_CompileRule_format latex-suite.txt /*Tex_CompileRule_format*
+Tex_Debug latex-suite.txt /*Tex_Debug*
+Tex_DefaultTargetFormat latex-suite.txt /*Tex_DefaultTargetFormat*
+Tex_Diacritics latex-suite.txt /*Tex_Diacritics*
+Tex_Env_name latex-suite.txt /*Tex_Env_name*
+Tex_EnvironmentMaps latex-suite.txt /*Tex_EnvironmentMaps*
+Tex_EnvironmentMenus latex-suite.txt /*Tex_EnvironmentMenus*
+Tex_ExplorerHeight latex-suite.txt /*Tex_ExplorerHeight*
+Tex_FoldedCommands latex-suite.txt /*Tex_FoldedCommands*
+Tex_FoldedEnvironments latex-suite.txt /*Tex_FoldedEnvironments*
+Tex_FoldedMisc latex-suite.txt /*Tex_FoldedMisc*
+Tex_FoldedSections latex-suite.txt /*Tex_FoldedSections*
+Tex_Folding latex-suite.txt /*Tex_Folding*
+Tex_FontMaps latex-suite.txt /*Tex_FontMaps*
+Tex_FontMenus latex-suite.txt /*Tex_FontMenus*
+Tex_GotoError latex-suite.txt /*Tex_GotoError*
+Tex_HotKeyMappings latex-suite.txt /*Tex_HotKeyMappings*
+Tex_IgnoreLevel latex-suite.txt /*Tex_IgnoreLevel*
+Tex_IgnoredWarnings latex-suite.txt /*Tex_IgnoredWarnings*
+Tex_ImageDir latex-suite.txt /*Tex_ImageDir*
+Tex_ItemStyle_environment latex-suite.txt /*Tex_ItemStyle_environment*
+Tex_Leader latex-suite.txt /*Tex_Leader*
+Tex_Leader2 latex-suite.txt /*Tex_Leader2*
+Tex_MainFileExpression latex-suite.txt /*Tex_MainFileExpression*
+Tex_MainMenuLocation latex-suite.txt /*Tex_MainMenuLocation*
+Tex_MathMenus latex-suite.txt /*Tex_MathMenus*
+Tex_Menus latex-suite.txt /*Tex_Menus*
+Tex_MultipleCompileFormats latex-suite.txt /*Tex_MultipleCompileFormats*
+Tex_NestElementMenus latex-suite.txt /*Tex_NestElementMenus*
+Tex_NestPackagesMenu latex-suite.txt /*Tex_NestPackagesMenu*
+Tex_PackagesMenu latex-suite.txt /*Tex_PackagesMenu*
+Tex_ProjectSourceFiles latex-suite.txt /*Tex_ProjectSourceFiles*
+Tex_PromptedCommands latex-suite.txt /*Tex_PromptedCommands*
+Tex_PromptedEnvironments latex-suite.txt /*Tex_PromptedEnvironments*
+Tex_RememberCiteSearch latex-suite.txt /*Tex_RememberCiteSearch*
+Tex_SectionMaps latex-suite.txt /*Tex_SectionMaps*
+Tex_SectionMenus latex-suite.txt /*Tex_SectionMenus*
+Tex_SmartKeyBS latex-suite.txt /*Tex_SmartKeyBS*
+Tex_SmartKeyQuote latex-suite.txt /*Tex_SmartKeyQuote*
+Tex_TEXINPUTS latex-suite.txt /*Tex_TEXINPUTS*
+Tex_UseMakefile latex-suite.txt /*Tex_UseMakefile*
+Tex_UseMenuWizard latex-suite.txt /*Tex_UseMenuWizard*
+Tex_UsePython latex-suite.txt /*Tex_UsePython*
+Tex_UseSimpleLabelSearch latex-suite.txt /*Tex_UseSimpleLabelSearch*
+Tex_UseUtfMenus latex-suite.txt /*Tex_UseUtfMenus*
+Tex_ViewRuleComplete_format latex-suite.txt /*Tex_ViewRuleComplete_format*
+Tex_ViewRule_format latex-suite.txt /*Tex_ViewRule_format*
+Tex_ViewerCwindowHeight latex-suite.txt /*Tex_ViewerCwindowHeight*
+Tex_ViewerPreviewHeight latex-suite.txt /*Tex_ViewerPreviewHeight*
+Tlist_Get_Tag_Prototype_By_Line() taglist.txt /*Tlist_Get_Tag_Prototype_By_Line()*
+Tlist_Get_Tagname_By_Line() taglist.txt /*Tlist_Get_Tagname_By_Line()*
+Tlist_Set_App() taglist.txt /*Tlist_Set_App()*
+Tlist_Update_File_Tags() taglist.txt /*Tlist_Update_File_Tags()*
+Tshortcuts latex-suite.txt /*Tshortcuts*
+\Alph latexhelp.txt /*\\Alph*
+\Huge latexhelp.txt /*\\Huge*
+\LARGE latexhelp.txt /*\\LARGE*
+\Large latexhelp.txt /*\\Large*
+\Roman latexhelp.txt /*\\Roman*
+\\ latexhelp.txt /*\\\\*
+\\\\ latexhelp.txt /*\\\\\\\\*
+\addcontentsline latexhelp.txt /*\\addcontentsline*
+\address latexhelp.txt /*\\address*
+\addtocontents latexhelp.txt /*\\addtocontents*
+\addtocounter latexhelp.txt /*\\addtocounter*
+\addtolength latexhelp.txt /*\\addtolength*
+\addvspace latexhelp.txt /*\\addvspace*
+\alph latexhelp.txt /*\\alph*
+\and latexhelp.txt /*\\and*
+\appendix latexhelp.txt /*\\appendix*
+\arabic latexhelp.txt /*\\arabic*
+\author latexhelp.txt /*\\author*
+\begin latexhelp.txt /*\\begin*
+\bfseries latexhelp.txt /*\\bfseries*
+\bibitem latexhelp.txt /*\\bibitem*
+\bibliography latexhelp.txt /*\\bibliography*
+\bibliographystyle latexhelp.txt /*\\bibliographystyle*
+\bigskip latexhelp.txt /*\\bigskip*
+\cc latexhelp.txt /*\\cc*
+\cdots latexhelp.txt /*\\cdots*
+\centering latexhelp.txt /*\\centering*
+\chapter latexhelp.txt /*\\chapter*
+\circle latexhelp.txt /*\\circle*
+\cite latexhelp.txt /*\\cite*
+\cleardoublepage latexhelp.txt /*\\cleardoublepage*
+\clearpage latexhelp.txt /*\\clearpage*
+\cline latexhelp.txt /*\\cline*
+\closing latexhelp.txt /*\\closing*
+\dashbox latexhelp.txt /*\\dashbox*
+\date latexhelp.txt /*\\date*
+\ddots latexhelp.txt /*\\ddots*
+\depth latexhelp.txt /*\\depth*
+\documentclass latexhelp.txt /*\\documentclass*
+\dotfill latexhelp.txt /*\\dotfill*
+\emph latexhelp.txt /*\\emph*
+\end latexhelp.txt /*\\end*
+\enlargethispage latexhelp.txt /*\\enlargethispage*
+\fbox latexhelp.txt /*\\fbox*
+\flushbottom latexhelp.txt /*\\flushbottom*
+\fnsymbol latexhelp.txt /*\\fnsymbol*
+\fontencoding latexhelp.txt /*\\fontencoding*
+\fontfamily latexhelp.txt /*\\fontfamily*
+\fontseries latexhelp.txt /*\\fontseries*
+\fontshape latexhelp.txt /*\\fontshape*
+\fontsize latexhelp.txt /*\\fontsize*
+\footnote latexhelp.txt /*\\footnote*
+\footnotemark latexhelp.txt /*\\footnotemark*
+\footnotesize latexhelp.txt /*\\footnotesize*
+\footnotetext latexhelp.txt /*\\footnotetext*
+\frac latexhelp.txt /*\\frac*
+\frame latexhelp.txt /*\\frame*
+\framebox latexhelp.txt /*\\framebox*
+\fussy latexhelp.txt /*\\fussy*
+\height latexhelp.txt /*\\height*
+\hfill latexhelp.txt /*\\hfill*
+\hline latexhelp.txt /*\\hline*
+\hrulefill latexhelp.txt /*\\hrulefill*
+\hspace latexhelp.txt /*\\hspace*
+\huge latexhelp.txt /*\\huge*
+\hyphenation latexhelp.txt /*\\hyphenation*
+\include latexhelp.txt /*\\include*
+\includeonly latexhelp.txt /*\\includeonly*
+\indent latexhelp.txt /*\\indent*
+\input latexhelp.txt /*\\input*
+\item latexhelp.txt /*\\item*
+\itshape latexhelp.txt /*\\itshape*
+\kill latexhelp.txt /*\\kill*
+\label latexhelp.txt /*\\label*
+\large latexhelp.txt /*\\large*
+\ldots latexhelp.txt /*\\ldots*
+\lefteqn latexhelp.txt /*\\lefteqn*
+\letter latexhelp.txt /*\\letter*
+\line latexhelp.txt /*\\line*
+\linebreak latexhelp.txt /*\\linebreak*
+\linethickness latexhelp.txt /*\\linethickness*
+\listoffigures latexhelp.txt /*\\listoffigures*
+\listoftables latexhelp.txt /*\\listoftables*
+\location latexhelp.txt /*\\location*
+\lrbox latexhelp.txt /*\\lrbox*
+\makebox latexhelp.txt /*\\makebox*
+\makelabels latexhelp.txt /*\\makelabels*
+\maketitle latexhelp.txt /*\\maketitle*
+\marginpar latexhelp.txt /*\\marginpar*
+\markboth latexhelp.txt /*\\markboth*
+\markright latexhelp.txt /*\\markright*
+\mathbf latexhelp.txt /*\\mathbf*
+\mathcal latexhelp.txt /*\\mathcal*
+\mathit latexhelp.txt /*\\mathit*
+\mathnormal latexhelp.txt /*\\mathnormal*
+\mathrm latexhelp.txt /*\\mathrm*
+\mathsf latexhelp.txt /*\\mathsf*
+\mathtt latexhelp.txt /*\\mathtt*
+\mathversion latexhelp.txt /*\\mathversion*
+\mbox latexhelp.txt /*\\mbox*
+\mdseries latexhelp.txt /*\\mdseries*
+\medskip latexhelp.txt /*\\medskip*
+\multicolumn latexhelp.txt /*\\multicolumn*
+\multiput latexhelp.txt /*\\multiput*
+\name latexhelp.txt /*\\name*
+\newcommand latexhelp.txt /*\\newcommand*
+\newcounter latexhelp.txt /*\\newcounter*
+\newenvironment latexhelp.txt /*\\newenvironment*
+\newfont latexhelp.txt /*\\newfont*
+\newlength latexhelp.txt /*\\newlength*
+\newline latexhelp.txt /*\\newline*
+\newpage latexhelp.txt /*\\newpage*
+\newsavebox latexhelp.txt /*\\newsavebox*
+\newtheorem latexhelp.txt /*\\newtheorem*
+\nocite latexhelp.txt /*\\nocite*
+\nofiles latexhelp.txt /*\\nofiles*
+\noindent latexhelp.txt /*\\noindent*
+\nolinebreak latexhelp.txt /*\\nolinebreak*
+\nonumber latexhelp.txt /*\\nonumber*
+\nopagebreak latexhelp.txt /*\\nopagebreak*
+\normalfont latexhelp.txt /*\\normalfont*
+\normalsize latexhelp.txt /*\\normalsize*
+\onecolumn latexhelp.txt /*\\onecolumn*
+\opening latexhelp.txt /*\\opening*
+\oval latexhelp.txt /*\\oval*
+\overbrace latexhelp.txt /*\\overbrace*
+\overline latexhelp.txt /*\\overline*
+\pagebreak latexhelp.txt /*\\pagebreak*
+\pagenumbering latexhelp.txt /*\\pagenumbering*
+\pageref latexhelp.txt /*\\pageref*
+\pagestyle latexhelp.txt /*\\pagestyle*
+\par latexhelp.txt /*\\par*
+\paragraph latexhelp.txt /*\\paragraph*
+\parbox latexhelp.txt /*\\parbox*
+\part latexhelp.txt /*\\part*
+\picture-framebox latexhelp.txt /*\\picture-framebox*
+\ps latexhelp.txt /*\\ps*
+\pushtabs latexhelp.txt /*\\pushtabs*
+\put latexhelp.txt /*\\put*
+\raggedbottom latexhelp.txt /*\\raggedbottom*
+\raggedleft latexhelp.txt /*\\raggedleft*
+\raggedright latexhelp.txt /*\\raggedright*
+\raisebox latexhelp.txt /*\\raisebox*
+\ref latexhelp.txt /*\\ref*
+\refstepcounter latexhelp.txt /*\\refstepcounter*
+\renewcommand latexhelp.txt /*\\renewcommand*
+\renewenvironment latexhelp.txt /*\\renewenvironment*
+\reversemarginpar latexhelp.txt /*\\reversemarginpar*
+\rmfamily latexhelp.txt /*\\rmfamily*
+\roman latexhelp.txt /*\\roman*
+\rule latexhelp.txt /*\\rule*
+\savebox latexhelp.txt /*\\savebox*
+\sbox latexhelp.txt /*\\sbox*
+\scriptsize latexhelp.txt /*\\scriptsize*
+\scshape latexhelp.txt /*\\scshape*
+\section latexhelp.txt /*\\section*
+\selectfont latexhelp.txt /*\\selectfont*
+\setcounter latexhelp.txt /*\\setcounter*
+\setlength latexhelp.txt /*\\setlength*
+\settodepth latexhelp.txt /*\\settodepth*
+\settoheight latexhelp.txt /*\\settoheight*
+\settowidth latexhelp.txt /*\\settowidth*
+\sffamily latexhelp.txt /*\\sffamily*
+\shortstack latexhelp.txt /*\\shortstack*
+\signature latexhelp.txt /*\\signature*
+\sloppy latexhelp.txt /*\\sloppy*
+\slshape latexhelp.txt /*\\slshape*
+\small latexhelp.txt /*\\small*
+\smallskip latexhelp.txt /*\\smallskip*
+\space latexhelp.txt /*\\space*
+\sqrt latexhelp.txt /*\\sqrt*
+\startbreaks latexhelp.txt /*\\startbreaks*
+\stepcounter latexhelp.txt /*\\stepcounter*
+\stopbreaks latexhelp.txt /*\\stopbreaks*
+\subparagraph latexhelp.txt /*\\subparagraph*
+\subsection latexhelp.txt /*\\subsection*
+\subsubsection latexhelp.txt /*\\subsubsection*
+\symbol latexhelp.txt /*\\symbol*
+\table latexhelp.txt /*\\table*
+\tableofcontents latexhelp.txt /*\\tableofcontents*
+\telephone latexhelp.txt /*\\telephone*
+\textbf latexhelp.txt /*\\textbf*
+\textit latexhelp.txt /*\\textit*
+\textmd latexhelp.txt /*\\textmd*
+\textnormal latexhelp.txt /*\\textnormal*
+\textrm latexhelp.txt /*\\textrm*
+\textsc latexhelp.txt /*\\textsc*
+\textsf latexhelp.txt /*\\textsf*
+\textsl latexhelp.txt /*\\textsl*
+\texttt latexhelp.txt /*\\texttt*
+\textup latexhelp.txt /*\\textup*
+\thanks latexhelp.txt /*\\thanks*
+\thebibliography latexhelp.txt /*\\thebibliography*
+\thispagestyle latexhelp.txt /*\\thispagestyle*
+\tiny latexhelp.txt /*\\tiny*
+\title latexhelp.txt /*\\title*
+\totalheight latexhelp.txt /*\\totalheight*
+\ttfamily latexhelp.txt /*\\ttfamily*
+\twocolumn latexhelp.txt /*\\twocolumn*
+\typein latexhelp.txt /*\\typein*
+\typeout latexhelp.txt /*\\typeout*
+\underbrace latexhelp.txt /*\\underbrace*
+\underline latexhelp.txt /*\\underline*
+\upshape latexhelp.txt /*\\upshape*
+\usebox latexhelp.txt /*\\usebox*
+\usecounter latexhelp.txt /*\\usecounter*
+\usefont latexhelp.txt /*\\usefont*
+\usepackage latexhelp.txt /*\\usepackage*
+\value latexhelp.txt /*\\value*
+\vdots latexhelp.txt /*\\vdots*
+\vector latexhelp.txt /*\\vector*
+\verb latexhelp.txt /*\\verb*
+\vfill latexhelp.txt /*\\vfill*
+\vline latexhelp.txt /*\\vline*
+\vspace latexhelp.txt /*\\vspace*
+\width latexhelp.txt /*\\width*
+_. haskellmode.txt /*_.*
+_? haskellmode.txt /*_?*
+_?1 haskellmode.txt /*_?1*
+_?2 haskellmode.txt /*_?2*
+_T haskellmode.txt /*_T*
+_ct haskellmode.txt /*_ct*
+_i haskellmode.txt /*_i*
+_ie haskellmode.txt /*_ie*
+_im haskellmode.txt /*_im*
+_iq haskellmode.txt /*_iq*
+_iqm haskellmode.txt /*_iqm*
+_lang haskellmode.txt /*_lang*
+_opt haskellmode.txt /*_opt*
+_si haskellmode.txt /*_si*
+_t haskellmode.txt /*_t*
+adding-bib-options latex-suite.txt /*adding-bib-options*
+alph latexhelp.txt /*alph*
+altkey-mappings latex-suite.txt /*altkey-mappings*
+arabic latexhelp.txt /*arabic*
+array latexhelp.txt /*array*
+article-class latexhelp.txt /*article-class*
+auc-tex-mappings latex-suite.txt /*auc-tex-mappings*
+automatic-package-detection latex-suite.txt /*automatic-package-detection*
+bibtex latexhelp.txt /*bibtex*
+bibtex-bindings latex-suite.txt /*bibtex-bindings*
+book-class latexhelp.txt /*book-class*
+c-support csupport.txt /*c-support*
+center latexhelp.txt /*center*
+changing-commands latex-suite.txt /*changing-commands*
+changing-environments latex-suite.txt /*changing-environments*
+cite-search-caching latex-suite.txt /*cite-search-caching*
+compiler-dependency latex-suite.txt /*compiler-dependency*
+compiler-ghc haskellmode.txt /*compiler-ghc*
+compiler-output-customization latex-suite.txt /*compiler-output-customization*
+compiler-rules latex-suite.txt /*compiler-rules*
+compiling-multiple latex-suite.txt /*compiling-multiple*
+completion-window-preferences latex-suite.txt /*completion-window-preferences*
+csupport csupport.txt /*csupport*
+csupport-c++ csupport.txt /*csupport-c++*
+csupport-c++-method-impl csupport.txt /*csupport-c++-method-impl*
+csupport-c++-normal-mode csupport.txt /*csupport-c++-normal-mode*
+csupport-c++-visual-mode csupport.txt /*csupport-c++-visual-mode*
+csupport-code-to-comm csupport.txt /*csupport-code-to-comm*
+csupport-comm csupport.txt /*csupport-comm*
+csupport-comm-aligned csupport.txt /*csupport-comm-aligned*
+csupport-comm-c-cpp csupport.txt /*csupport-comm-c-cpp*
+csupport-comm-date csupport.txt /*csupport-comm-date*
+csupport-comm-frame csupport.txt /*csupport-comm-frame*
+csupport-comm-keywords csupport.txt /*csupport-comm-keywords*
+csupport-comm-realign csupport.txt /*csupport-comm-realign*
+csupport-comm-to-code csupport.txt /*csupport-comm-to-code*
+csupport-custom csupport.txt /*csupport-custom*
+csupport-custom-glob-vars csupport.txt /*csupport-custom-glob-vars*
+csupport-custom-root-menu csupport.txt /*csupport-custom-root-menu*
+csupport-dictionary csupport.txt /*csupport-dictionary*
+csupport-folding csupport.txt /*csupport-folding*
+csupport-help csupport.txt /*csupport-help*
+csupport-hotkeys csupport.txt /*csupport-hotkeys*
+csupport-idioms csupport.txt /*csupport-idioms*
+csupport-prep csupport.txt /*csupport-prep*
+csupport-prep-if0 csupport.txt /*csupport-prep-if0*
+csupport-prep-normal-mode csupport.txt /*csupport-prep-normal-mode*
+csupport-prep-visual-mode csupport.txt /*csupport-prep-visual-mode*
+csupport-proto csupport.txt /*csupport-proto*
+csupport-release-notes csupport.txt /*csupport-release-notes*
+csupport-run csupport.txt /*csupport-run*
+csupport-run-buffer csupport.txt /*csupport-run-buffer*
+csupport-run-cmdline-args csupport.txt /*csupport-run-cmdline-args*
+csupport-run-codecheck csupport.txt /*csupport-run-codecheck*
+csupport-run-hardcopy csupport.txt /*csupport-run-hardcopy*
+csupport-run-indent csupport.txt /*csupport-run-indent*
+csupport-run-make csupport.txt /*csupport-run-make*
+csupport-run-make-args csupport.txt /*csupport-run-make-args*
+csupport-run-output csupport.txt /*csupport-run-output*
+csupport-run-splint csupport.txt /*csupport-run-splint*
+csupport-run-templates csupport.txt /*csupport-run-templates*
+csupport-run-xterm csupport.txt /*csupport-run-xterm*
+csupport-snippets csupport.txt /*csupport-snippets*
+csupport-stat csupport.txt /*csupport-stat*
+csupport-stat-normal-mode csupport.txt /*csupport-stat-normal-mode*
+csupport-stat-visual-mode csupport.txt /*csupport-stat-visual-mode*
+csupport-system-wide csupport.txt /*csupport-system-wide*
+csupport-taglist csupport.txt /*csupport-taglist*
+csupport-templates csupport.txt /*csupport-templates*
+csupport-templates-date csupport.txt /*csupport-templates-date*
+csupport-templates-definition csupport.txt /*csupport-templates-definition*
+csupport-templates-expansion csupport.txt /*csupport-templates-expansion*
+csupport-templates-files csupport.txt /*csupport-templates-files*
+csupport-templates-macros csupport.txt /*csupport-templates-macros*
+csupport-templates-names csupport.txt /*csupport-templates-names*
+csupport-troubleshooting csupport.txt /*csupport-troubleshooting*
+csupport-usage-gvim csupport.txt /*csupport-usage-gvim*
+csupport-usage-vim csupport.txt /*csupport-usage-vim*
+csupport-windows csupport.txt /*csupport-windows*
+csupport.txt csupport.txt /*csupport.txt*
+custom-macros-menu latex-suite.txt /*custom-macros-menu*
+custom-packages latex-suite.txt /*custom-packages*
+customize-alt-key-maps latex-suite.txt /*customize-alt-key-maps*
+customize-imap-maps latex-suite.txt /*customize-imap-maps*
+customizing-compiling latex-suite.txt /*customizing-compiling*
+customizing-folding latex-suite.txt /*customizing-folding*
+customizing-latex-completion latex-suite.txt /*customizing-latex-completion*
+customizing-latex-suite latex-suite.txt /*customizing-latex-suite*
+customizing-macros latex-suite.txt /*customizing-macros*
+customizing-menus latex-suite.txt /*customizing-menus*
+customizing-packages latex-suite.txt /*customizing-packages*
+customizing-place-holders latex-suite.txt /*customizing-place-holders*
+customizing-smart-keys latex-suite.txt /*customizing-smart-keys*
+customizing-viewing latex-suite.txt /*customizing-viewing*
+customizing-what-to-fold latex-suite.txt /*customizing-what-to-fold*
+default-folding latex-suite.txt /*default-folding*
+description latexhelp.txt /*description*
+diacritic-mappings latex-suite.txt /*diacritic-mappings*
+displaymath latexhelp.txt /*displaymath*
+draft latexhelp.txt /*draft*
+editing-folding latex-suite.txt /*editing-folding*
+empty latexhelp.txt /*empty*
+enabling-searching latex-suite.txt /*enabling-searching*
+enclosing-commands latex-suite.txt /*enclosing-commands*
+enclosing-env-f5 latex-suite.txt /*enclosing-env-f5*
+enclosing-env-threeletter latex-suite.txt /*enclosing-env-threeletter*
+enclosing-environments latex-suite.txt /*enclosing-environments*
+enumerate latexhelp.txt /*enumerate*
+environment-mappings latex-suite.txt /*environment-mappings*
+eqnarray latexhelp.txt /*eqnarray*
+equation latexhelp.txt /*equation*
+figure latexhelp.txt /*figure*
+final latexhelp.txt /*final*
+fleqn latexhelp.txt /*fleqn*
+flushleft latexhelp.txt /*flushleft*
+flushright latexhelp.txt /*flushright*
+fold-setting-adding latex-suite.txt /*fold-setting-adding*
+fold-setting-advanced latex-suite.txt /*fold-setting-advanced*
+font-lowlevelcommands latexhelp.txt /*font-lowlevelcommands*
+font-maps latex-suite.txt /*font-maps*
+font-size latexhelp.txt /*font-size*
+font-styles latexhelp.txt /*font-styles*
+forward-searching latex-suite.txt /*forward-searching*
+g:ghc haskellmode.txt /*g:ghc*
+g:haddock_browser haskellmode.txt /*g:haddock_browser*
+g:haddock_browser_callformat haskellmode.txt /*g:haddock_browser_callformat*
+g:haddock_docdir haskellmode.txt /*g:haddock_docdir*
+g:haddock_indexfiledir haskellmode.txt /*g:haddock_indexfiledir*
+g:wget haskellmode.txt /*g:wget*
+ghc haskellmode.txt /*ghc*
+ghc-compiler haskellmode.txt /*ghc-compiler*
+greek-letter-mappings latex-suite.txt /*greek-letter-mappings*
+haddock haskellmode.txt /*haddock*
+haskellmode haskellmode.txt /*haskellmode*
+haskellmode-XO haskellmode.txt /*haskellmode-XO*
+haskellmode-XU haskellmode.txt /*haskellmode-XU*
+haskellmode-compiler haskellmode.txt /*haskellmode-compiler*
+haskellmode-editing haskellmode.txt /*haskellmode-editing*
+haskellmode-haddock haskellmode.txt /*haskellmode-haddock*
+haskellmode-hpaste haskellmode.txt /*haskellmode-hpaste*
+haskellmode-indexing haskellmode.txt /*haskellmode-indexing*
+haskellmode-lookup haskellmode.txt /*haskellmode-lookup*
+haskellmode-omni-completion haskellmode.txt /*haskellmode-omni-completion*
+haskellmode-overview haskellmode.txt /*haskellmode-overview*
+haskellmode-quickref haskellmode.txt /*haskellmode-quickref*
+haskellmode-requirements haskellmode.txt /*haskellmode-requirements*
+haskellmode-resources haskellmode.txt /*haskellmode-resources*
+haskellmode-settings haskellmode.txt /*haskellmode-settings*
+haskellmode-settings-fine haskellmode.txt /*haskellmode-settings-fine*
+haskellmode-settings-main haskellmode.txt /*haskellmode-settings-main*
+haskellmode-user-completion haskellmode.txt /*haskellmode-user-completion*
+haskellmode.txt haskellmode.txt /*haskellmode.txt*
+headings latexhelp.txt /*headings*
+hpaste haskellmode.txt /*hpaste*
+hyph- latexhelp.txt /*hyph-*
+im_1 imaps.txt /*im_1*
+imaps-usage imaps.txt /*imaps-usage*
+imaps.txt imaps.txt /*imaps.txt*
+imaps.txt-toc imaps.txt /*imaps.txt-toc*
+inserting-commands latex-suite.txt /*inserting-commands*
+inserting-env-f5 latex-suite.txt /*inserting-env-f5*
+inserting-env-shift-f1 latex-suite.txt /*inserting-env-shift-f1*
+inserting-env-threeletter latex-suite.txt /*inserting-env-threeletter*
+inserting-environments latex-suite.txt /*inserting-environments*
+inserting-packages latex-suite.txt /*inserting-packages*
+inverse-searching latex-suite.txt /*inverse-searching*
+itemize latexhelp.txt /*itemize*
+landscape latexhelp.txt /*landscape*
+latex latexhelp.txt /*latex*
+latex-boxes latexhelp.txt /*latex-boxes*
+latex-breaking latexhelp.txt /*latex-breaking*
+latex-classes latexhelp.txt /*latex-classes*
+latex-command-maps latex-suite.txt /*latex-command-maps*
+latex-commands latexhelp.txt /*latex-commands*
+latex-compiling latex-suite.txt /*latex-compiling*
+latex-completion latex-suite.txt /*latex-completion*
+latex-completion-cite latex-suite.txt /*latex-completion-cite*
+latex-counters latexhelp.txt /*latex-counters*
+latex-definitions latexhelp.txt /*latex-definitions*
+latex-environments latexhelp.txt /*latex-environments*
+latex-folding latex-suite.txt /*latex-folding*
+latex-footnotes latexhelp.txt /*latex-footnotes*
+latex-hor-space latexhelp.txt /*latex-hor-space*
+latex-inputting latexhelp.txt /*latex-inputting*
+latex-layout latexhelp.txt /*latex-layout*
+latex-lengths latexhelp.txt /*latex-lengths*
+latex-letters latexhelp.txt /*latex-letters*
+latex-macros latex-suite.txt /*latex-macros*
+latex-margin-notes latexhelp.txt /*latex-margin-notes*
+latex-master-file latex-suite.txt /*latex-master-file*
+latex-master-file-specification latex-suite.txt /*latex-master-file-specification*
+latex-math latexhelp.txt /*latex-math*
+latex-modes latexhelp.txt /*latex-modes*
+latex-package-scanning latex-suite.txt /*latex-package-scanning*
+latex-packages latex-suite.txt /*latex-packages*
+latex-page-styles latexhelp.txt /*latex-page-styles*
+latex-paragraphs latexhelp.txt /*latex-paragraphs*
+latex-parameters latexhelp.txt /*latex-parameters*
+latex-project latex-suite.txt /*latex-project*
+latex-project-example latex-suite.txt /*latex-project-example*
+latex-project-settings latex-suite.txt /*latex-project-settings*
+latex-references latexhelp.txt /*latex-references*
+latex-sectioning latexhelp.txt /*latex-sectioning*
+latex-spaces-boxes latexhelp.txt /*latex-spaces-boxes*
+latex-special latexhelp.txt /*latex-special*
+latex-start-end latexhelp.txt /*latex-start-end*
+latex-suite-commands latex-suite.txt /*latex-suite-commands*
+latex-suite-commands-maps latex-suite.txt /*latex-suite-commands-maps*
+latex-suite-credits latex-suite.txt /*latex-suite-credits*
+latex-suite-maintainer latex-suite.txt /*latex-suite-maintainer*
+latex-suite-maps latex-suite.txt /*latex-suite-maps*
+latex-suite-quickstart.txt latex-suite-quickstart.txt /*latex-suite-quickstart.txt*
+latex-suite-quickstart.txt-toc latex-suite-quickstart.txt /*latex-suite-quickstart.txt-toc*
+latex-suite-templates latex-suite.txt /*latex-suite-templates*
+latex-suite.txt latex-suite.txt /*latex-suite.txt*
+latex-suite.txt-toc latex-suite.txt /*latex-suite.txt-toc*
+latex-terminal latexhelp.txt /*latex-terminal*
+latex-toc latexhelp.txt /*latex-toc*
+latex-typefaces latexhelp.txt /*latex-typefaces*
+latex-ver-space latexhelp.txt /*latex-ver-space*
+latex-viewing latex-suite.txt /*latex-viewing*
+latex-viewing-rules latex-suite.txt /*latex-viewing-rules*
+latexhelp.txt latexhelp.txt /*latexhelp.txt*
+leqno latexhelp.txt /*leqno*
+letter-class latexhelp.txt /*letter-class*
+list latexhelp.txt /*list*
+lq_1 latex-suite-quickstart.txt /*lq_1*
+lq_10 latex-suite-quickstart.txt /*lq_10*
+lq_2 latex-suite-quickstart.txt /*lq_2*
+lq_3 latex-suite-quickstart.txt /*lq_3*
+lq_4 latex-suite-quickstart.txt /*lq_4*
+lq_5 latex-suite-quickstart.txt /*lq_5*
+lq_6 latex-suite-quickstart.txt /*lq_6*
+lq_7 latex-suite-quickstart.txt /*lq_7*
+lq_8 latex-suite-quickstart.txt /*lq_8*
+lq_8_1 latex-suite-quickstart.txt /*lq_8_1*
+lq_9 latex-suite-quickstart.txt /*lq_9*
+lq_9_1 latex-suite-quickstart.txt /*lq_9_1*
+lq_9_2 latex-suite-quickstart.txt /*lq_9_2*
+lq_a_bc latex-suite-quickstart.txt /*lq_a_bc*
+lq_a_bd latex-suite-quickstart.txt /*lq_a_bd*
+lq_a_be latex-suite-quickstart.txt /*lq_a_be*
+lq_a_bf latex-suite-quickstart.txt /*lq_a_bf*
+lq_a_bg latex-suite-quickstart.txt /*lq_a_bg*
+lq_a_bh latex-suite-quickstart.txt /*lq_a_bh*
+lq_a_bi latex-suite-quickstart.txt /*lq_a_bi*
+lq_a_bj latex-suite-quickstart.txt /*lq_a_bj*
+lq_a_bk latex-suite-quickstart.txt /*lq_a_bk*
+lq_a_bl latex-suite-quickstart.txt /*lq_a_bl*
+lq_a_bm latex-suite-quickstart.txt /*lq_a_bm*
+lq_a_bn latex-suite-quickstart.txt /*lq_a_bn*
+lq_a_bo latex-suite-quickstart.txt /*lq_a_bo*
+lq_u_1 latex-suite-quickstart.txt /*lq_u_1*
+lq_u_2 latex-suite-quickstart.txt /*lq_u_2*
+lq_u_3 latex-suite-quickstart.txt /*lq_u_3*
+lq_u_4 latex-suite-quickstart.txt /*lq_u_4*
+lq_u_5 latex-suite-quickstart.txt /*lq_u_5*
+lq_u_6 latex-suite-quickstart.txt /*lq_u_6*
+lq_u_7 latex-suite-quickstart.txt /*lq_u_7*
+lq_u_8 latex-suite-quickstart.txt /*lq_u_8*
+lq_u_9 latex-suite-quickstart.txt /*lq_u_9*
+lr-mode latexhelp.txt /*lr-mode*
+ls-completion-custom latex-suite.txt /*ls-completion-custom*
+ls-completion-ref latex-suite.txt /*ls-completion-ref*
+ls-completion-usage latex-suite.txt /*ls-completion-usage*
+ls-filename-completion latex-suite.txt /*ls-filename-completion*
+ls-general-purpose-settings latex-suite.txt /*ls-general-purpose-settings*
+ls-imap-f7 latex-suite.txt /*ls-imap-f7*
+ls-imap-s-f7 latex-suite.txt /*ls-imap-s-f7*
+ls-imaps-syntax latex-suite.txt /*ls-imaps-syntax*
+ls-new-macros latex-suite.txt /*ls-new-macros*
+ls-set-grepprg latex-suite.txt /*ls-set-grepprg*
+ls-vmap-f7 latex-suite.txt /*ls-vmap-f7*
+ls_1 latex-suite.txt /*ls_1*
+ls_10 latex-suite.txt /*ls_10*
+ls_10_1 latex-suite.txt /*ls_10_1*
+ls_10_1_1 latex-suite.txt /*ls_10_1_1*
+ls_10_1_2 latex-suite.txt /*ls_10_1_2*
+ls_10_2 latex-suite.txt /*ls_10_2*
+ls_10_2_1 latex-suite.txt /*ls_10_2_1*
+ls_10_2_10 latex-suite.txt /*ls_10_2_10*
+ls_10_2_11 latex-suite.txt /*ls_10_2_11*
+ls_10_2_12 latex-suite.txt /*ls_10_2_12*
+ls_10_2_13 latex-suite.txt /*ls_10_2_13*
+ls_10_2_14 latex-suite.txt /*ls_10_2_14*
+ls_10_2_15 latex-suite.txt /*ls_10_2_15*
+ls_10_2_16 latex-suite.txt /*ls_10_2_16*
+ls_10_2_2 latex-suite.txt /*ls_10_2_2*
+ls_10_2_3 latex-suite.txt /*ls_10_2_3*
+ls_10_2_4 latex-suite.txt /*ls_10_2_4*
+ls_10_2_5 latex-suite.txt /*ls_10_2_5*
+ls_10_2_6 latex-suite.txt /*ls_10_2_6*
+ls_10_2_7 latex-suite.txt /*ls_10_2_7*
+ls_10_2_8 latex-suite.txt /*ls_10_2_8*
+ls_10_2_9 latex-suite.txt /*ls_10_2_9*
+ls_11 latex-suite.txt /*ls_11*
+ls_11_1 latex-suite.txt /*ls_11_1*
+ls_11_10 latex-suite.txt /*ls_11_10*
+ls_11_10_1 latex-suite.txt /*ls_11_10_1*
+ls_11_1_1 latex-suite.txt /*ls_11_1_1*
+ls_11_1_2 latex-suite.txt /*ls_11_1_2*
+ls_11_2 latex-suite.txt /*ls_11_2*
+ls_11_2_1 latex-suite.txt /*ls_11_2_1*
+ls_11_2_2 latex-suite.txt /*ls_11_2_2*
+ls_11_2_3 latex-suite.txt /*ls_11_2_3*
+ls_11_2_4 latex-suite.txt /*ls_11_2_4*
+ls_11_3 latex-suite.txt /*ls_11_3*
+ls_11_3_1 latex-suite.txt /*ls_11_3_1*
+ls_11_3_10 latex-suite.txt /*ls_11_3_10*
+ls_11_3_11 latex-suite.txt /*ls_11_3_11*
+ls_11_3_12 latex-suite.txt /*ls_11_3_12*
+ls_11_3_13 latex-suite.txt /*ls_11_3_13*
+ls_11_3_2 latex-suite.txt /*ls_11_3_2*
+ls_11_3_3 latex-suite.txt /*ls_11_3_3*
+ls_11_3_4 latex-suite.txt /*ls_11_3_4*
+ls_11_3_5 latex-suite.txt /*ls_11_3_5*
+ls_11_3_6 latex-suite.txt /*ls_11_3_6*
+ls_11_3_7 latex-suite.txt /*ls_11_3_7*
+ls_11_3_8 latex-suite.txt /*ls_11_3_8*
+ls_11_3_9 latex-suite.txt /*ls_11_3_9*
+ls_11_4 latex-suite.txt /*ls_11_4*
+ls_11_4_1 latex-suite.txt /*ls_11_4_1*
+ls_11_4_2 latex-suite.txt /*ls_11_4_2*
+ls_11_5 latex-suite.txt /*ls_11_5*
+ls_11_5_1 latex-suite.txt /*ls_11_5_1*
+ls_11_5_2 latex-suite.txt /*ls_11_5_2*
+ls_11_5_3 latex-suite.txt /*ls_11_5_3*
+ls_11_5_4 latex-suite.txt /*ls_11_5_4*
+ls_11_5_5 latex-suite.txt /*ls_11_5_5*
+ls_11_6 latex-suite.txt /*ls_11_6*
+ls_11_6_1 latex-suite.txt /*ls_11_6_1*
+ls_11_6_2 latex-suite.txt /*ls_11_6_2*
+ls_11_6_3 latex-suite.txt /*ls_11_6_3*
+ls_11_6_4 latex-suite.txt /*ls_11_6_4*
+ls_11_6_5 latex-suite.txt /*ls_11_6_5*
+ls_11_6_6 latex-suite.txt /*ls_11_6_6*
+ls_11_6_7 latex-suite.txt /*ls_11_6_7*
+ls_11_6_8 latex-suite.txt /*ls_11_6_8*
+ls_11_7 latex-suite.txt /*ls_11_7*
+ls_11_7_1 latex-suite.txt /*ls_11_7_1*
+ls_11_7_2 latex-suite.txt /*ls_11_7_2*
+ls_11_8 latex-suite.txt /*ls_11_8*
+ls_11_8_1 latex-suite.txt /*ls_11_8_1*
+ls_11_8_2 latex-suite.txt /*ls_11_8_2*
+ls_11_8_3 latex-suite.txt /*ls_11_8_3*
+ls_11_8_4 latex-suite.txt /*ls_11_8_4*
+ls_11_8_5 latex-suite.txt /*ls_11_8_5*
+ls_11_8_6 latex-suite.txt /*ls_11_8_6*
+ls_11_8_7 latex-suite.txt /*ls_11_8_7*
+ls_11_9 latex-suite.txt /*ls_11_9*
+ls_11_9_1 latex-suite.txt /*ls_11_9_1*
+ls_11_9_2 latex-suite.txt /*ls_11_9_2*
+ls_12 latex-suite.txt /*ls_12*
+ls_2 latex-suite.txt /*ls_2*
+ls_3 latex-suite.txt /*ls_3*
+ls_3_1 latex-suite.txt /*ls_3_1*
+ls_3_10 latex-suite.txt /*ls_3_10*
+ls_3_10_1 latex-suite.txt /*ls_3_10_1*
+ls_3_10_2 latex-suite.txt /*ls_3_10_2*
+ls_3_10_3 latex-suite.txt /*ls_3_10_3*
+ls_3_10_4 latex-suite.txt /*ls_3_10_4*
+ls_3_11 latex-suite.txt /*ls_3_11*
+ls_3_12 latex-suite.txt /*ls_3_12*
+ls_3_12_1 latex-suite.txt /*ls_3_12_1*
+ls_3_12_2 latex-suite.txt /*ls_3_12_2*
+ls_3_1_1 latex-suite.txt /*ls_3_1_1*
+ls_3_1_1_1 latex-suite.txt /*ls_3_1_1_1*
+ls_3_1_1_2 latex-suite.txt /*ls_3_1_1_2*
+ls_3_1_1_3 latex-suite.txt /*ls_3_1_1_3*
+ls_3_1_2 latex-suite.txt /*ls_3_1_2*
+ls_3_1_2_1 latex-suite.txt /*ls_3_1_2_1*
+ls_3_1_2_2 latex-suite.txt /*ls_3_1_2_2*
+ls_3_1_3 latex-suite.txt /*ls_3_1_3*
+ls_3_2 latex-suite.txt /*ls_3_2*
+ls_3_2_1 latex-suite.txt /*ls_3_2_1*
+ls_3_2_2 latex-suite.txt /*ls_3_2_2*
+ls_3_2_3 latex-suite.txt /*ls_3_2_3*
+ls_3_3 latex-suite.txt /*ls_3_3*
+ls_3_4 latex-suite.txt /*ls_3_4*
+ls_3_5 latex-suite.txt /*ls_3_5*
+ls_3_6 latex-suite.txt /*ls_3_6*
+ls_3_7 latex-suite.txt /*ls_3_7*
+ls_3_8 latex-suite.txt /*ls_3_8*
+ls_3_8_1 latex-suite.txt /*ls_3_8_1*
+ls_3_9 latex-suite.txt /*ls_3_9*
+ls_4 latex-suite.txt /*ls_4*
+ls_4_1 latex-suite.txt /*ls_4_1*
+ls_4_2 latex-suite.txt /*ls_4_2*
+ls_4_3 latex-suite.txt /*ls_4_3*
+ls_4_3_1 latex-suite.txt /*ls_4_3_1*
+ls_4_4 latex-suite.txt /*ls_4_4*
+ls_4_4_1 latex-suite.txt /*ls_4_4_1*
+ls_4_4_2 latex-suite.txt /*ls_4_4_2*
+ls_5 latex-suite.txt /*ls_5*
+ls_5_1 latex-suite.txt /*ls_5_1*
+ls_5_2 latex-suite.txt /*ls_5_2*
+ls_5_3 latex-suite.txt /*ls_5_3*
+ls_5_3_1 latex-suite.txt /*ls_5_3_1*
+ls_5_4 latex-suite.txt /*ls_5_4*
+ls_5_5 latex-suite.txt /*ls_5_5*
+ls_6 latex-suite.txt /*ls_6*
+ls_6_1 latex-suite.txt /*ls_6_1*
+ls_6_2 latex-suite.txt /*ls_6_2*
+ls_6_3 latex-suite.txt /*ls_6_3*
+ls_6_4 latex-suite.txt /*ls_6_4*
+ls_6_5 latex-suite.txt /*ls_6_5*
+ls_7 latex-suite.txt /*ls_7*
+ls_7_1 latex-suite.txt /*ls_7_1*
+ls_7_2 latex-suite.txt /*ls_7_2*
+ls_7_3 latex-suite.txt /*ls_7_3*
+ls_8 latex-suite.txt /*ls_8*
+ls_8_1 latex-suite.txt /*ls_8_1*
+ls_8_2 latex-suite.txt /*ls_8_2*
+ls_8_2_1 latex-suite.txt /*ls_8_2_1*
+ls_8_2_2 latex-suite.txt /*ls_8_2_2*
+ls_8_2_3 latex-suite.txt /*ls_8_2_3*
+ls_8_2_4 latex-suite.txt /*ls_8_2_4*
+ls_8_2_5 latex-suite.txt /*ls_8_2_5*
+ls_8_3 latex-suite.txt /*ls_8_3*
+ls_9 latex-suite.txt /*ls_9*
+ls_9_1 latex-suite.txt /*ls_9_1*
+ls_9_2 latex-suite.txt /*ls_9_2*
+ls_a_bA latex-suite.txt /*ls_a_bA*
+ls_a_bB latex-suite.txt /*ls_a_bB*
+ls_a_bC latex-suite.txt /*ls_a_bC*
+ls_a_bD latex-suite.txt /*ls_a_bD*
+ls_a_bE latex-suite.txt /*ls_a_bE*
+ls_a_bF latex-suite.txt /*ls_a_bF*
+ls_a_bG latex-suite.txt /*ls_a_bG*
+ls_a_bH latex-suite.txt /*ls_a_bH*
+ls_a_bI latex-suite.txt /*ls_a_bI*
+ls_a_bJ latex-suite.txt /*ls_a_bJ*
+ls_a_bK latex-suite.txt /*ls_a_bK*
+ls_a_bL latex-suite.txt /*ls_a_bL*
+ls_a_bM latex-suite.txt /*ls_a_bM*
+ls_a_bN latex-suite.txt /*ls_a_bN*
+ls_a_bO latex-suite.txt /*ls_a_bO*
+ls_a_bP latex-suite.txt /*ls_a_bP*
+ls_a_bQ latex-suite.txt /*ls_a_bQ*
+ls_a_bR latex-suite.txt /*ls_a_bR*
+ls_a_bS latex-suite.txt /*ls_a_bS*
+ls_a_bT latex-suite.txt /*ls_a_bT*
+ls_a_bU latex-suite.txt /*ls_a_bU*
+ls_a_bV latex-suite.txt /*ls_a_bV*
+ls_a_bW latex-suite.txt /*ls_a_bW*
+ls_a_bX latex-suite.txt /*ls_a_bX*
+ls_a_bY latex-suite.txt /*ls_a_bY*
+ls_a_bZ latex-suite.txt /*ls_a_bZ*
+ls_a_bc latex-suite.txt /*ls_a_bc*
+ls_a_bd latex-suite.txt /*ls_a_bd*
+ls_a_be latex-suite.txt /*ls_a_be*
+ls_a_bf latex-suite.txt /*ls_a_bf*
+ls_a_bg latex-suite.txt /*ls_a_bg*
+ls_a_bh latex-suite.txt /*ls_a_bh*
+ls_a_bi latex-suite.txt /*ls_a_bi*
+ls_a_bj latex-suite.txt /*ls_a_bj*
+ls_a_bk latex-suite.txt /*ls_a_bk*
+ls_a_bl latex-suite.txt /*ls_a_bl*
+ls_a_bm latex-suite.txt /*ls_a_bm*
+ls_a_bn latex-suite.txt /*ls_a_bn*
+ls_a_bo latex-suite.txt /*ls_a_bo*
+ls_a_bp latex-suite.txt /*ls_a_bp*
+ls_a_bq latex-suite.txt /*ls_a_bq*
+ls_a_br latex-suite.txt /*ls_a_br*
+ls_a_bs latex-suite.txt /*ls_a_bs*
+ls_a_bt latex-suite.txt /*ls_a_bt*
+ls_a_bu latex-suite.txt /*ls_a_bu*
+ls_a_bv latex-suite.txt /*ls_a_bv*
+ls_a_bw latex-suite.txt /*ls_a_bw*
+ls_a_bx latex-suite.txt /*ls_a_bx*
+ls_a_by latex-suite.txt /*ls_a_by*
+ls_a_bz latex-suite.txt /*ls_a_bz*
+ls_a_cA latex-suite.txt /*ls_a_cA*
+ls_a_cB latex-suite.txt /*ls_a_cB*
+ls_a_cC latex-suite.txt /*ls_a_cC*
+ls_a_cD latex-suite.txt /*ls_a_cD*
+ls_a_cE latex-suite.txt /*ls_a_cE*
+ls_a_cF latex-suite.txt /*ls_a_cF*
+ls_a_cG latex-suite.txt /*ls_a_cG*
+ls_a_cH latex-suite.txt /*ls_a_cH*
+ls_a_cI latex-suite.txt /*ls_a_cI*
+ls_a_cJ latex-suite.txt /*ls_a_cJ*
+ls_a_cK latex-suite.txt /*ls_a_cK*
+ls_a_cL latex-suite.txt /*ls_a_cL*
+ls_a_cM latex-suite.txt /*ls_a_cM*
+ls_a_cN latex-suite.txt /*ls_a_cN*
+ls_a_cO latex-suite.txt /*ls_a_cO*
+ls_a_cP latex-suite.txt /*ls_a_cP*
+ls_a_cQ latex-suite.txt /*ls_a_cQ*
+ls_a_cR latex-suite.txt /*ls_a_cR*
+ls_a_cS latex-suite.txt /*ls_a_cS*
+ls_a_cT latex-suite.txt /*ls_a_cT*
+ls_a_cU latex-suite.txt /*ls_a_cU*
+ls_a_cV latex-suite.txt /*ls_a_cV*
+ls_a_cW latex-suite.txt /*ls_a_cW*
+ls_a_cX latex-suite.txt /*ls_a_cX*
+ls_a_cY latex-suite.txt /*ls_a_cY*
+ls_a_cZ latex-suite.txt /*ls_a_cZ*
+ls_a_ca latex-suite.txt /*ls_a_ca*
+ls_a_cb latex-suite.txt /*ls_a_cb*
+ls_a_cc latex-suite.txt /*ls_a_cc*
+ls_a_cd latex-suite.txt /*ls_a_cd*
+ls_a_ce latex-suite.txt /*ls_a_ce*
+ls_a_cf latex-suite.txt /*ls_a_cf*
+ls_a_cg latex-suite.txt /*ls_a_cg*
+ls_a_ch latex-suite.txt /*ls_a_ch*
+ls_a_ci latex-suite.txt /*ls_a_ci*
+ls_a_cj latex-suite.txt /*ls_a_cj*
+ls_a_ck latex-suite.txt /*ls_a_ck*
+ls_a_cl latex-suite.txt /*ls_a_cl*
+ls_a_cm latex-suite.txt /*ls_a_cm*
+ls_a_cn latex-suite.txt /*ls_a_cn*
+ls_a_co latex-suite.txt /*ls_a_co*
+ls_a_cp latex-suite.txt /*ls_a_cp*
+ls_a_cq latex-suite.txt /*ls_a_cq*
+ls_a_cr latex-suite.txt /*ls_a_cr*
+ls_a_cs latex-suite.txt /*ls_a_cs*
+ls_a_ct latex-suite.txt /*ls_a_ct*
+ls_a_cu latex-suite.txt /*ls_a_cu*
+ls_a_cv latex-suite.txt /*ls_a_cv*
+ls_a_cw latex-suite.txt /*ls_a_cw*
+ls_a_cx latex-suite.txt /*ls_a_cx*
+ls_a_cy latex-suite.txt /*ls_a_cy*
+ls_a_cz latex-suite.txt /*ls_a_cz*
+ls_a_dA latex-suite.txt /*ls_a_dA*
+ls_a_dB latex-suite.txt /*ls_a_dB*
+ls_a_dC latex-suite.txt /*ls_a_dC*
+ls_a_dD latex-suite.txt /*ls_a_dD*
+ls_a_dE latex-suite.txt /*ls_a_dE*
+ls_a_dF latex-suite.txt /*ls_a_dF*
+ls_a_dG latex-suite.txt /*ls_a_dG*
+ls_a_dH latex-suite.txt /*ls_a_dH*
+ls_a_dI latex-suite.txt /*ls_a_dI*
+ls_a_dJ latex-suite.txt /*ls_a_dJ*
+ls_a_dK latex-suite.txt /*ls_a_dK*
+ls_a_dL latex-suite.txt /*ls_a_dL*
+ls_a_dM latex-suite.txt /*ls_a_dM*
+ls_a_dN latex-suite.txt /*ls_a_dN*
+ls_a_dO latex-suite.txt /*ls_a_dO*
+ls_a_dP latex-suite.txt /*ls_a_dP*
+ls_a_dQ latex-suite.txt /*ls_a_dQ*
+ls_a_dR latex-suite.txt /*ls_a_dR*
+ls_a_dS latex-suite.txt /*ls_a_dS*
+ls_a_dT latex-suite.txt /*ls_a_dT*
+ls_a_dU latex-suite.txt /*ls_a_dU*
+ls_a_dV latex-suite.txt /*ls_a_dV*
+ls_a_dW latex-suite.txt /*ls_a_dW*
+ls_a_dX latex-suite.txt /*ls_a_dX*
+ls_a_dY latex-suite.txt /*ls_a_dY*
+ls_a_dZ latex-suite.txt /*ls_a_dZ*
+ls_a_da latex-suite.txt /*ls_a_da*
+ls_a_db latex-suite.txt /*ls_a_db*
+ls_a_dc latex-suite.txt /*ls_a_dc*
+ls_a_dd latex-suite.txt /*ls_a_dd*
+ls_a_de latex-suite.txt /*ls_a_de*
+ls_a_df latex-suite.txt /*ls_a_df*
+ls_a_dg latex-suite.txt /*ls_a_dg*
+ls_a_dh latex-suite.txt /*ls_a_dh*
+ls_a_di latex-suite.txt /*ls_a_di*
+ls_a_dj latex-suite.txt /*ls_a_dj*
+ls_a_dk latex-suite.txt /*ls_a_dk*
+ls_a_dl latex-suite.txt /*ls_a_dl*
+ls_a_dm latex-suite.txt /*ls_a_dm*
+ls_a_dn latex-suite.txt /*ls_a_dn*
+ls_a_do latex-suite.txt /*ls_a_do*
+ls_a_dp latex-suite.txt /*ls_a_dp*
+ls_a_dq latex-suite.txt /*ls_a_dq*
+ls_a_dr latex-suite.txt /*ls_a_dr*
+ls_a_ds latex-suite.txt /*ls_a_ds*
+ls_a_dt latex-suite.txt /*ls_a_dt*
+ls_a_du latex-suite.txt /*ls_a_du*
+ls_a_dv latex-suite.txt /*ls_a_dv*
+ls_a_dw latex-suite.txt /*ls_a_dw*
+ls_a_dx latex-suite.txt /*ls_a_dx*
+ls_a_dy latex-suite.txt /*ls_a_dy*
+ls_a_dz latex-suite.txt /*ls_a_dz*
+ls_a_eA latex-suite.txt /*ls_a_eA*
+ls_a_eB latex-suite.txt /*ls_a_eB*
+ls_a_eC latex-suite.txt /*ls_a_eC*
+ls_a_eD latex-suite.txt /*ls_a_eD*
+ls_a_eE latex-suite.txt /*ls_a_eE*
+ls_a_eF latex-suite.txt /*ls_a_eF*
+ls_a_eG latex-suite.txt /*ls_a_eG*
+ls_a_ea latex-suite.txt /*ls_a_ea*
+ls_a_eb latex-suite.txt /*ls_a_eb*
+ls_a_ec latex-suite.txt /*ls_a_ec*
+ls_a_ed latex-suite.txt /*ls_a_ed*
+ls_a_ee latex-suite.txt /*ls_a_ee*
+ls_a_ef latex-suite.txt /*ls_a_ef*
+ls_a_eg latex-suite.txt /*ls_a_eg*
+ls_a_eh latex-suite.txt /*ls_a_eh*
+ls_a_ei latex-suite.txt /*ls_a_ei*
+ls_a_ej latex-suite.txt /*ls_a_ej*
+ls_a_ek latex-suite.txt /*ls_a_ek*
+ls_a_el latex-suite.txt /*ls_a_el*
+ls_a_em latex-suite.txt /*ls_a_em*
+ls_a_en latex-suite.txt /*ls_a_en*
+ls_a_eo latex-suite.txt /*ls_a_eo*
+ls_a_ep latex-suite.txt /*ls_a_ep*
+ls_a_eq latex-suite.txt /*ls_a_eq*
+ls_a_er latex-suite.txt /*ls_a_er*
+ls_a_es latex-suite.txt /*ls_a_es*
+ls_a_et latex-suite.txt /*ls_a_et*
+ls_a_eu latex-suite.txt /*ls_a_eu*
+ls_a_ev latex-suite.txt /*ls_a_ev*
+ls_a_ew latex-suite.txt /*ls_a_ew*
+ls_a_ex latex-suite.txt /*ls_a_ex*
+ls_a_ey latex-suite.txt /*ls_a_ey*
+ls_a_ez latex-suite.txt /*ls_a_ez*
+ls_u_1 latex-suite.txt /*ls_u_1*
+ls_u_2 latex-suite.txt /*ls_u_2*
+ls_u_3 latex-suite.txt /*ls_u_3*
+ls_u_4 latex-suite.txt /*ls_u_4*
+lsq-compiling latex-suite-quickstart.txt /*lsq-compiling*
+lsq-conclusions latex-suite-quickstart.txt /*lsq-conclusions*
+lsq-debugging latex-suite-quickstart.txt /*lsq-debugging*
+lsq-folding latex-suite-quickstart.txt /*lsq-folding*
+lsq-insert-environment latex-suite-quickstart.txt /*lsq-insert-environment*
+lsq-inserting-reference latex-suite-quickstart.txt /*lsq-inserting-reference*
+lsq-inserting-template latex-suite-quickstart.txt /*lsq-inserting-template*
+lsq-keyboard-shortcuts latex-suite-quickstart.txt /*lsq-keyboard-shortcuts*
+lsq-lsq-inserting-package latex-suite-quickstart.txt /*lsq-lsq-inserting-package*
+lsq-quick-forward-searching latex-suite-quickstart.txt /*lsq-quick-forward-searching*
+lsq-quick-inverse-searching latex-suite-quickstart.txt /*lsq-quick-inverse-searching*
+lsq-using-tutorial latex-suite-quickstart.txt /*lsq-using-tutorial*
+lsq-viewing-dvi latex-suite-quickstart.txt /*lsq-viewing-dvi*
+macro-enabling latex-suite.txt /*macro-enabling*
+math, latexhelp.txt /*math,*
+math-misc latexhelp.txt /*math-misc*
+math-mode latexhelp.txt /*math-mode*
+math-spacing latexhelp.txt /*math-spacing*
+math-symbols latexhelp.txt /*math-symbols*
+math: latexhelp.txt /*math:*
+math; latexhelp.txt /*math;*
+matn! latexhelp.txt /*matn!*
+minipage latexhelp.txt /*minipage*
+notitlepage latexhelp.txt /*notitlepage*
+onecolumn latexhelp.txt /*onecolumn*
+oneside latexhelp.txt /*oneside*
+openany latexhelp.txt /*openany*
+openbib latexhelp.txt /*openbib*
+openright latexhelp.txt /*openright*
+otl2html vo_readme.txt.gz /*otl2html*
+overriding-macros latex-suite.txt /*overriding-macros*
+package-actions latex-suite.txt /*package-actions*
+paragraph-mode latexhelp.txt /*paragraph-mode*
+part-compiling latex-suite.txt /*part-compiling*
+pausing-imaps latex-suite.txt /*pausing-imaps*
+picture latexhelp.txt /*picture*
+picture-makebox latexhelp.txt /*picture-makebox*
+place-holder latex-suite.txt /*place-holder*
+place-holders latex-suite.txt /*place-holders*
+plain latexhelp.txt /*plain*
+pre-lengths latexhelp.txt /*pre-lengths*
+ps_color.txt ps_color.txt /*ps_color.txt*
+ps_colour ps_color.txt /*ps_colour*
+psc ps_color.txt /*psc*
+psc-about-background ps_color.txt /*psc-about-background*
+psc-change-background ps_color.txt /*psc-change-background*
+psc-contents ps_color.txt /*psc-contents*
+psc-cterm ps_color.txt /*psc-cterm*
+psc-cterm-color-table ps_color.txt /*psc-cterm-color-table*
+psc-cterm-incompatible ps_color.txt /*psc-cterm-incompatible*
+psc-cterm-nt ps_color.txt /*psc-cterm-nt*
+psc-cterm-others ps_color.txt /*psc-cterm-others*
+psc-cterm-xterm ps_color.txt /*psc-cterm-xterm*
+psc-faq ps_color.txt /*psc-faq*
+psc-faq-ffothers ps_color.txt /*psc-faq-ffothers*
+psc-features ps_color.txt /*psc-features*
+psc-options ps_color.txt /*psc-options*
+psc-overview ps_color.txt /*psc-overview*
+psc-release-notes ps_color.txt /*psc-release-notes*
+psc-tips ps_color.txt /*psc-tips*
+psc-todo ps_color.txt /*psc-todo*
+psc-usage ps_color.txt /*psc-usage*
+psc_cterm_style ps_color.txt /*psc_cterm_style*
+psc_fontface ps_color.txt /*psc_fontface*
+psc_inversed_todo ps_color.txt /*psc_inversed_todo*
+psc_statement_different_from_type ps_color.txt /*psc_statement_different_from_type*
+psc_style ps_color.txt /*psc_style*
+psc_use_default_for_cterm ps_color.txt /*psc_use_default_for_cterm*
+pscolor ps_color.txt /*pscolor*
+quotation latexhelp.txt /*quotation*
+quote-l latexhelp.txt /*quote-l*
+recommended-settings latex-suite.txt /*recommended-settings*
+remapping-latex-suite-keys latex-suite.txt /*remapping-latex-suite-keys*
+report-class latexhelp.txt /*report-class*
+roman latexhelp.txt /*roman*
+rqno latexhelp.txt /*rqno*
+section-mappings latex-suite.txt /*section-mappings*
+slides-class latexhelp.txt /*slides-class*
+smart-backspace latex-suite.txt /*smart-backspace*
+smart-keys latex-suite.txt /*smart-keys*
+sub-sup latexhelp.txt /*sub-sup*
+subscripts latexhelp.txt /*subscripts*
+superscripts latexhelp.txt /*superscripts*
+supporting-packages latex-suite.txt /*supporting-packages*
+tab' latexhelp.txt /*tab'*
+tab+ latexhelp.txt /*tab+*
+tab- latexhelp.txt /*tab-*
+tab< latexhelp.txt /*tab<*
+tab= latexhelp.txt /*tab=*
+tab> latexhelp.txt /*tab>*
+tab` latexhelp.txt /*tab`*
+taba latexhelp.txt /*taba*
+tabbing latexhelp.txt /*tabbing*
+tabular latexhelp.txt /*tabular*
+taglist-commands taglist.txt /*taglist-commands*
+taglist-debug taglist.txt /*taglist-debug*
+taglist-extend taglist.txt /*taglist-extend*
+taglist-faq taglist.txt /*taglist-faq*
+taglist-functions taglist.txt /*taglist-functions*
+taglist-install taglist.txt /*taglist-install*
+taglist-internet taglist.txt /*taglist-internet*
+taglist-intro taglist.txt /*taglist-intro*
+taglist-keys taglist.txt /*taglist-keys*
+taglist-license taglist.txt /*taglist-license*
+taglist-menu taglist.txt /*taglist-menu*
+taglist-options taglist.txt /*taglist-options*
+taglist-requirements taglist.txt /*taglist-requirements*
+taglist-session taglist.txt /*taglist-session*
+taglist-todo taglist.txt /*taglist-todo*
+taglist-using taglist.txt /*taglist-using*
+taglist.txt taglist.txt /*taglist.txt*
+theorem latexhelp.txt /*theorem*
+titlepage latexhelp.txt /*titlepage*
+twocolumn latexhelp.txt /*twocolumn*
+twoside latexhelp.txt /*twoside*
+verbatim latexhelp.txt /*verbatim*
+verse latexhelp.txt /*verse*
+vimoutliner vo_readme.txt.gz /*vimoutliner*
+vo vo_readme.txt.gz /*vo*
+vo-activities vo_readme.txt.gz /*vo-activities*
+vo-advanced vo_readme.txt.gz /*vo-advanced*
+vo-cautions vo_readme.txt.gz /*vo-cautions*
+vo-checkbox vo_readme.txt.gz /*vo-checkbox*
+vo-color vo_readme.txt.gz /*vo-color*
+vo-command vo_readme.txt.gz /*vo-command*
+vo-debian vo_readme.txt.gz /*vo-debian*
+vo-executable-lines vo_readme.txt.gz /*vo-executable-lines*
+vo-hoisting vo_readme.txt.gz /*vo-hoisting*
+vo-install vo_readme.txt.gz /*vo-install*
+vo-license vo_readme.txt.gz /*vo-license*
+vo-maketags vo_readme.txt.gz /*vo-maketags*
+vo-menu vo_readme.txt.gz /*vo-menu*
+vo-objects vo_readme.txt.gz /*vo-objects*
+vo-other-files vo_readme.txt.gz /*vo-other-files*
+vo-other-info vo_readme.txt.gz /*vo-other-info*
+vo-philosophy vo_readme.txt.gz /*vo-philosophy*
+vo-plugins vo_readme.txt.gz /*vo-plugins*
+vo-post-processors vo_readme.txt.gz /*vo-post-processors*
+vo-running vo_readme.txt.gz /*vo-running*
+vo-scripts vo_readme.txt.gz /*vo-scripts*
+vo-testing vo_readme.txt.gz /*vo-testing*
+vo-troubleshooting vo_readme.txt.gz /*vo-troubleshooting*
+vo-version vo_readme.txt.gz /*vo-version*
+vo_readme.txt vo_readme.txt.gz /*vo_readme.txt*
+why-IMAP latex-suite.txt /*why-IMAP*