diff options
Diffstat (limited to 'Build/source/texk/chktex/ChkTeX.readme')
-rw-r--r-- | Build/source/texk/chktex/ChkTeX.readme | 515 |
1 files changed, 0 insertions, 515 deletions
diff --git a/Build/source/texk/chktex/ChkTeX.readme b/Build/source/texk/chktex/ChkTeX.readme deleted file mode 100644 index 9d9dc96ae3c..00000000000 --- a/Build/source/texk/chktex/ChkTeX.readme +++ /dev/null @@ -1,515 +0,0 @@ -Short: v1.5. Finds typographic errors in LaTeX -Author: <jensthi@ifi.uio.no> (Jens T. Berger Thielemann) -Uploader: <jensthi@ifi.uio.no> (Jens T. Berger Thielemann) -Type: text/tex -Replaces: text/tex/ChkTeX.lha -Version: 1.5 -URL: http://www.ifi.uio.no/~jensthi/chktex/ -Porting: <bjort@ifi.uio.no> (Bjørn Ove Thue) [MSDOS] - <fritsch@hmi.de> (Wolfgang Fritsch) [OS/2] - - - ##### ### ### ######## ### ## - ### ## ## ## ## ## # - @@ @@ @@@ @@ @@ @@ ####### @@ @ - @@ @@@ @@ @@ @@ @@ ## # @@ - && && && &&&& && @@ & && - &&& && && && && && && @@@@ & && - %%%%% %%% %%% %%% %%% %% && %%% %%% v1.5 - && & - %%%%%%% - - Introduction - - This program has been written in frustration because some constructs - in LaTeX are sometimes non-intuitive, and easy to forget. It is _not_ - a replacement for the built-in checker in LaTeX; however it catches - some typographic errors LaTeX oversees. In other words, it is Lint for - LaTeX. Filters are also provided for checking the LaTeX parts of CWEB - documents. - - It is written in ANSI C and compiles silently under GCC using ``-Wall - -ansi -pedantic'' and almost all warning flags. This means that you - can compile & use the program on your favorite machine. Full source - included. - - The program also supports output formats suitable for further - processing by editors or other programs, making errors easy to cycle - through. Software is provided for beautifully interfacing against the - AUC-TeX Emacs mode, CygnusED, GoldEd and various Amiga message - browsers. - - The program itself does not have any machine requirements; Amiga, - MSDOS and OS/2 binaries are available. Of course, you'll need ARexx - and ScMsg or VBrowse to benefit from the ARexx scripts. - - Features - - ChkTeX begins to get quite a few bells & whistles now. However, you - should be aware of that in most cases, all this is transparent to the - user. As you will see, ChkTeX offers the ability to adapt to many - environments and configurations. - -New features - - Modifications and additions since v1.4: - - Program - - Modifications to the executable itself: - * As usual, a few more warnings: - + No space or similar in front/after parenthesis. - + Demands a consistent quote style. - + Double spaces in input which will not be rendered as one. - + Punctuation malplaced regarding to math mode. - + Warns about TeX primitives. - + Space in front of footnotes. - + Bogus \left and \right commands. - * The abbreviation recognizer has (for the last time?) been - redesigned. We now produce far less false warnings, catch more - cases and do all this faster than before. Seems like a win. - Done much of the same with the italic correction detection part, - too... - * Some bugs have been silently fixed. Hot spots in the program have - been optimized; in certain cases this in fact doubles the speed! - Along with this goes more code elegance and utilization of macro - processing and the C language. Take a look at ``Resource.[ch]''. - * It's possible to specify separate output-formats depending on - whether you are sending the output to a file/pipe or to a - terminal. - * Column positions are finally correct; we now expand tabs - correctly. - * ChkTeX will now recursively search for \input'ed files, both in - the document and on the commandline. See the ``chktexrc'' file for - more info. - * The debug switch is now more intelligent; if you wish to hack a - bit on ChkTeX for yourself, it is possible to produce selective - debugging output. The feature can also be disabled altogether. - * MS-DOS and OS/2 version of the program is now more flexible and - well-behaved, thanks to Gerd Böhm. - * You may now say ``-wall'' to make all messages warnings, and turn - them on. - * Uses termcap on UNIX boxes; this should ensure that ``-v2'' (or - more precisely: ``%i'' and ``%I'') works regardless to what - terminal you are using. - - Resource file - - New concepts introduced in the setup file: - * You may now specify both case-sensitive and case-insensitive user - patterns in the ``chktexrc'' file. In addition; it is now possible - to reset/clear lists. - * It is possible to specify how many arguments (optional/required) - ``WIPEARG'' should wipe; it behaves also somewhat more intelligent - when the arguments stretch over multiple lines. - * Global files will be read _in addition_ to local ones. The - searching order has also been reversed in order to make this more - intelligent. - - Other - - Various other stuff I've done to the product: - - * The documentation has been polished and should now be easier to - use in practical situations. - * ``check'' target in ``Makefile'', so you can check that the - installation succeeded. In fact, the ``Makefile'' has been - enhanced in several other ways too, amongst other it is now GNU - conforming. - * ``deweb'' is now documented; you may say ``man deweb'' to get a - few words of advice. The support script (chkweb) does now behave - as the remaining package (accepting stdin input and flags). - * I've written an Emacs hack which magically adds ChkTeX to the list - of AUC-TeX commands; thus making the use of the program even more - trivial. - For those of you who don't wish to mess with Emacs, I've included - a trivial lacheck <-> ChkTeX interface. - This means that you now can use ChkTeX just as easily as lacheck - when you're running AUC-TeX. - * Added an ARexx script which lets ChkTeX talk to VBrowse, the - message browser of Volker Barthelmann's freely distributable ANSI - C compiler. The browser itself is available on Aminet as - ``dev/c/vbcc.lha''. - -Feature list - - * Supports over 40 warnings. Warnings include: - + Commands terminated with space. Ignores ``\tt'', etc. - + Space in front of references instead of ``~''. - + Forgetting to group parenthesis characters when - sub-/superscripting. - + Italic correction (``\/'') mistakes (double, missing, - unnecessary). - + Parenthesis and environment matching. - + Ellipsis detection; also checks whether to use ``\dots'', - ``\cdots'' or ``\ldots''. - + Enforcement of normal space after abbreviation. Detects most - abbreviations automagically. - + Enforcement of end-of-sentence space when the last sentence - ended with capital letter. - + Math-mode on/off detection. - + Quote checking, both wrong types (``"'') and wrong direction. - + Recommends splitting three quotes in a row. - + Searching for user patterns. - + Displays comments. - + Space in front of ``\label'' and similar commands. - + Use of ``x'' instead of ``$\times$'' between numbers. - + Multiple spaces in input which will be rendered as one space - (or multiple spaces, where that is undesirable). - + Warns about text which may be ignored. - + Mathematical operators typeset as variables. - + No space in front of/after parenthesis. - + Demands a consistent quote style. - + Punctuation inside inner math mode/outside display math mode. - + Use of TeX primitives where LaTeX equivalents are available. - + Space in front of footnotes. - + Bogus characters following commands. - * Fully customizable. Intelligent resource format makes it possible - to make ChkTeX respect your LaTeX setup. Even command-line options - may be specified globally in the ``chktexrc'' file. - * Supports ``\input'' command; both TeX and LaTeX version. Actually - includes the files. ``TEXINPUTS''-equivalent search path. - * Intelligent warning/error handling. The user may promote/mute - warnings to suit his preferences. You may also mute warnings in - the header of a file; thus killing much unwanted garbage. - * Scripts included for checking CWEB files written in LaTeX. - (Requires perl v5). - * Supports both LaTeX 2.09 and LaTeX2e. - * Flexible output handling. Has some predefined formats and lets the - user specify his own format. Uses a ``printf()'' similar syntax. - ``lacheck'' compatible mode included for interfacing with the - AUC-TeX Emacs mode. - * ARexx scripts for interfacing with ScMsg and VBrowse are included. - Special scripts included for CygnusED/GoldED, for binding to - hotkey. - * Amiga Workbench support. Parameters may be passed by - shift-clicking the LaTeX files and setting the remaining options - in the tooltypes. - * Wildcard matching (Amiga only). Matches file patterns internally, - thus saving a lot of work. This is, however, platform-specific - code -- on UNIX boxes this is done by the shell. - * Written in ANSI C. ``configure'' script included for easy setup - and installation on UNIX systems. - - Still, it is important to realize that the output from ChkTeX is only - intended as a _guide_ to fixing faults. However, it is by no means - always correct. This means that correct LaTeX code may produce errors - in ChkTeX, and vice versa: Incorrect LaTeX code may pass silently - through. - - Legal stuff - - ChkTeX, documentation, installations scripts, CWEB filters and other - materials provided are copyright © 1995-96 Jens T. Berger Thielemann, - unless explicitly stated otherwise. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at - your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to: - - The Free Software Foundation, Inc. - 675 Mass Ave - Cambridge - MA 02139 - USA - -Registration - - `ChkTeX' is made available under the concept of Gift-Ware, which is a - variant of Share-Ware. Share-Ware software authors often release - `crippled' versions of their products, i.e. these programs do not - support the same functionality as the registered versions you get when - sending monetary contributions to the authors. It all comes down to - `pay for the software you are using' in Share-Ware terms. With - Gift-Ware registration it is different, you are not required to - contribute money, but a gift will do. With `ChkTeX' you always get a - fully functional program, there is no `crippled' test release which - you can try for a limited time and then have to pay for in order to - receive the working registered version. - - It may seem as if `ChkTeX' was free, but this is not the case. - Although there is no need to pay the author in order to get a fully - functional version of the program you should consider making a - contribution. You don't need to feel guilty if you cannot or do not - want to give me something in return for the work I have put into - `ChkTeX'. Show me that it was worth spending so much time listening to - users, updating, rewriting and enhancing this program. Your - contributions will provide the motivation for me to keep developing - the program. - - Send your contribution to the following address: - - Jens Berger - Spektrumvn. 4 - N-0666 Oslo - Norway - - Availability - - This program will be uploaded to AmiNet and CTAN; thus it can be found - at any mirrors of those. - - Please note that earlier versions of ChkTeX have been uploaded to - Aminet under the same archive name, to keep consistent with Aminet's - policy of keeping versions out of filenames. Please read the file - ``ChkTeX.readme'' (which is in the same directory as the archive) to - find out the version number. - - I'm now uploading the archive uncompressed to CTAN; however, most of - the ftpservers in that network allow you to retrieve a directory - compressed in whatever way you prefer. Aminet will as usual receive a - LhArc archive. - - Mirrors of both networks include: - -Comprehensive TeX Archive Network (CTAN) - - Directory: support/chktex - * ftp://ftp.adfa.oz.au/pub/tex/ctan/, (Australia) - * ftp://ftp.cs.rmit.edu.au/tex-archive/, (Australia) - * ftp://gw.pacbell.com/mirror/ftp.shsu.edu/tex-archive/, - (California, USA) - * ftp://sunsite.queensu.ca/pub/tex-archive/, (Canada) - * ftp://ftp.dante.de/pub/tex/, (Deutschland) - * ftp://ftp.germany.eu.net/pub/packages/TeX/, (Deutschland) - * ftp://ftp.gwdg.de/pub/dante/, (Deutschland) - * ftp://ftp.tex.ac.uk/pub/tex /, (England) - * ftp://src.doc.ic.ac.uk/packages/tex/uk-tex/, (England) - * ftp://kadri.ut.ee/pub/tex/, (Estonia) - * ftp://ftp.funet.fi/pub/TeX/CTAN/, (Finland) - * ftp://ftp.jussieu.fr/pub4/TeX/CTAN/, (France) - * ftp://ftp.loria.fr/pub/unix/tex/ctan/, (France) - * ftp://ftp.comp.hkbu.edu.hk/pub/TeX/CTAN/, (Hong Kong) - * ftp://ftp.unina.it/pub/TeX/, (Italia) - * ftp://sunsite.dsi.unimi.it/pub/TeX/, (Italia) - * ftp://ftp.riken.go.jp/pub/tex-archive/, (Japan) - * ftp://wuarchive.wustl.edu/packages/TeX/, (Missouri, USA) - * ftp://ftp.rge.com/pub/tex/, (New York, USA) - * ftp://ftp.duke.edu/tex-archive/, (North Carolina, USA) - * ftp://sunsite.unc.edu/pub/packages/TeX/, (North Carolina, USA) - * ftp://sunsite.icm.edu.pl/pub/CTAN/, (Poland) - * ftp://ftpserver.nus.sg/pub/zi/TeX/, (Singapore) - * ftp://ftp.ee.up.ac.za/tex-archive/, (South Africa) - * ftp://nic.switch.ch/mirror/tex/, (Switzerland) - * ftp://dongpo.math.ncu.edu.tw/tex-archive/, (Taiwan) - * ftp://ftp.ccu.edu.tw/pub/tex/, (Taiwan) - * ftp://ftp.fcu.edu.tw/pub2/tex/, (Taiwan) - * ftp://ftp.shsu.edu/pub/tex/, (Texas, USA) - * ftp://ftp.muni.cz/pub/tex/CTAN/, (The Czech Republic) - * ftp://ftp.cs.ruu.nl/pub/tex-archive/, (The Netherlands) - * ftp://ftp.uu.net/pub/text-processing/TeX/, (Virginia, USA) - * ftp://ftp.cdrom.com/pub/tex/ctan/, (West coast, USA) - * ftp://ftp.univie.ac.at/packages/tex/, (\"Osterreich) - -Aminet - - I'm only uploading the Amiga version of the archive to Aminet (so that - unsuspecting Amiga users won't have to download hundreds of unwanted - kilobytes). If you wish to use ChkTeX on another machine, please refer - to CTAN. - - Directory: text/tex/, filename: chktex.lha - * ftp://ftp.wustl.edu/pub/aminet/text/tex/, (USA (MO)) - * ftp://ftp.netnet.net/pub/aminet/text/tex/, (USA (WI)) - * ftp://ftp.ninemoons.com/pub/aminet/text/tex/, (USA (AZ)) - * ftp://ftp.livewire.com.au/pub/aminet/text/tex/, (Australia) - * ftp://ftp.tas.gov.au/pub/aminet/text/tex/, (Australia) - * ftp://ftp.luth.se/pub/aminet/text/tex/, (Scandinavia) - * ftp://ftp.eunet.ch/pub/aminet/text/tex/, (Switzerland) - * ftp://ftp.germany.aminet.org/pub/aminet/text/tex/, (Germany) - * ftp://ftp.pb.aminet.org/pub/aminet/text/tex/, (Germany) - * ftp://ftp.uni-stuttgart.de/pub/aminet/text/tex/, (Germany) - * ftp://ftp.uni-erlangen.de/pub/aminet/text/tex/, (Germany) - * ftp://ftp.cs.tu-berlin.de/pub/aminet/text/tex/, (Germany) - * ftp://ftp.tu-chemnitz.de/pub/aminet/text/tex/, (Germany) - * ftp://ftp.fh-augsburg.de/pub/aminet/text/tex/, (Germany) - * ftp://ftp.uni-bremen.de/pub/aminet/text/tex/, (Germany) - * ftp://ftp.uni-kl.de/pub/aminet/text/tex/, (Germany) - * ftp://ftp.uni-trier.de/pub/aminet/text/tex/, (Germany) - * ftp://ftp.informatik.rwth-aachen.de/pub/aminet/text/tex/, - (Germany) - * ftp://ftp.uni-siegen.de/pub/aminet/text/tex/, (Germany) - * ftp://ftp.uni-regensburg.de/pub/aminet/text/tex/, (Germany) - * ftp://sunsite.cnam.fr/pub/aminet/text/tex/, (France) - * ftp://aminet.grolier.fr/pub/aminet/text/tex/, (France) - * ftp://ftp.giga.or.at/pub/aminet/text/tex/, (Austria) - * ftp://sunsite.auc.dk/pub/aminet/text/tex/, (Denmark) - * ftp://ftp.acropolis.gr/pub/aminet/text/tex/, (Greece) - * ftp://aminet.iit.uni-miskolc.hu/pub/aminet/text/tex/, - (Hungary) - * ftp://ftp.italy.aminet.org/pub/aminet/text/tex/, (Italy) - * ftp://ftp.man.szczecin.pl/pub/aminet/text/tex/, (Poland) - * ftp://ftp.portugal.aminet.org/pub/aminet/text/tex/, (Portugal) - * ftp://ftp.gui.uva.es/pub/aminet/text/tex/, (Spain) - * ftp://ftp.uk.aminet.org/pub/aminet/text/tex/, (UK) - * ftp://micros.hensa.ac.uk/pub/aminet/text/tex/, (UK) - - Installation - - A few words on installation on various platforms: - - _Amiga:_ - Use the supplied Installer script. - - _MS-DOS & OS/2:_ - Copy the binary (``ChkTeX.exe'') to somewhere in your path, and - place the ``chktexrc'' file in the same directory. - - If you're running Emacs, you may wish to copy the file - ``chktex.el'' to your elisp source directory, and add the - following line to your ``.emacs'' file: - -(require 'chktex) - - _UNIX:_ - Type ``configure'', ``make'' and finally ``make install''. To - make sure everything proceeded correctly, type ``make check''. - If you don't have superuser privileges and thus access to the - default system areas, you should type ``configure -help'' to - help you set up correct paths. - - If you haven't installed any software like this before, that is - distributed in source form, here are some guidelines to help - you install it locally at your account. Please note that a mail - to the system administrator may be less work for you. :-) - - We assume that you have put the archive (``chktex.tar.gz'') in - a subdir of yours, with path ``~/tmp''. We further assume that - your shell is ``csh'' or ``tcsh''. Do the following: - - 1. First of all, unpack the archive contents. -> cd ~/tmp -> gunzip chktex.tar.gz -> tar xf chktex.tar - 2. Now, we can configure the program. There are some - configuration options you should know about: - - _``-enable-emacs-hack'':_ - Install a small file which adds ChkTeX to the - command menu of AUC-TeX. This is to be considered - as a hack, and may break in future versions of - AUC-TeX. It works fine under AUC-TeX v2.9, though. - - This option needs the path of your elisp directory - as argument, e.g. - ``-enable-emacs-hack=/home/myself/elisp'' or - similar. - - You'll also have to add the following line to your - ``.emacs'' file: - -(require 'chktex) - - You can now access ChkTeX from the ``Command'' menu in - AUC-TeX. To cycle through the messages, type C-x `. - - _``-enable-lacheck-replace''_ - This enables a quick hack for making the AUC-TeX - Emacs mode use ChkTeX instead of lacheck. This is - done by installing a stub script which - ``overrides'' the original lacheck executable. - - While more stable than the previous solution, this - is also significantly less elegant -- in computing - terms, this is the ``brute force'' approach. - - _``-enable-debug-info''_ - ChkTeX has an ability to spit out various - diagnostic messages using the ``-d'' flag. This - behaviour is on by default. By adding the flag - ``-disable-debug-info'' to the commandline, this - will not be compiled in. - - This may be useful if you're running short of disk - space (the time savings are neglible). - - If you are installing the program on your local account, use - the following command: -> configure --prefix ~/ - Add eventual extra flags as specified above. This command - will generate a significant amount of output, this can - usually be ignored. - 3. Finally, we can just build the program and install it. -> make -> make install - 4. Finished! The program is now installed and ready to use. You - may now tell other people to put your bindir in their path in - order to benefit from your work. All that remains is to make - the shell aware of your installation. -> rehash - To make the remaining parts of your system aware of this, - you'll have to log out and re-log in, I'm afraid. However, - you should delay this until you've completed this - installation procedure. - 5. If you wish to make sure that everything is OK (you ought - to), you may now ask ChkTeX to do a self-test: -> make check - - _Other platforms:_ - First of all, you have to copy the ``config.h.in'' file to a - file named ``config.h''. Then, edit it to reflect your system. - Do the same with ``OpSys.h'' (this file has been reduced - significantly). If you wish, you may define ``DATADIR'' to the - path you want the global resource file to be put. - - Now, I would suggest that you take a peak at the ``OpSys.c'' - file, and edit it appropiately, for more comfort. This should - not be necessary, though, at least not the first time. - - Finally, you may now compile and link all .cfiles. Define - ``HAVE_CONFIG_H'' to 1 (on the command-line, for instance). If - the ``config.h'' you wish to use has another name, define - ``CONFIG_H_NAME'' to that (in that case, don't define - ``HAVE_CONFIG_H''). - - Put the directory path of the ``chktexrc'' file in a - environment variable named ``CHKTEXRC''. The files ``deweb.in'' - and ``chkweb'' should be moved to a directory in your path. - These files may need further setup, as they haven't got the - location of perl initialized. - - If your compiler/the compiled program complains (or crashes!), - you may try the hints listed below. Please note that it only - makes sense to try these hints if your compiler fails to - produce a working program. - - 1. Increase the preprocessor buffers and line buffers. The - ChkTeX sources define macros sized 3-4k (expanding to about - the same), and passes arguments sized about 1k. - 2. Use the magic switch which lets us use large - ``switch(...){...}'' statements; some of these statements - have about 120 ``case'' entries. - 3. The sources require that at least the first 12 of each - identifier is significant. - - _Note:_ You _must_ install the new ``chktexrc'' file; ChkTeX will fail - to function unless! - - After doing this, you may enhance ChkTeX' behaviour by reading/editing - the ``chktexrc'' file. - - Contacting the author - - If you wish to contact me for any reason or would like to participate - in the development of ChkTeX, please write to: - - Jens Berger - Spektrumvn. 4 - N-0666 Oslo - Norway - E-mail: <jensthi@ifi.uio.no> - - Any signs of intelligent life are welcomed; that should exclude - piracy. - - Have fun. - |