diff options
Diffstat (limited to '')
-rw-r--r-- | dot_vim/doc/csupport.txt | 1577 | ||||
-rw-r--r-- | dot_vim/doc/haskellmode.txt | 456 | ||||
-rw-r--r-- | dot_vim/doc/imaps.txt | 116 | ||||
-rw-r--r-- | dot_vim/doc/latex-suite-quickstart.txt | 448 | ||||
-rw-r--r-- | dot_vim/doc/latex-suite.txt | 3418 | ||||
-rw-r--r-- | dot_vim/doc/latexhelp.txt | 2430 | ||||
-rw-r--r-- | dot_vim/doc/ps_color.txt | 585 | ||||
-rwxr-xr-x | dot_vim/doc/taglist.txt | 1501 | ||||
-rw-r--r-- | dot_vim/doc/tags | 1138 |
9 files changed, 0 insertions, 11669 deletions
diff --git a/dot_vim/doc/csupport.txt b/dot_vim/doc/csupport.txt deleted file mode 100644 index 266b8db..0000000 --- a/dot_vim/doc/csupport.txt +++ /dev/null @@ -1,1577 +0,0 @@ -*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 deleted file mode 100644 index 905349c..0000000 --- a/dot_vim/doc/haskellmode.txt +++ /dev/null @@ -1,456 +0,0 @@ -*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 deleted file mode 100644 index 087b3db..0000000 --- a/dot_vim/doc/imaps.txt +++ /dev/null @@ -1,116 +0,0 @@ - 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 deleted file mode 100644 index 8c18b72..0000000 --- a/dot_vim/doc/latex-suite-quickstart.txt +++ /dev/null @@ -1,448 +0,0 @@ - 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{}<++>)<++> - 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 deleted file mode 100644 index a44cd9b..0000000 --- a/dot_vim/doc/latex-suite.txt +++ /dev/null @@ -1,3418 +0,0 @@ - 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 deleted file mode 100644 index 2782424..0000000 --- a/dot_vim/doc/latexhelp.txt +++ /dev/null @@ -1,2430 +0,0 @@ -*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 deleted file mode 100644 index caf6a4a..0000000 --- a/dot_vim/doc/ps_color.txt +++ /dev/null @@ -1,585 +0,0 @@ -*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 deleted file mode 100755 index 6a62b39..0000000 --- a/dot_vim/doc/taglist.txt +++ /dev/null @@ -1,1501 +0,0 @@ -*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 deleted file mode 100644 index 9049f74..0000000 --- a/dot_vim/doc/tags +++ /dev/null @@ -1,1138 +0,0 @@ -'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* |