summaryrefslogtreecommitdiff
path: root/Build/source/texk/chktex/ChkTeX.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/chktex/ChkTeX.tex')
-rw-r--r--Build/source/texk/chktex/ChkTeX.tex2111
1 files changed, 0 insertions, 2111 deletions
diff --git a/Build/source/texk/chktex/ChkTeX.tex b/Build/source/texk/chktex/ChkTeX.tex
deleted file mode 100644
index 1c80942b5af..00000000000
--- a/Build/source/texk/chktex/ChkTeX.tex
+++ /dev/null
@@ -1,2111 +0,0 @@
-%%
-%% ChkTeX v1.5, LaTeX documentation for ChkTeX program.
-%% Copyright (C) 1995-96 Jens T. Berger Thielemann
-%%
-%% 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.
-%%
-%% Contact the author at:
-%% Jens Berger
-%% Spektrumvn. 4
-%% N-0666 Oslo
-%% Norway
-%% E-mail: <jensthi@ifi.uio.no>
-%%
-%% NOTE: This file is written in LaTeX, and should be compiled
-%% before viewing. If you don't know how to do this, consult
-%% your local TeX guru. If you don't possess LaTeX, you are
-%% assumed to not need this program; so there's no text version
-%% of this file...
-%%
-%% You may still be able to view the DVI or PostScript versions of
-%% this file, though, they are included in the archive.
-%%
-
-
-
-%\documentstyle[a4, array, tabularx, verbatim, multicol]{article}
-\documentclass[a4paper]{article}
-\usepackage{ array, tabularx, verbatim, multicol}
-%latex
-\nonfrenchspacing
-\newcounter{errornum}
-\setcounter{errornum}{1}
-%endlatex
-\newcommand{\jtbt}{Jens~T. Berger~Thielemann}
-\newcommand{\Cmd}[1]{``{\tt{}#1}''}
-\newcommand{\rsrc}{``{\tt{}chktexrc}''}
-\newcommand{\chktex}{Chk\TeX}
-\newcommand{\smiley}{:-)}
-
-%latex
-\newcolumntype{Y}{>{\raggedright\arraybackslash}X}
-\newcommand{\fmted}[1]{%
- {\noindent\large%
- \begin{tabularx}{\linewidth}{lY}%
- \bf Warning \theerrornum: & \tt #1%
- \end{tabularx}}\stepcounter{errornum}\nopagebreak[4]}
-
-\newenvironment{errdesc}[1]{\noindent\fmted{#1}\begin{quote}}{\end{quote}%
-\pagebreak[3]}
-
-\newenvironment{html}{\comment}{\endcomment}
-\newenvironment{rawhtml}{\comment}{\endcomment}
-
-\makeatletter
-\@namedef{errdesc*}#1{\begin{errdesc}{\textit{#1}}}
-\@namedef{enderrdesc*}{\end{errdesc}}
-\@ifundefined{textit}{\gdef\textit#1{{\it #1}}}\relax
-\@ifundefined{LaTeXe}{\gdef\LaTeXe{\LaTeX2${}_{\textstyle\varepsilon}$}}\relax
-\makeatother
-
-
-\newenvironment{errexam}
-{
-\vskip 0pt plus 5pt
-\begin{center}
-}
-{\end{center}}
-\columnseprule 0.1pt
-
-%!\newcommand{\LaTeXe}{\LaTeX 2e}
-%!\newcommand{\BS}{\verb@\@}
-%!\newcommand{\chktex}{ChkTeX}
-%!\newcommand{\slash}{/}
-%endlatex
-
-
-\title{\chktex\ v1.5}
-\author{Jens~T. Berger~Thielemann}
-\date{\today}
-
-
-\begin{document}
-\maketitle
-
-%latex
-\newcommand{\BS}{\char`\\}
-%endlatex
-\section{Introduction}
-
-This program has been written in frustration because some constructs in
-\LaTeX\ are sometimes non-intuitive, and easy to forget. It is {\em
- 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
-\Cmd{-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.
-
-
-
-\section{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.
-
-\subsection{New features}
-Modifications and additions since v1.4:
-
-
-\subsubsection{Program}
-
-Modifications to the executable itself:
-\begin{itemize}
-\item As usual, a few more warnings:
- \begin{itemize}
- \item No space or similar in front/after parenthesis.
- \item Demands a consistent quote style.
- \item Double spaces in input which will not be rendered as one.
- \item Punctuation malplaced regarding to math mode.
- \item Warns about \TeX\ primitives.
- \item Space in front of footnotes.
- \item Bogus {\tt\BS{}left} and {\tt\BS{}right} commands.
- \end{itemize}
-
-\item 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\ldots
-\item 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 \Cmd{Resource.[ch]}.
-
-\item It's possible to specify separate output-formats depending on
- whether you are sending the output to a file/pipe or to a
- terminal.
-
-\item Column positions are finally correct; we now expand tabs
- correctly.
-\item \chktex\ will now recursively search for {\tt\BS{}input}'ed
- files, both in the document and on the commandline. See the
- \rsrc\ file for more info.
-\item 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.
-\item MS-DOS and OS/2 version of the program is now more flexible
- and well-behaved, thanks to Gerd B\"ohm.
-\item You may now say \Cmd{-wall} to make all messages warnings, and
- turn them on.
-\item Uses termcap on UNIX boxes; this should ensure that \Cmd{-v2}
- (or more precisely: \Cmd{\%i} and \Cmd{\%I}) works regardless to
- what terminal you are using.
-\end{itemize}
-
-\subsubsection{Resource file}
-
-New concepts introduced in the setup file:
-\begin{itemize}
-\item You may now specify both case-sensitive and case-insensitive
- user patterns in the \rsrc\ file. In addition; it is now possible
- to reset/clear lists.
-\item It is possible to specify how many arguments
- (optional/required) \Cmd{WIPEARG} should wipe; it behaves also
- somewhat more intelligent when the arguments stretch over multiple
- lines.
-\item Global files will be read {\em in addition\/} to local ones. The
- searching order has also been reversed in order to make this more
- intelligent.
-\end{itemize}
-
-
-\subsubsection{Other}
-Various other stuff I've done to the product:
-
-\begin{itemize}
-\item The documentation has been polished and should now be easier
- to use in practical situations.
-\item \Cmd{check} target in \Cmd{Makefile}, so you can check that
- the installation succeeded. In fact, the \Cmd{Makefile} has been
- enhanced in several other ways too, amongst other it is now GNU
- conforming.
-\item \Cmd{deweb} is now documented; you may say \Cmd{man~deweb} to
- get a few words of advice. The support script ({\tt chkweb}) does
- now behave as the remaining package (accepting stdin input and flags).
-\item 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
-%latex
- $\mbox{lacheck}\leftrightarrow\mbox{\chktex}$
-%!lacheck <-> \chktex\ %
-%endlatex
- interface.
-
- This means that you now can use \chktex\ just as easily as lacheck
- when you're running AUC-\TeX.
-
-\item 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
- \Cmd{dev/c/vbcc.lha}.
-\end{itemize}
-
-\subsection{Feature list}
-
-\begin{itemize}
-\item Supports over 40 warnings. Warnings include:
-%latex
- \begin{multicols}{2}
- \begin{flushleft}
-%endlatex
- \begin{itemize}
- \item Commands terminated with space. Ignores \Cmd{\BS{}tt}, etc.
- \item Space in front of references instead of \Cmd{\~{}}.
- \item Forgetting to group parenthesis characters when
- sub-\slash{}super\-scripting.
- \item Italic correction (\Cmd{\BS/}) mistakes (double,
- missing, unnecessary).
- \item Parenthesis and environment matching.
- \item Ellipsis detection; also checks whether to use
- \Cmd{\BS{}dots}, \Cmd{\BS{}cdots} or \Cmd{\BS{}ldots}.
- \item Enforcement of normal space after abbreviation. Detects
- most abbreviations automagically.
- \item Enforcement of end-of-sentence space when the last
- sentence ended with capital letter.
- \item Math-mode on/off detection.
- \item Quote checking, both wrong types (\Cmd{"}) and wrong
- direction.
- \item Recommends splitting three quotes in a row.
- \item Searching for user patterns.
- \item Displays comments.
- \item Space in front of \Cmd{\BS{}label} and similar commands.
- \item Use of \Cmd{x} instead of \Cmd{\$\BS{}times\$} between numbers.
- \item Multiple spaces in input which will be rendered as one
- space (or multiple spaces, where that is undesirable).
- \item Warns about text which may be ignored.
- \item Mathematical operators typeset as variables.
- \item No space in front of/after parenthesis.
- \item Demands a consistent quote style.
- \item Punctuation inside inner math mode/outside display math
- mode.
- \item Use of \TeX\ primitives where \LaTeX\ equivalents are
- available.
- \item Space in front of footnotes.
- \item Bogus characters following commands.
- \end{itemize}
-%latex
- \end{flushleft}
- \end{multicols}
-%endlatex
-\item 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 \rsrc\ file.
-\item Supports \Cmd{\BS{}input} command; both \TeX\ and \LaTeX\ version.
- Actually includes the files. \Cmd{TEXINPUTS}-equivalent search path.
-\item 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.
-\item Scripts included for checking CWEB files written in \LaTeX.
- (Requires perl v5).
-\item Supports both \LaTeX\ 2.09 and \LaTeXe.
-\item Flexible output handling. Has some predefined formats and lets
- the user specify his own format. Uses a \Cmd{printf()} similar
- syntax. \Cmd{lacheck} compatible mode included for interfacing with
- the AUC-\TeX\ Emacs mode.
-\item ARexx scripts for interfacing with ScMsg and VBrowse are
- included. Special scripts included for CygnusED/GoldED, for binding
- to hotkey.
-\item Amiga Workbench support. Parameters may be passed by
- shift-clicking the \LaTeX\ files and setting the remaining options
- in the tooltypes.
-\item 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.
-\item Written in ANSI C\@. \Cmd{configure} script included for easy
- setup and installation on UNIX systems.
-\end{itemize}
-
-Still, it is important to realize that the output from \chktex\ is
-only intended as a {\em 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.
-
-
-
-\section{Legal stuff}
-
-\chktex{}, documentation, installations scripts, CWEB filters and other
-materials provided are copyright \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:
-\begin{quote}
- The Free Software Foundation, Inc. \\
- 675 Mass Ave \\
- Cambridge \\
- MA 02139 \\
- USA
-\end{quote}
-
-
-
-
-\subsection{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:
-%latex
-\begin{samepage}
-%endlatex
-\begin{quote}
- Jens Berger \\
- Spektrumvn. 4 \\
- N-0666 Oslo \\
- Norway
-\end{quote}
-%latex
-\end{samepage}
-%endlatex
-
-\begin{html}
-\section{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
-\Cmd{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:
-
- \subsection{Comprehensive \TeX\ Archive Network (CTAN)}
-\end{html}
-
-\begin{rawhtml}
- Directory: <tt> support/chktex</tt>
- <ul>
-<li> <a href="ftp://ftp.adfa.oz.au/pub/tex/ctan/support/chktex/">
- ftp://ftp.adfa.oz.au/pub/tex/ctan/</a>, (Australia)
-
-<li> <a href="ftp://ftp.cs.rmit.edu.au/tex-archive/support/chktex/">
- ftp://ftp.cs.rmit.edu.au/tex-archive/</a>, (Australia)
-
-<li> <a href="ftp://gw.pacbell.com/mirror/ftp.shsu.edu/tex-archive/support/chktex/">
- ftp://gw.pacbell.com/mirror/ftp.shsu.edu/tex-archive/</a>, (California, USA)
-
-<li> <a href="ftp://sunsite.queensu.ca/pub/tex-archive/support/chktex/">
- ftp://sunsite.queensu.ca/pub/tex-archive/</a>, (Canada)
-
-<li> <a href="ftp://ftp.dante.de/pub/tex/support/chktex/">
- ftp://ftp.dante.de/pub/tex/</a>, (Deutschland)
-
-<li> <a href="ftp://ftp.germany.eu.net/pub/packages/TeX/support/chktex/">
- ftp://ftp.germany.eu.net/pub/packages/TeX/</a>, (Deutschland)
-
-<li> <a href="ftp://ftp.gwdg.de/pub/dante/support/chktex/">
- ftp://ftp.gwdg.de/pub/dante/</a>, (Deutschland)
-
-<li> <a href="ftp://ftp.tex.ac.uk/pub/tex /support/chktex/">
- ftp://ftp.tex.ac.uk/pub/tex /</a>, (England)
-
-<li> <a href="ftp://src.doc.ic.ac.uk/packages/tex/uk-tex/support/chktex/">
- ftp://src.doc.ic.ac.uk/packages/tex/uk-tex/</a>, (England)
-
-<li> <a href="ftp://kadri.ut.ee/pub/tex/support/chktex/">
- ftp://kadri.ut.ee/pub/tex/</a>, (Estonia)
-
-<li> <a href="ftp://ftp.funet.fi/pub/TeX/CTAN/support/chktex/">
- ftp://ftp.funet.fi/pub/TeX/CTAN/</a>, (Finland)
-
-<li> <a href="ftp://ftp.jussieu.fr/pub4/TeX/CTAN/support/chktex/">
- ftp://ftp.jussieu.fr/pub4/TeX/CTAN/</a>, (France)
-
-<li> <a href="ftp://ftp.loria.fr/pub/unix/tex/ctan/support/chktex/">
- ftp://ftp.loria.fr/pub/unix/tex/ctan/</a>, (France)
-
-<li> <a href="ftp://ftp.comp.hkbu.edu.hk/pub/TeX/CTAN/support/chktex/">
- ftp://ftp.comp.hkbu.edu.hk/pub/TeX/CTAN/</a>, (Hong Kong)
-
-<li> <a href="ftp://ftp.unina.it/pub/TeX/support/chktex/">
- ftp://ftp.unina.it/pub/TeX/</a>, (Italia)
-
-<li> <a href="ftp://sunsite.dsi.unimi.it/pub/TeX/support/chktex/">
- ftp://sunsite.dsi.unimi.it/pub/TeX/</a>, (Italia)
-
-<li> <a href="ftp://ftp.riken.go.jp/pub/tex-archive/support/chktex/">
- ftp://ftp.riken.go.jp/pub/tex-archive/</a>, (Japan)
-
-<li> <a href="ftp://wuarchive.wustl.edu/packages/TeX/support/chktex/">
- ftp://wuarchive.wustl.edu/packages/TeX/</a>, (Missouri, USA)
-
-<li> <a href="ftp://ftp.rge.com/pub/tex/support/chktex/">
- ftp://ftp.rge.com/pub/tex/</a>, (New York, USA)
-
-<li> <a href="ftp://ftp.duke.edu/tex-archive/support/chktex/">
- ftp://ftp.duke.edu/tex-archive/</a>, (North Carolina, USA)
-
-<li> <a href="ftp://sunsite.unc.edu/pub/packages/TeX/support/chktex/">
- ftp://sunsite.unc.edu/pub/packages/TeX/</a>, (North Carolina, USA)
-
-<li> <a href="ftp://sunsite.icm.edu.pl/pub/CTAN/support/chktex/">
- ftp://sunsite.icm.edu.pl/pub/CTAN/</a>, (Poland)
-
-<li> <a href="ftp://ftpserver.nus.sg/pub/zi/TeX/support/chktex/">
- ftp://ftpserver.nus.sg/pub/zi/TeX/</a>, (Singapore)
-
-<li> <a href="ftp://ftp.ee.up.ac.za/tex-archive/support/chktex/">
- ftp://ftp.ee.up.ac.za/tex-archive/</a>, (South Africa)
-
-<li> <a href="ftp://nic.switch.ch/mirror/tex/support/chktex/">
- ftp://nic.switch.ch/mirror/tex/</a>, (Switzerland)
-
-<li> <a href="ftp://dongpo.math.ncu.edu.tw/tex-archive/support/chktex/">
- ftp://dongpo.math.ncu.edu.tw/tex-archive/</a>, (Taiwan)
-
-<li> <a href="ftp://ftp.ccu.edu.tw/pub/tex/support/chktex/">
- ftp://ftp.ccu.edu.tw/pub/tex/</a>, (Taiwan)
-
-<li> <a href="ftp://ftp.fcu.edu.tw/pub2/tex/support/chktex/">
- ftp://ftp.fcu.edu.tw/pub2/tex/</a>, (Taiwan)
-
-<li> <a href="ftp://ftp.shsu.edu/pub/tex/support/chktex/">
- ftp://ftp.shsu.edu/pub/tex/</a>, (Texas, USA)
-
-<li> <a href="ftp://ftp.muni.cz/pub/tex/CTAN/support/chktex/">
- ftp://ftp.muni.cz/pub/tex/CTAN/</a>, (The Czech Republic)
-
-<li> <a href="ftp://ftp.cs.ruu.nl/pub/tex-archive/support/chktex/">
- ftp://ftp.cs.ruu.nl/pub/tex-archive/</a>, (The Netherlands)
-
-<li> <a href="ftp://ftp.uu.net/pub/text-processing/TeX/support/chktex/">
- ftp://ftp.uu.net/pub/text-processing/TeX/</a>, (Virginia, USA)
-
-<li> <a href="ftp://ftp.cdrom.com/pub/tex/ctan/support/chktex/">
- ftp://ftp.cdrom.com/pub/tex/ctan/</a>, (West coast, USA)
-
-<li> <a href="ftp://ftp.univie.ac.at/packages/tex/support/chktex/">
- ftp://ftp.univie.ac.at/packages/tex/</a>, (\"Osterreich)
-
-
- </ul>
-\end{rawhtml}
-
-\begin{html}
-\subsection{Aminet}
-\end{html}
-\begin{rawhtml}
- 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.
-
- <p> Directory: <tt> text/tex/</tt>, filename: <tt>chktex.lha</tt>
- <ul>
-<li> <a href="ftp://ftp.wustl.edu/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.wustl.edu/pub/aminet/text/tex/</a>, (USA (MO))
-
-<li> <a href="ftp://ftp.netnet.net/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.netnet.net/pub/aminet/text/tex/</a>, (USA (WI))
-
-<li> <a href="ftp://ftp.ninemoons.com/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.ninemoons.com/pub/aminet/text/tex/</a>, (USA (AZ))
-
-<li> <a href="ftp://ftp.livewire.com.au/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.livewire.com.au/pub/aminet/text/tex/</a>, (Australia)
-
-<li> <a href="ftp://ftp.tas.gov.au/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.tas.gov.au/pub/aminet/text/tex/</a>, (Australia)
-
-<li> <a href="ftp://ftp.luth.se/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.luth.se/pub/aminet/text/tex/</a>, (Scandinavia)
-
-<li> <a href="ftp://ftp.eunet.ch/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.eunet.ch/pub/aminet/text/tex/</a>, (Switzerland)
-
-<li> <a href="ftp://ftp.germany.aminet.org/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.germany.aminet.org/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.pb.aminet.org/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.pb.aminet.org/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.uni-stuttgart.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.uni-stuttgart.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.uni-erlangen.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.uni-erlangen.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.cs.tu-berlin.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.cs.tu-berlin.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.tu-chemnitz.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.tu-chemnitz.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.fh-augsburg.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.fh-augsburg.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.uni-bremen.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.uni-bremen.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.uni-kl.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.uni-kl.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.uni-trier.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.uni-trier.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.informatik.rwth-aachen.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.informatik.rwth-aachen.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.uni-siegen.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.uni-siegen.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.uni-regensburg.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.uni-regensburg.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://sunsite.cnam.fr/pub/aminet/text/tex/chktex.lha">
- ftp://sunsite.cnam.fr/pub/aminet/text/tex/</a>, (France)
-
-<li> <a href="ftp://aminet.grolier.fr/pub/aminet/text/tex/chktex.lha">
- ftp://aminet.grolier.fr/pub/aminet/text/tex/</a>, (France)
-
-<li> <a href="ftp://ftp.giga.or.at/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.giga.or.at/pub/aminet/text/tex/</a>, (Austria)
-
-<li> <a href="ftp://sunsite.auc.dk/pub/aminet/text/tex/chktex.lha">
- ftp://sunsite.auc.dk/pub/aminet/text/tex/</a>, (Denmark)
-
-<li> <a href="ftp://ftp.acropolis.gr/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.acropolis.gr/pub/aminet/text/tex/</a>, (Greece)
-
-<li> <a href="ftp://aminet.iit.uni-miskolc.hu/pub/aminet/text/tex/chktex.lha">
- ftp://aminet.iit.uni-miskolc.hu/pub/aminet/text/tex/</a>, (Hungary)
-
-<li> <a href="ftp://ftp.italy.aminet.org/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.italy.aminet.org/pub/aminet/text/tex/</a>, (Italy)
-
-<li> <a href="ftp://ftp.man.szczecin.pl/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.man.szczecin.pl/pub/aminet/text/tex/</a>, (Poland)
-
-<li> <a href="ftp://ftp.portugal.aminet.org/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.portugal.aminet.org/pub/aminet/text/tex/</a>, (Portugal)
-
-<li> <a href="ftp://ftp.gui.uva.es/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.gui.uva.es/pub/aminet/text/tex/</a>, (Spain)
-
-<li> <a href="ftp://ftp.uk.aminet.org/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.uk.aminet.org/pub/aminet/text/tex/</a>, (UK)
-
-<li> <a href="ftp://micros.hensa.ac.uk/pub/aminet/text/tex/chktex.lha">
- ftp://micros.hensa.ac.uk/pub/aminet/text/tex/</a>, (UK)
-
- </ul>
-\end{rawhtml}
-
-\section{Installation}
-
-A few words on installation on various platforms:
-
-\begin{description}
-\item[Amiga:] Use the supplied Installer script.
-\item[MS-DOS \& OS/2:] Copy the binary (\Cmd{ChkTeX.exe}) to somewhere in
- your path, and place the \rsrc\ file in the same directory.
-
- If you're running Emacs, you may wish to copy the file \Cmd{chktex.el}
- to your elisp source directory, and add the following line to your
- \Cmd{.emacs} file:
-\begin{verbatim}
-(require 'chktex)
-\end{verbatim}
-
-\item[UNIX:] Type \Cmd{configure}, \Cmd{make} and finally
- \Cmd{make~install}. To make sure everything proceeded correctly,
- type \Cmd{make~check}. If you don't have superuser privileges and thus
- access to the default system areas, you should type
- \Cmd{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. \smiley
-
- We assume that you have put the archive (\Cmd{chktex.tar.gz}) in a
- subdir of yours, with path \Cmd{\~{}/tmp}. We further assume that
- your shell is \Cmd{csh} or \Cmd{tcsh}. Do the following:
-
- \begin{enumerate}
- \item First of all, unpack the archive contents.
-
-\begin{verbatim}
-> cd ~/tmp
-> gunzip chktex.tar.gz
-> tar xf chktex.tar
-\end{verbatim}
-
- \item Now, we can configure the program. There are some
- configuration options you should know about:
- \begin{description}
- \item[\Cmd{--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. \Cmd{--enable-emacs-hack=/home/myself/elisp} or similar.
-
- You'll also have to add the following line to your \Cmd{.emacs}
- file:
-\begin{verbatim}
-(require 'chktex)
-\end{verbatim}
- You can now access \chktex\ from the \Cmd{Command} menu in
- AUC-\TeX. To cycle through the messages, type \verb#C-x `#.
-
- \item[\Cmd{--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.
-
- \item[\Cmd{--enable-debug-info}] \chktex\ has an ability to spit
- out various diagnostic messages using the \Cmd{-d} flag. This
- behaviour is on by default. By adding the flag
- \Cmd{--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).
- \end{description}
-
- If you are installing the program on your local account, use the
- following command:
-
-\begin{verbatim}
-> configure --prefix ~/
-\end{verbatim}
-
- Add eventual extra flags as specified above. This command will
- generate a significant amount of output, this can usually be ignored.
-
- \item Finally, we can just build the program and install it.
-
-\begin{verbatim}
-> make
-> make install
-\end{verbatim}
-
- \item 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.
-
-\begin{verbatim}
-> rehash
-\end{verbatim}
-
- 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.
-
- \item If you wish to make sure that everything is OK (you ought to),
- you may now ask \chktex\ to do a self-test:
-
-\begin{verbatim}
-> make check
-\end{verbatim}
-
- \end{enumerate}
-
-\item[Other platforms:] First of all, you have to copy the
- \Cmd{config.h.in} file to a file named \Cmd{config.h}. Then, edit
- it to reflect your system. Do the same with \Cmd{OpSys.h} (this
- file has been reduced significantly). If you wish, you may define
- \Cmd{DATADIR} to the path you want the global resource file to be
- put.
-
- Now, I would suggest that you take a peak at the \Cmd{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 \verb@.c@ files. Define
- \Cmd{HAVE\_CONFIG\_H} to 1 (on the command-line, for instance). If
- the \Cmd{config.h} you wish to use has another name, define
- \Cmd{CONFIG\_H\_NAME} to that (in that case, don't define
- \Cmd{HAVE\_CONFIG\_H}).
-
- Put the directory path of the \rsrc\ file in a environment variable
- named \Cmd{CHKTEXRC}. The files \Cmd{deweb.in} and \Cmd{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.
-
- \begin{enumerate}
- \item 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.
- \item Use the magic switch which lets us use large
- \Cmd{switch(\dots)\{\dots\}} statements; some of these statements
- have about 120 \Cmd{case} entries.
- \item The sources require that at least the first 12 of each
- identifier is significant.
- \end{enumerate}
-\end{description}
-{\bf Note:\/} You {\em must\/} install the new \rsrc\ file; \chktex\ will
-fail to function unless!
-
- After doing this, you may enhance \chktex' behaviour by
-reading/editing the \rsrc\ file.
-
-%latex
-\section{Usage}
-
-\subsection{\chktex}
-
-Amiga v2.04+ users may wish to note that you may pass the files that
-\chktex\ is to process by shift-clicking them. In addition, you may
-specify the arguments as tooltypes to the main program icon, using the
-{\sf Info} menu option. For instance, if you wish to make the `fancy'
-output the default when starting from Workbench, enter the following
-as a tooltype:
-%
-\begin{verbatim}
-Verbosity=2
-\end{verbatim}
-%
-We use the WB2Argv package (also developed by me, available on Aminet as
-\Cmd{dev/c/WB2Argv.lha}), and
-will fold case until the \Cmd{=} character, in tradition with the
-case-insensitivity of Amiga OS\@. In all other respects (and platforms), the
-options listed below are case-sensitive.
-
-
-
-\subsubsection{Synopsis}
-
-A UNIX-compliant template format follows:
-
-\newcommand{\Group}[1]{\mbox{[#1]}}
-\begin{tabularx}\textwidth{lY}
- \tt chktex & \tt \Group{-hiqrW} \Group{-v[0-\dots]} \Group{-l
- <rcfile>} \Group{-[wemn] <[1-42]|all>} \Group{-d[0-...]} \Group{-p
- <pseudoname>} \Group{-o <outputfile>} \Group{-[btxgI][0|1]}
- file1 file2 \dots
-\end{tabularx}
-
-
-\subsubsection{Options}
-
-These are the options \chktex\ currently accepts.
-Please note that single-lettered options requiring a numerical or no
-argument may be concatenated. E.g.\ saying \Cmd{-v0qb0w2} is the
-same as saying \Cmd{-v0~-q~-b0~-w2}, except for being less to
-type.
-
-Enough general talk; here's a rather detailed description of all
-options:
-\begin{description}
-\item[Misc.\ options:] General options which aren't related to some
- specific subpart of \chktex.
- \begin{description}
- \item[{\tt -h [--help]}] Gives you a command summary.
- \item[{\tt -i [--license]}] Shows distribution information.
- \item[{\tt -l [--localrc]}] Reads a resource-file formatted
- as the global resource-file \rsrc, in addition to the global
- resource-file. This option needs the name of the resource-file
- as a parameter. See also {\tt -g}.
- \item[{\tt -r [--reset]}] This will reset all settings to their
- defaults. This may be useful if you use the {\tt CMDLINE}
- directive in your \rsrc\ file, and wish to do something
- unusual.
- \item[{\tt -d [--debug]}] Needs a numeric argument; a bitmask
- telling what to output. The values below may be added in order
- to output multiple debugging info.
-
- \begin{tabularx}\linewidth{cX}
- \bf Value & \bf Dumps\ldots\\
- 1 & All warnings available and their current status. \\
- 2 & Statistics for all lists in the resource file. \\
- 4 & The contents of all lists in the resource file. \\
- 8 & Misc.\ other status information. \\
- 16 & Run-time info (note that this isn't widely used). \\
- \end{tabularx}
- The info is produced after all switches and resource files have
- been processed.
-
- It is possible to install versions of \chktex\ that ignore this
- flag; this means that it is not certain that this flag works.
- \item[{\tt -W [--version]}] Displays version information, and exits.
- \end{description}
-\item[Muting warning messages:] Controls whether and in what form
- error messages will appear. Usually they accept a specific warning
- number (e.g.\ \Cmd{-w2}), but you may also say \Cmd{all} (e.g.\
- \Cmd{-wall}) which does the operation on {\em all\/} warnings.
- \begin{description}
- \item[{\tt -w [--warnon]}] Makes the message number passed as
- parameter a warning and turns it on.
- \item[{\tt -e [--erroron]}] Makes the message number passed as
- parameter an error and turns it on.
- \item[{\tt -m [--msgon]}] Makes the message number passed as
- parameter a message and turns it on. Messages are not counted.
- \item[{\tt -n [--nowarn]}] Turns the warning/error number passed
- as a parameter off.
- \end{description}
-\item[Output control flags:] Determines the appearance and
- destination of the error reports.
- \begin{description}
- \item[{\tt -q [--quiet]}] Shuts up about copyright information.
- \item[{\tt -o [--output]}] Normally, all errors are piped to {\tt stdout}.
- Using this option with a parameter, errors will be sent to the
- named file instead. Only information relative to the \LaTeX\ file
- will be sent to that file. Memory problems and similar will as as
- always be sent to {\tt stderr}. If a file with the name given
- already exists, it will be renamed to \Cmd{foobar.bak}
- (\Cmd{foobar.\$cl} under MS-DOS), \Cmd{foobar} being the name of
- the file. See also \Cmd{-b}.
-
- \item[{\tt -v [--verbosity]}] Specifies how much and how you
- wish the error reports to be displayed. This is specified in the
- \rsrc\ file; we'll list the default values below. If you wish,
- you may thus edit the \rsrc\ file to add or modify new formats.
-
- The default is mode 1 (that is, the {\em second\/} entry in the
- \rsrc\ file), using {\tt -v} without any parameter will give you
- mode 2.
-
- \begin{description}
- \item[0] Will show the information in a way that should be
- suitable for further parsing by {\tt awk}, {\tt sed} or
- similar. The format is as follows:
-\begin{verbatim}
-File:Line:Column:Warning number:Warning message
-\end{verbatim}
- The colons may be replaced with another string; use the
- \verb@-s@ switch for this.
-
- As the program does not output all errors in quite order, this
- output format is also suitable for piping through \Cmd{sort}.
- \item[1] Shows the information in a way which is more
- comprehensible for humans, but which still doesn't need
- anything but a glass tty.
- \item[2] Shows the information in a fancy way, using escape
- codes and stuff. It is the indeed most readable of all
- modes; however, it needs proper set up of the \Cmd{ChkTeX.h}
- at compilation time. UNIX boxes, however, will find the
- information automatically.
- \item[3] Shows the information suitable for parsing by Emacs;
- this is the same format as {\tt lacheck} uses. More formally,
- it is the following:
-\begin{verbatim}
-"File", line Line: Warning message
-\end{verbatim}
-
- To utilize this, type \verb@M-x compile RET@. Delete whatever
- is written in the minibuffer, and type
- \verb@chktex -v3 texfile.tex@, and you should be able to
- browse through the
- error messages. Use \verb@C-x `@ to parse the messages.
- \item[4] More or less the same as \verb@-v3@, but also includes
- information on where the error actually was found. Takes somewhat
- longer time to parse, but much more informative in use.
- \end{description}
-
- \item[{\tt -f [--format]}] Specifies the format of the output.
- This is done using a format similar to \Cmd{printf()}, where we
- support the specifiers listed below.
-
- \smallskip
- \newcommand{\Pf}[1]{\tt \%#1 &}
- \begin{tabularx}{\linewidth}{cX}
- \bf Code & \bf Description \\
- \Pf{b} String to print {\bf b\/}etween fields (from {\tt
- -s} option). \\
- \Pf{c} {\bf C\/}olumn position of error. \\
- \Pf{d} Length of error ({\bf d\/}igit). \\
- \Pf{f} Current {\bf f\/}ilename.\\
- \Pf{i} Turn on {\bf i\/}nverse printing mode.\\
- \Pf{I} Turn off {\bf i\/}nverse printing mode.\\
- \Pf{k} {\bf k\/}ind of error (warning, error, message).\\
- \Pf{l} {\bf l\/}ine number of error.\\
- \Pf{m} Warning {\bf m\/}essage.\\
- \Pf{n} Warning {\bf n\/}umber.\\
- \Pf{u} An {\bf u\/}nderlining line (like the one which
- appears when using \Cmd{-v1}).\\
- \Pf{r} Part of line in front of error ($\mbox{`S'} -
- 1$).\\
- \Pf{s} Part of line which contains error ({\bf
- s\/}tring).\\
- \Pf{t} Part of line after error ($\mbox{`S'} + 1$).
- \end{tabularx}
- \smallskip
-
- Other characters will be passed literally; thus you can say
- \Cmd{\%\%} to achieve a single percent sign in the output.
- Please note that we may introduce other specifiers in the future,
- so don't abuse this feature for other characters.
-
- Also, note that we do {\em not\/} support field lengths (yet).
- This may come in the future, if I get the time\dots
-
- The {\tt -v} command is implemented by indexing into the \rsrc\
- file; read that for seeing how each format is implemented. If
- you find yourself using a particular format often by using the
- -f switch, consider putting it in the \rsrc\ file instead.
- \item[{\tt -V [--pipeverb]}] Which entry we'll use in the \rsrc\
- file whenever {\tt stdout} isn't a terminal.
-
- The default is to use the same mode as specified with the
- {\tt -v} switch; using {\tt -V} without any parameter will give you
- mode 1.
-
- This switch was implemented because GNU less has problems with
- the escape codes \chktex\ uses for displaying inverse text.
- Under UNIX, there's another way around, though, which is slightly
- more elegant. Add the following line to your \Cmd{.envir} file:
-\begin{verbatim}
-setenv LESS -r
-\end{verbatim}
-
- \item[{\tt -p [--pseudoname]}] With this switch, you can provide
- the filename which will be used when we report the errors. This
- may be useful in scripts, especially when doing pipes. It is in
- other words similar to C's \verb@#line@ directive.
-
- We will only assume this name for the uppermost file; files that
- this one in turn \verb@\@\verb@input@ are presented under their original
- names. This seems most logical to me.
-
- \item[{\tt -s [--splitchar]}] String to use instead of the
- colons when doing {\tt -v0}; e.g.\ this string will be output
- between the fields.
-
- \end{description}
-\item[Boolean switches:] Common for all of these are that they
- take an optional parameter. If it is {\tt 0}, the feature will
- be disabled, if it is {\tt 1}, it will be enabled. All these
- features are on by default; and are toggled if you don't give
- any parameter.
-
- \begin{description}
- \item[{\tt -b [--backup]}] If you use the {\tt -o} switch, and the
- named outputfile exists, it will be renamed to {\tt filename.bak}.
- \item[{\tt -I [--inputfiles]}] Execute \verb@\@\verb@input@
- statements; e.g.\ include the file in the input. Our input parsing
- does of course nest; we use an input-stack to keep track of this.
- \item[{\tt -H [--headererr]}] Show errors found in front of the
- \verb@\begin{document}@ line. Some people keep {\em lots\/} of
- pure \TeX\ code there, which errors can't be detected reliably
- (in other words, we will in most cases just produce a lot of
- garbage).
- \item[{\tt -g [--globalrc]}] Read in the global resource file. This
- switch may be useful together with the {\tt -l} option.
- \item[{\tt -t [--tictoc]}] Display a twirling baton, to show that
- we're working. {\tt -v0} does an {\tt -t0}, too, as it assumes
- that the user then uses the program non-interactively. This is
- now a no-op.
- \item[{\tt -x [--wipeverb]}] Ignore the ``\verb@\verb@'' command
- found within the \LaTeX\ file and its argument is completely by
- the checking routines. This is done by simply overwriting them.
- If you somehow don't like that (for instance, you would like to
- count brackets inside those commands, too), use this switch.
- \end{description}
-\end{description}
-
-
-If you don't specify any input \LaTeX-files on the commandline, we'll
-read from {\tt stdin}. To abort {\tt stdin} input, press the
-following keycombinations:
-
-\smallskip
-\begin{tabular}{ll}
- \bf Machine & \bf Key-combination \\
- Amiga & $\fbox{\tt Ctrl} + \fbox{\tt\BS}$ \\
- UNIX & $\fbox{\tt Ctrl} + \fbox{\tt D}$ \\
- MS-DOS & $\fbox{\tt Ctrl} + \fbox{Z}$, followed by return.
-\end{tabular}
-\smallskip
-
-By default, we're using the 1994 version of GNU's \Cmd{getopt()}
-routine. For those of you who have only used the Amiga's \Cmd{ReadArgs()},
-here are some quick instructions:
-
-\begin{itemize}
-\item Options may be given in any order; the names of the \LaTeX-files
- do not have to be the last arguments. This behaviour may be turned
- off by creating an environment variable named \Cmd{POSIXLY\_CORRECT}.
-\item The special argument \Cmd{--} forces an end of
- option-scanning.
-\item Long-named options begin with \Cmd{--} instead of \Cmd{-}.
- Their names may be abbreviated as long as the abbreviation is unique
- or is an exact match for some defined option. If they have an
- argument, it follows the option name in the argument, separated from
- the option name by a \Cmd{=}, or else the in next argument.
-\end{itemize}
-
-\subsubsection{The \rsrc\ file}
-
-You should also take a look at the \rsrc\ file. As the file is
-self-documenting; you should be able to get the meaning of each
-keyword by simply reading the file. The method for {\em finding it},
-however, has grown rather complex. An outline is given below.
-
-If \chktex\ finds multiple files when searching, each and everyone
-will be read in the order specified below. The \Cmd{Keyword = \{ item
- item \dots \}} may thus be necessary to reset previously defined
-lists.
-
-In this list, \Cmd{\$foo} is assumed to be the environment variable
-\Cmd{foo}:
-
-\begin{enumerate}
-\item First, we'll take a look at the directory which was specified as
- \Cmd{DATADIR} during compilation (this does not happen on Amiga
- machines). On UNIX boxes, this usually evaluates to
- \Cmd{/usr/local/share/chktexrc} or similar, under MS-DOS it is set
- to \Cmd{\BS{}emtex\BS{}data\BS{}chktexrc}.
-
-\item Look in the following system directories:
-
- \begin{tabular}{ll}
- \bf Machine & \bf Directory \\
- 2.04+ Amiga & {\tt ENV:.chktexrc} \\
- 1.3 Amiga & {\tt S:.chktexrc} \\
- UNIX & \Cmd{\$HOME/.chktexrc} or \Cmd{\$LOGDIR/.chktexrc} \\
- MSDOS & Program installation path
- \end{tabular}
-
-\item Look for it in the directory pointed to by an environment
- variable, as specified in the table below:
-
- \begin{tabularx}\linewidth{lY}
- \bf Machine & \bf Directory \\
- Amiga & \Cmd{\$CHKTEXRC/.chktexrc} \\
- UNIX & \Cmd{\$CHKTEXRC/.chktexrc} \\
- MSDOS & \Cmd{\$CHKTEXRC\BS{}chktexrc}, \Cmd{\$CHKTEX\_HOME\BS
- chktexrc} or \Cmd{\$EMTEXDIR\BS{}data\BS{}chktexrc}
- \end{tabularx}
-
-\item Look for it in the current directory. On UNIX and Amiga boxes,
- we expect the filename to be \Cmd{.chktexrc}; on other machines
- \Cmd{chktexrc}.
-
-\end{enumerate}
-
-If you for some reason wish to undo what the previous files may have
-done, you may say \Cmd{CmdLine \{ -g0 -r \}} somewhere in the \rsrc\
-file; this will reset all previous settings.
-
-
-\subsubsection{Hints}
-I've tried to collect some advice that may be useful --- if you have a
-favourite hint, feel free to send it to me!
-
-\begin{itemize}
-\item If you use \Cmd{german.sty}; it may be wise to put \Cmd{-n18} in
- the \Cmd{CmdLine} entry in the \rsrc\ file. This will probably reduce
- the amount of false warnings significantly.
-\item Put \Cmd{-v} in the \Cmd{CmdLine} entry of the \rsrc\ file; this
- makes the fancy printing the default.
-\item If you're working on a large project, it may pay off to make a
- local resource file which is included in addition to the global
- one. In this one, add the necessary info to reduce the amount of
- false warnings --- these usually don't do anything but hide the
- real warnings.
-\item Create a total ignore environment, which \chktex\ will ignore
- completely. In here, you can place all that code which outsmarts
- \chktex\ completely. For instance, add the following lines at the top
- of your \LaTeX\ file:
-\begin{verbatim}
-% ChkTeX will ignore material within this environment
-\newenvironment{ignore}{}{}
-\end{verbatim}
- In addition, you should add the item \Cmd{ignore} to the \Cmd{VerbEnvir}
- entry in the \rsrc\ file.
-\end{itemize}
-\subsubsection{Bugs}
-
-No fatal ones, I think, but the program currently has some problems when a
-\LaTeX\ command/parameter stretch over a two lines --- some extra spaces
-may be inserted into the input. I regard the program as fairly well
-tested; using the SAS/C \Cmd{cover} utility I was able to make sure that
-approximately 95\% of the code has actually been run successfully in the
-final version. This does indeed leave some lines; most of these are
-procedure terminating brackets or ``can't happen'' lines, though.
-
-We've got some problems when isolating the arguments of a command.
-Although improved, it will certainly fail in certain cases; \chktex\
-can for instance not handle arguments stretching over two lines. This
-also means that \Cmd{WIPEARG} entries in the \rsrc\ file will only
-have the first half of their argument wiped if the argument stretches
-over two lines. We will, however, take care not to wipe parenthesis
-in such cases, in order to avoid false warnings.
-
-Before submitting a bug report, please first see whether the problem can be
-solved by editing the \rsrc\ file appropiately.
-
-
-
-\subsection{ChkWEB}
-
-This shell script is provided for checking CWEB files. The template is
-as follows:
-\begin{verbatim}
-chkweb [options] file1 file2 ...
-\end{verbatim}
-As you may see from the script, it is only a trivial interface towards
-{\tt deweb} and \chktex. It does not support any individual options
-on the command line --- all options found will be passed onto \chktex.
-If \Cmd{--} or a filename is found, the remaining parameters will be
-ignored.
-The only real intelligence it features is that it will try to append
-\verb@.w@ to filenames it can't find.
-
-If no filenames are given, we will read from {\tt stdin}.
-
-\subsection{DeWEB}
-
-This program strips away C code and CWEB commands from CWEB sources.
-It is called with the following synopsis:
-
-\begin{verbatim}
-deweb file1 file2 ...
-\end{verbatim}
-
-{\tt deweb} filters away all C \&\ CWEB commands from a CWEB source code.
-This leaves only the \LaTeX\ code. This stripped code, in turn, may then
-be passed to a suitable syntax checker for \LaTeX, like \chktex\ and {\tt
- lacheck}, or spell-checkers like {\tt ispell}.
-
-When {\tt deweb} strips away the C code from your CWEB source, it tries to
-preserve line breaks. This means that the error reports from {\it your
- favorite tool\/} will be correct regarding to line numbers. In most
-cases, the column position will also be correct. This significantly
-simplifies finding the errors in the \LaTeX\ source (in contrast to the
-output from {\tt cweave}, which output is truly difficult to figure
-anything out from).
-
-{\tt deweb} accepts a list of filenames on the argument line, and will send
-its output to {\tt stdout}. If no filenames are given, it will read from
-stdin, acting as a filter. No options are currently accepted.
-
-Macho users may try to pipe the output from {\tt deweb} directly into
-\LaTeX, theoretically, this should work. This would ease the debugging of
-the \LaTeX\ code significantly, as when \LaTeX\ complains about wrong
-syntax, you'll be able to find the erroneous line much more easily. Don't
-expect that the output looks very much like the final one, though.
-
-{\tt deweb} should now understand all correct {\tt CWEB} opcodes. If it
-complains about not understanding a correct opcode, please inform the
-author.
-
-\subsubsection{Bugs}
-
-{\tt deweb} will not even {\em compile\/} under Perl versions before perl
-v5. Unfortunately, this means that we can't even tell the user why we
-failed; Perl will just complain about not being able to compile the
-regexps.
-
-\section{Explanation of error messages}
-Below is a description of all error-messages \chktex\ outputs.
-Error messages set in {\it italic type\/} are turned off by default.
-Where margin paragraphs are listed in the text, they refer to the
-keyword in the \rsrc\ file which controls the discussed warning.
-
-\newcommand\Keyword[1]{\marginpar{\large\tt\hfill\\ #1}}
-
-\smallskip\pagebreak[2]
-\Keyword{Silent}
-\begin{errdesc}{Command terminated with space.}
- You tried to terminate a command with a blank space. Usually, this
- is an error as these are ignored by \LaTeX. In most cases, you would
- like to have a real space there.
-
- \begin{errexam}
- \verb@\LaTeX@\underline{\tt }\verb@is a typesetter.@ \\*
- \LaTeX is a typesetter. \\*
- \smallskip
- \verb@\LaTeX\ is a typesetter.@ \\*
- \LaTeX\ is a typesetter. \\*
- \end{errexam}
-\end{errdesc}
-
-\Keyword{Linker}
-\begin{errdesc}{Non-breaking space (`\~{}') should have been used.}
- When reading a document, it is not very pretty when references are
- split across lines. If you use the \verb@~@ character, \LaTeX\ will
- assign a very high penalty for splitting a line at that point.
- \chktex\ issues this warning if you have forgot to do this.
-
- \begin{errexam}
- \verb@Please refer to figure@\underline{\tt\ }\verb@\ref{foo}.@ \\*
- Please refer to figure 11. \\* % Gotta cheat here! :)
- \smallskip
- \verb@Please refer to figure~\ref{foo}.@ \\*
- Please refer to figure~11. \\*
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{You should enclose the previous parenthesis with `\{\}'.}
-
- This is a warning which you may ignore, but for maximum aestethic
- pleasure, you should enclose your bracket characters with `\{\}'s.
-
- \begin{errexam}
- \verb@$@\underline{\tt\ }\verb@[(ab)^{-1}]@\underline{\tt\ }\verb@\^{-2}$@ \\*
- $[(ab)^{-1}]^{-2}$ \\*
- \smallskip
- \verb@${[{(ab)}^{-1}]}^{-2}$@ \\*
- ${[(ab)^{-1}]}^{-2}$ \\*
- \end{errexam}
-\end{errdesc}
-
-\Keyword{Italic\\ItalCmd\\NonItalic}
-\begin{errdesc}{Italic correction (`\BS/') found in non-italic
- buffer.}
- If you try to use the \verb@\/@ command when \chktex\ believes that
- the buffer is not outputted as italic, you'll get this warning.
-
- \begin{errexam}
- \verb@This is an@\underline{\tt\BS/}\verb@ example@ \\*
- This is an\/ example. \\*
- \smallskip
- \verb@This is an example.@ \\*
- This is an example. \\*
- \end{errexam}
-\end{errdesc}
-
-\Keyword{Italic\\ItalCmd\\NonItalic}
-\begin{errdesc}{Italic correction (`\BS/') found more than once.}
- If the buffer is italic, and you try to use the \verb@\/@ command
- more than once, you'll get this warning.
-
- \begin{errexam}
- \verb@This {\it example\/@\underline{\tt\BS/}\verb@} is not amusing.@ \\*
- This {\it example\/\/} is not amusing. \\*
- \smallskip
- \verb@This {\it example\/} is not amusing.@ \\*
- This {\it example\/} is not amusing. \\*
- \end{errexam}
-\end{errdesc}
-
-\Keyword{Italic\\ItalCmd\\NonItalic}
-\begin{errdesc}{No italic correction (`\BS/') found.}
- You get this error if \chktex\ believes that you are switching from
- italic to non-italic, and you've forgot to use the \verb@\/@ command
- to insert that extra little spacing. If you use the \Cmd{em} option,
- you may ignore this warning.
-
- \begin{errexam}
- \verb@This {\it example@\underline{\tt\ }\verb@} is not amusing, either.@ \\*
- This {\it example} is not amusing, either. \\*
- \smallskip
- \verb@This {\it example\/} is not amusing, either.@ \\*
- This {\it example\/} is not amusing, either. \\*
- \end{errexam}
-\end{errdesc}
-
-\Keyword{IJAccent}
-\begin{errdesc}{Accent command `command' needs use of `command'.}
- If you're using accenting commands, `i' and `j' should lose their
- dots before they get accented. This is accomplished by using the
- \verb@\i@, \verb@\j@, \verb@\imath@ and \verb@\jmath@ command.
-
- \begin{errexam}
- \verb@This is an example of use of accents: \'{@\underline{\tt i}\verb@}.@ \\*
- This is an example of use of accents: \'{i}. \\*
- \smallskip
- \verb@This is an example of use of accents: \'{\i}.@ \\*
- This is an example of use of accents: \'{\i}. \\*
- \end{errexam}
-\end{errdesc}
-
-\Keyword{HyphDash\\NumDash\\WordDash}
-\begin{errdesc}{Wrong length of dash may have been used.}
- This warning suggests that a wrong number of dashes may have been
- used. It does this by classifying the dash according to the the
- character in front and after the dashes.
-
- If they are of the same type, \chktex\ will determine which keyword
- to use in the \rsrc\ file. If not, it will shut up and accept that
- it doesn't know.
-
- \begin{tabular}{ll}
- \bf Character type & \bf Keyword in \rsrc\ file \\*
- Space & \tt WordDash \\*
- Number & \tt NumDash \\*
- Alphabetic character & \tt HyphDash \\*
- \end{tabular}
-
- This is more or less correct, according to my references. Hopefully
- this check can be even more improved (suggestions?).
-
- \begin{errexam}
- \verb@It wasn't anything @\underline{\tt-}\verb@ just a 2@\underline
- {\tt---}\verb@3 star@\underline{\tt--}\verb@shots.@ \\*
- It wasn't anything - just a 2---3 star--shots. \\*
- \smallskip
- \verb@It wasn't anything --- just a 2--3 star-shots@ \\*
- It wasn't anything --- just a 2--3 star-shots. \\*
- \end{errexam}
-\end{errdesc}
-
-
-\fmted{`\%s' expected, found `\%s'.}
-\begin{errdesc}{Solo `\%s' found.}
- You get this warning whenever brackets or environments don't match.
- \chktex\ expect to find matching brackets/environments in the
- same order as their opposites were found, and no closing delimiters
- which haven't been preceded by an opening one.
-
- While bracket matching is not an explicit error, it is usually a
- sign that something is wrong.
-
-\end{errdesc}
-
-\Keyword{CenterDots\\LowDots}
-\begin{errdesc}{You should use `\%s' to achieve an ellipsis.}
- Simply typing three \Cmd{.} in a row will not give a perfect spacing
- withing the between the dots. The \verb@\ldots@ is much more
- suitable for this.
-
- In math mode, you should also distinguish between \verb@\cdots@ and
- \verb@\ldots@; take a look at the example below.
-
- \begin{errexam}
- \newcommand{\td}{\underline{\tt...}}
- \verb@Foo@\td\verb@bar. $1,@\td\verb@,3$. $1+@\td\verb@+3$. $1,@%
- \underline{\tt\BS{}cdots}\verb@,3$.@ \\*
- Foo...bar. $1,...,3$. $1+...+3$. $1,\cdots,3$. \\*
- \smallskip
- \verb@Foo\dots bar. $1,\ldots,3$. $1+\cdots+3$. $1,\ldots,3$.@ \\*
- Foo\dots bar. $1,\ldots,3$. $1+\cdots+3$. $1,\ldots,3$. \\
- \end{errexam}
-\end{errdesc}
-
-\Keyword{Abbrev}
-\begin{errdesc}{Interword spacing (`\BS\ ') should perhaps be used.}
-
- One of the specified abbreviations were found. Unless you have
- previously said \verb@\frenchspacing@, you'll have incorrect
- spacing, which one should avoid if possible.
-
- \begin{errexam}
- \verb@This is an example, i.e.@\underline{\tt\ }\verb@an demonstration.@ \\*
- This is an example, i.e. an demonstration. \\*
- \smallskip
- \verb@This is an example, i.e.\ an demonstration.@ \\*
- This is an example, i.e.\ an demonstration. \\*
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{Intersentence spacing (`\BS{}@') should perhaps be used.}
-
- \LaTeX' detection of whether a period ends a sentence or not, is
- only based upon the character in front of the period. If it's
- uppercase, it assumes that it does not end a sentence. While this
- may be correct in many cases, it may be incorrect in others.
- \chktex\ thus outputs this warning in every such case.
-
- \begin{errexam}
- \verb@I've seen an UFO!@\underline{\tt\ }\verb@Right over there!@ \\*
- I've seen an UFO! Right over there! \\*
- \smallskip
- \verb+I've seen an UFO\@! Right over there!+ \\*
- I've seen an UFO\@! Right over there! \\*
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{Could not find argument for command.}
-
- \chktex\ will in some cases need the argument of a function to
- detect an error. As \chktex\ currently processes the \LaTeX\ file on
- a line-by-line basis, it won't find the argument if the command
- which needed it was on the previous line. On the other hand, this
- {\em may\/} also be an error; you ought to check it to be safe.
-
- \begin{errexam}
- \verb@$\hat$@ \\*
- This will give a \LaTeX\ error\dots \\*
- \smallskip
- \verb@$\hat{a}$@ \\*
- $\hat{a}$ \\*
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{No match found for `\%s'.}
-
- This warning is triggered if we find a single, {\em opening\/}
- bracket or environment. While bracket matching is not an explicit
- error, it is usually a sign that something is wrong.
-
-\end{errdesc}
-
-\Keyword{MathEnvir}
-\begin{errdesc}{Mathmode still on at end of LaTeX file.}
- This error is triggered if you at some point have turned on
- mathmode, and \chktex\ couldn't see that you remembered to turn it
- off.
-
-\end{errdesc}
-
-\begin{errdesc}{Number of `character' doesn't match the number of `character'.}
-
- Should be self-explanatory. \chktex\ didn't find the same number of
- an opening bracket as it found of a closing bracket.
-
-\end{errdesc}
-
-\begin{errdesc}{You should use either `` or '' as an alternative to `\,"\,'.}
- Self-explanatory. Look in the example, and you'll understand why.
-
- \begin{errexam}
- \verb@This is an @\underline{\tt"}\verb@example@\underline{\tt"} \\*
- This is an "example" \\*
- \smallskip
- \verb@This is an ``example''@ \\*
- This is an ``example'' \\*
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{You should use "'" (ASCII 39) instead of
- "'" (ASCII 180).} On some keyboards you might get the wrong quote.
- This quote looks, IMHO, {\em ugly\/} compared to the standard
- quotes, it doesn't even come out as a quote! Just see in the
- example.
-
-
- \begin{errexam}
- \verb@``There@\underline{\tt '}\verb@s quotes and there@\underline{\tt '}\verb@s quotes@
- \underline{\tt ''} \\* % ''
- ``There´s quotes and there´s quotes´´ \\* % ''
- \smallskip
- \verb@``There's quotes and there's quotes''@ \\*
- ``There's quotes and there's quotes'' \\*
- \end{errexam}
-\end{errdesc}
-
-\Keyword{Userwarn}
-\begin{errdesc}{User-specified pattern found.}
- A substring you've specified using {\tt USERWARN} in the \rsrc\ file,
- has been found.
-\end{errdesc}
-
-\begin{errdesc*}{This command might not be intended.}
- I implemented this because a friend of mine kept on making these
- mistakes. Easily done if you haven't gotten quite into the syntax
- of \LaTeX.
-
- \begin{errexam}
- \verb@\LaTeX\ is an extension of \TeX@\underline{\tt\BS.}\verb@ Right?@ \\*
- \LaTeX\ is an extension of \TeX\. Right? \\*
- \smallskip
- \verb@\LaTeX\ is an extension of \TeX. Right?@ \\*
- \LaTeX\ is an extension of \TeX. Right? \\*
- \end{errexam}
-\end{errdesc*}
-
-\begin{errdesc*}{Comment displayed.}
- \chktex\ dumps all comments it finds, which in some cases is useful.
- I usually keep all my notes in the comments, and like to review them
- before I ship the final version. For commenting out parts of the
- document, the \Cmd{comment} environment is better suited.
-
-\end{errdesc*}
-
-
-\begin{errdesc}{Either ''\BS,' or '\BS,'' will look better.}
-
- This error is generated whenever you try to typeset three quotes in
- a row; this will not look pretty, and one of them should be
- separated from the rest.
-
- \begin{errexam}
- \underline{\tt```}\verb@Hello', I heard him said'', she remembered.@ \\*
- ```Hello', I heard him said'', she remembered. \\*
- \smallskip
- \verb@``\,`Hello', I heard him said'', she remembered.@ \\*
- ``\,`Hello', I heard him said'', she remembered.
- \end{errexam}
-\end{errdesc}
-
-\Keyword{PostLink}
-\begin{errdesc}{Delete this space to maintain correct pagereferences.}
- This message, issued when a space is found in front of a
- \verb@\index@, \verb@\label@ or similar command (can be set in the
- \rsrc\ file). Sometimes, this space may cause that the word and the
- index happens on separate pages, if a pagebreak happens just there.
-
- You might also use this warning to warn you about spaces in front of
- footnotes; however, the warning text may not be entirely correct
- then.
-
- \begin{errexam}
- \verb@Indexing text@\underline{\tt\ }\verb@\index{text} is fun!@ \\*
- \smallskip
- \verb@Indexing text\index{text} is fun!@ \\*
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{You might wish to put this between a pair of `\{\}'}
-
- This warning is given whenever \chktex\ finds a \Cmd{\^{ }}' or a
- \Cmd{\_} followed by either two or more numberic digits or two or
- more alphabetic characters. In most situations, this means that
- you've forgotten some \{\}'s.
-
- \begin{errexam}
- \verb@$5\cdot10^@\underline{\tt10}\verb@$@ \\*
- $5\cdot10^10$ \\*
- \smallskip
- \verb@$5\cdot10^{10}$@ \\*
- $5\cdot10^{10}$
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{You ought to remove spaces in front of punctuation.}
-
- This warning is issued if \chktex\ finds space in front of an
- end-of-sentence character.
-
- \begin{errexam}
- \verb@Do you understand@\underline{\tt\ }\verb@?@ \\*
- Do you understand ? \\*
- \smallskip
- \verb@Do you understand?@ \\*
- Do you understand? \\*
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{Could not execute LaTeX command.}
-
- Some \LaTeX\ commands will be interpreted by \chktex; however, some
- of them are sensible to errors in the \LaTeX\ source. Most notably,
- the \verb@\@\verb@input@ command relies on that the input file exists\dots
-
-\end{errdesc}
-
-\Keyword{Italic\\ItalCmd\\NonItalic}
-\begin{errdesc}{Don't use \BS/ in front of small punctuation.}
- Italic correction should generally {\em not\/} be used in front of
- small punctuation characters like `.' and `,'; as it looks better
- when the preceding italic character leans ``over'' the punctum or
- comma.
-
- \begin{errexam}
- \verb@It is just a {\it test@\underline{\tt\BS/}\verb@}, don't think anything else.@ \\*
- It is just a {\it test\/}, don't think anything else. \\*
- \smallskip
- \verb@It is just a {\it test}, don't think anything else.@ \\*
- It is just a {\it test}, don't think anything else.
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{\$\BS{}times\$ may look prettier here.}
- In ASCII environments, it is usual to use the `x' character as an
- infix operator to denote a dimension. The mathemathical symbol
- $\times$ provided by the \verb@$\times$@ command is better suited for
- this.
-
- \begin{errexam}
- \verb@The program opens a screen sized 640@\underline{\tt x}\verb@200 pixels.@ \\*
- The program opens a screen sized 640x200 pixels. \\*
- \smallskip
- \verb@The program opens a screen sized $640\times200$ pixels.@ \\*
- The program opens a screen sized $640\times200$ pixels.
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc*}{Multiple spaces detected in output.}
-
- This warning, intended for the novice, will remind you that even if
- you {\em type\/} multiple spaces in your input, only a single space
- will come out. Some ways to come around this is listed below.
-
- \begin{errexam}
- \verb@White is a beautiful colour.@ \\*
- White is a beautiful colour. \\*
- \smallskip
- \verb@White~~~~~{ }{ }{ }\ \ \ is a beautiful colour.@ \\*
- White~~~~~{ }{ }{ }\ \ \ is a beautiful colour. \\
- \end{errexam}
-\end{errdesc*}
-
-\Keyword{VerbEnvir}
-\begin{errdesc}{This text may be ignored.}
- Certain implementations of the \verb@verbatim@ environment and
- derivations of that, ignore all text on the same line as
- \verb@\end{verbatim}@. This will warn you about this.
-
-
-\end{errdesc}
-
-\fmted{Use ` to begin quotation, not '.}\hfill\\
-\fmted{Use ' to end quotation, not `.}\hfill\\
-\begin{errdesc}{Don't mix quotes.}
-
- Proper quotations should start with a \verb@`@ and end with a
- \verb@'@; anything else isn't very pretty. Both these warnings are
- relative to this; look in the example below.
-
- \begin{errexam}
- \verb@There are @\underline{\tt`'}%
- \verb@examples'' and there are ``examples@\underline{\tt``}\verb@.@ \\*
- There are `'examples'' and there are ``examples``. \\*
- \smallskip
- \verb@There are ``examples'' and there are ``examples''.@ \\*
- There are ``examples'' and there are ``examples''.
- \end{errexam}
-\end{errdesc}
-
-\Keyword{MathRoman}
-\begin{errdesc}{You should perhaps use `cmd' instead.}
- Most mathematical operators should be set as standard roman font,
- instead of the math italic \LaTeX\ uses for variables. For many
- operators, \LaTeX\ provides a pre-defined command which will typeset
- the operator correctly. Look below for an illustration of the point.
-
- \begin{errexam}
- \verb@$@\underline{\tt sin}\verb@^2 x + @\underline{\tt cos}\verb@^2 x = 1$@ \\*
- $sin^2 x + cos^2 x= 1$ \\*
- \smallskip
- \verb@$\sin^2 x + \cos^2 x = 1$@ \\*
- $\sin^2 x + \cos^2 x = 1$
- \end{errexam}
-\end{errdesc}
-
-\fmted{You should put a space in front of/after parenthesis.}\hfill\\
-\begin{errdesc}{You should avoid spaces in front of/after parenthesis.}
- Outside math mode, you should put a space in front of any group of
- opening parenthesis, and no spaces after. If you have several after
- each other, you should of course not put a space in between each;
- look in the example below. Likewise, there should not be spaces in
- front of closing parenthesis, but there should be at least one
- after.
-
-
-
- \begin{errexam}
- \verb@This@\underline{\tt( }\verb@an example@\underline{\tt( }%
- \verb@Nuff said@\underline{\tt\ }\verb@)), illustrates@\underline{\tt( }%
- \verb@``my''@\underline{\tt\ )}\verb@point.@\\
- This( an example( Nuff said )), illustrates( ``my'' )point. \\
- \smallskip
- \verb@This (an example (Nuff said)), illustrates (``my'') point.@\\
- This (an example (Nuff said)), illustrates (``my'') point.\\
- \end{errexam}
-\end{errdesc}
-
-\Keyword{QuoteStyle}
-\begin{errdesc}{You should not use punctuation in front of/after
- quotes.}
- %
- For best looking documents, you should decide on how you
- wish to put quotes relative to punctuation. \chktex\ recognizes two
- styles; you may specify which you use in the \rsrc\ file. A
- description on each style follows:
- \begin{description}
- \item[Traditional:] This style is the most visually pleasing. It
- always puts the punctuation {\em in front of\/} the quotes, which
- gives a continuous bottom line.
-
- However, it may in certain cases be ambigious. Consider the
- following example from a fictious \Cmd{vi(1)}
- tutorial (quote taken from the Jargon file):
- \begin{center}
- \verb@Then delete a line from the file by typing ``dd.''@ \\*
- Then delete a line from the file by typing ``dd.''
- \end{center}
- That would be very bad --- because the reader would be prone to
- type the string d-d-dot, and it happens that in \Cmd{vi(1)} dot
- repeats the last command accepted. The net result would be to
- delete {\em two\/} lines! This problem is avoided using logical
- style, described below.
- \pagebreak[3]
- \item[Logical:] This style uses quotes as balanced delimiters like
- parentheses. While this is not the most visual pleasing, it is
- can't be misunderstood. The above sentence would then become:
- \nopagebreak
- \begin{center}
- \verb@Then delete a line from the file by typing ``dd''.@ \\*
- Then delete a line from the file by typing ``dd''.
- \end{center}
- \nopagebreak
- \end{description}
-
-\end{errdesc}
-
-\begin{errdesc}{Double space found.}
- This warning is triggered whenever \chktex\ finds a space in front
- of a hard space, or vice versa. This will be rendered as two spaces
- (which you usually don't wish).
-
- \begin{errexam}
- \verb@For output codes, see table@\underline{\tt\ }%
- \verb@~@\underline{\tt\ }\verb@\ref{foo}.@ \\*
- For output codes, see table ~ 1.1.\\*
- \smallskip
- \verb@For output codes, see table~\ref{foo}.@ \\*
- For output codes, see table~1.1.
- \end{errexam}
-\end{errdesc}
-
-\Keyword{MathEnvir}
-\begin{errdesc}{You should put punctuation outside inner/inside
- display math mode.}
- As recommended in the \TeX{}book, you should try to put punctuation
- outside inner math mode, as this is gets formatted better.
-
- Similarily, you should let any final punctuation in display math
- mode end up within it. Look at the following example, which was
- taken from the \TeX{}book:
- \begin{errexam}
- \verb@for $x = a@\underline{\tt,}\verb@b$, or $c$.@\\*
- for $x = a,b$, or $c$. \\*
- \smallskip
- \verb@for $x = a$, $b$, or $c$.@\\*
- for $x = a$, $b$, or $c$.\\*
- \end{errexam}
-
-\end{errdesc}
-
-\Keyword{Primitives}
-\begin{errdesc*}{You ought to not use primitive TeX in LaTeX code.}
- This warning is triggered whenever you use a raw \TeX\ command
- which has been replaced by a \LaTeX\ equivalent. If you consider
- yourself a purist (or want to be sure your code works under \LaTeX3),
- you should use the \LaTeX\ equivalent.
-\end{errdesc*}
-
-\Keyword{NotPreSpaced}
-\begin{errdesc}{You should remove spaces in front of `\%s'}
-
- Some commands should not be prepended by a space character, for cosmetical
- reasons. This notes you of this whenever this has happened.
-
- \begin{errexam}
- \verb@This is a footnote@\underline{\tt\ }\verb@\footnotemark[1] mark.@\\*
- This is a footnote ${}^1$ mark. \\*
- \smallskip
- \verb@This is a footnote\footnotemark[1] mark.@\\*
- This is a footnote${}^1$ mark. \\*
- \end{errexam}
-\end{errdesc}
-
-\Keyword{NoCharNext}
-\begin{errdesc}{`\%s' is normally not followed by `\%c'.}
- \LaTeX' error message when calling \verb@\left \{@ instead of
- \verb@left \{@ is unfortunately rather poor. This warning detects
- this and similar errors.
-\end{errdesc}
-
-\section{Future plans}
-
-In a somewhat prioritized sequence, this is what I'd like to put into the
-program --- if I have the time.
-
-\begin{itemize}
-\item Do a final fix for maths mode. Currently, \chktex\ doesn't
- recognize embedded math mode (i.e.\ constructions like
- \verb@$$a+b\text{for $a \leq 0$}$$@).
-
-\item Support for regular expressions as user patterns. I'll do it at
- once I get the GNU \Cmd{rx} package up and running (it doesn't
- produce correct include files).
-
-\item De-linearize the checker. Currently, it works on a line-by-line
- basis, in most respects, at least. I hope to be able to remove this
- barrier; as this will reduce the amount of false warnings
- somewhat.
-
-\item Probably some more warnings/errors; just have to think them out
- first. Suggestions are appreciated --- I've ``stolen'' most that
- similar programs provides, and am running out of ideas, really.
-
- It would also be nice to investigate the field of ``globally''
- oriented warnings; i.e.\ warnings regarding the document as a
- whole. Currently, \chktex\ operates mainly on a local/``greedy''
- basis.
-
- If you have suggestions/ideas on this topic, they're certainly
- welcome, including references to literature.
-
-\item Fix a few more bugs. \smiley
-\end{itemize}
-
-\section{Notes}
-
-\subsection{Wish to help?}
-
-As most other living creatures, I have only a limited amount of time. If
-you like \chktex\ and would like to help improving it, here's a few things
-I would like to receive. The following ideas are given:
-
-\begin{itemize}
-\item Does anyone have a $\mbox{\LaTeX}\rightarrow \mbox{{\tt troff}}$
- conversion program? It would be really nice if I could extract the
- relevant sections from this manual, and present them as a man page.
- I will not, however, convert this manual to \TeX{}info in order to
- be able to do this; IMHO \TeX{}info documents have far too limited
- typographic possibilities.
-
- This doesn't mean that I'm not willing to restructure the document
- at all. This manual already uses some kind of preprocessing in order
- to achieve HTML output via \LaTeX2{\tt html}, I'm willing to do the
- same in order to produce {\tt troff} output.
-
-\item Help me port the program! This is a prioritized one. It's no fun
- writing ANSI C when people haven't got a C compiler.
-
- Of course, I'll provide whatever help necessary to modify the sources
- to fit to the new platform. Take contact if you're interested. I will
- include your compiled binary in the distribution, and give you
- credit where appropiate.
-
- Just one request: If you have to modify the sources in order to make
- \chktex\ compile \& work on the new platform, {\em please\/} enclose your
- changes in something like \Cmd{\#ifdef \_\_PLATFORM\_\_\dots code\dots\#endif}!
- It makes life so much easier later, when we try to merge the two
- source trees.
-
-\item Reports on problems configuring and compiling \chktex\ on supported
- (and unsupported) systems are welcomed.
-
-\item Filters for other file formats. I do believe that there are
- several formats using \LaTeX\ for its formatting purposes, combining
- that with something else. If you can write a program or script which
- filters everything away but the \LaTeX\ code, it will surely be
- appreciated (and included). Look at the \verb@deweb@ script to see
- what I mean.
-
-\item Arexx interfaces for other editors are also welcomed; these
- should be rather fast to write. They should to the following:
- \begin{enumerate}
- \item Get the filename of the active file.
- \item If possible, save the file to disk if there has been any
- changes.
- \item Call the program \Cmd{ChkTeX.rexx} with the filename as the
- only parameter.
- \end{enumerate}
-
-\item If somebody out there actually possesses (and uses) GoldED, it
- would be nice if they checked whether the ARexx script included
- actually work. If not, please send me a fixed copy; perhaps also
- one which supports point 2 above, too. If it does work, then please
- tell me so, so I can remove this item.
-
- I don't have GoldEd in my possession; the script was just modelled
- after Juergen Zeschky's, ({\tt <juergen@sokrates.nbg.de>})
- $\mbox{PGP}\leftrightarrow\mbox{GoldED}$ interface.
-
-\item If you update the \rsrc\ file in anyway that is not strictly
- local, I would appreciate to receive your updated version.
-
-\item Suggestions for new warnings are always welcomed. Both formal
- (i.e.\ regexps or similar) and non-formal (plain English) descriptions
- are welcomed.
-\end{itemize}
-
-Of course, people doing any of this will be mentioned in this document, and
-thus receive eternal glory and appreciation.
-
-\subsection{Caps and stuff}
-
-This program uses the \Cmd{getopt()} routine, as supplied from GNU\@.
-The source included in this distribution has been modified slightly.
-To make the use of C2LOCAL easier, portions which were
-\verb@#ifdef@'ed out, have now been commented out.
-
-Where trademarks have been used, the author is aware of that they
-belong to someone, and has tried to stick to the original caps.
-
-\section{About the author}
-
-A quick summary of who I am and what I do:
-
-I'm 21 years old, and live in Oslo, the capital of Norway. I'm
-currently studying maths and computer science at the
-University~of~Oslo; planning to get a degree within mathematical
-modeling, with a dash of physics and emphazing the computer part of
-the study. More precisely, in autumn'96 my studies consist of
-mathematical analysis, statistics \& probability calculations plus
-studying the relationship between society and computers.
-
-At home I now possess 4 computers, of which 1 is regular use: A
-vanilla Amiga 1200, expanded only by a HD\@. The others are a {\tt
- 80286} PC and an Amiga 500, both semi-out-of-order. The last one is
-a Commodore VIC-20, which for some peculiar reason never seems to be
-used. Plans are to get a Linux-capable PC, though.
-
-Most of the time in front of these computers (including SGI Indy's and
-SPARC stations at our university) is spent on C and shell programming,
-plus some text-processing.
-
- % I am also involved in writing the document
- % for {\sc Isaac} --- Interactive Simulation as an Alternative to
- % Advanced Calculations. This is planned to help newcomers to physics,
- % by providing a computer program which enables one to simulate most
- % experiments relating to classical mechanics.
- %
-
-C and shell programming are not my only knowledge areas regarding
-computers, however. I write the following languages more or less:
-Perl, Motorola {\tt 68000} assembly code, ARexx, Simula, C++, \LaTeX,
-HTML, AmigaGuide, Amos Basic and Installer LISP\@. Once I also
-mastered Commodore Basic V2, the ``language'' included with my VIC-20.
-
-However, I also try to not to end up as a computer nerd. Thus, in
-addition to the compulsory (?) interest for computers, I am a scout.
-Still running into the woods, climbing the trees, falling down and
-climbing up once more, in other words. To be more specific, I am a
-now a troop leader for `Ulven' scout-group; Norwegian Scouts
-Association. I am also a active rover in `V{\aa}lerenga' scout-group.
-
-Certainly a lot more to tell (I play the piano and like cross-country
-skiing, for instance); but I'll stop here before you fall
-asleep\dots\smiley
-
-
-\section{Thanks}
-
-The author wishes to thank the following people (in alphabetical order):
-
-\def\Name#1#2{%
-\item[]
- \setbox0=\hbox{
- \begin{tabular}{l}
- \bf #1 \\
- \tt #2 \\
- \end{tabular}
- } \usebox0\\ }
-
-\begin{description}
-
- \Name{Russ Bubley}{russ@scs.leeds.ac.uk}
- He has been the main external beta-tester for this program, sending
- me loads and loads of understandable and reproducible bug reports.
- If you somehow think that \chktex\ is well-behaved and free from
- bugs, send warm thoughts to Russ. He has also provided ideas for
- enhanced checks and so forth.
-
- In addition, he sent me a huge list of 238 common English
- abbreviations, for inclusion in the \rsrc\ file! Together with the
- enhanced abbreviation recognizer, I do now believe most
- abbreviations should be catched\dots\smiley
-
- Finally, he has also given me valuable hints for improving the
- program's outputting routine, and given me lots of suggestions for
- filtering unnecessary/false warnings away.
-
- \Name{Gerd B\"ohm}{Gerd.Boehm@physik.uni-regensburg.de}
- Improved and bug-fixed the MS-DOS port of \chktex\ v1.4, sending me
- ready-to-yank code patches. The original port didn't respect all
- the peculiarities of the MS-DOS file-system, unfortunately.
-
- \Name{Lars Frellesen}{frelle@math-tech.dk} Sent a few bug reports
- regarding the filtering of messages. He has also helped me to
- expand the \Cmd{SILENT} keyword in the \rsrc\ file.
-
- \Name{Wolfgang Fritsch}{fritsch@hmi.de}
- Author of the OS/2 port, which he did using the emx compiler.
- Please direct questions regarding strictly to that port to him (I
- would like to receive a carbon copy, though).
-
- \Name{Stefan Gerberding}{stefan@inferenzsysteme.informatik.th-darmstadt.de}
- First one to report the Enforcer hit in v1.2 when using \chktex\ as
- a pipe. Also came with suggestions to make \chktex\ more easily
- compile on early gcc compilers.
-
- He has also kept on beta-testing later versions of \chktex, giving
- me bug-reports and enhancements requests.
-
- \Name{Kasper B. Graversen}{kbg2001@internet.dk} Lots of creative
- suggestions and improvements. Several of the warnings implemented
- were based on his ideas. In addition, he has given advice for
- improving the existing warnings.
-
- Has also provided some OS-oriented code.
-
- \Name{Frank Luithle}{f\_luithle@outside.sb.sub.de}
- Wrote a translation for v1.0. Unfortunately, he remained unreachable
- after that\dots:-/
-
- \Name{Nat}{nat@nataa.frmug.fr.net}
- Reported the same bug as Gerberding. In addition, he taught me a
- few tricks regarding the use of gcc + made me understand that the
- ANSI standard isn't unambigious; at least the \verb@getenv()@ call
- seem to be open for interpretations. Many possible
- incompatibilities have been removed due to these lessons.
-
- \Name{Michael Sanders}{sanders@umich.edu}
- Has found some of the bugs in this beast; both obscure and
- long-lived. Has also provided motivation to clarify this document.
-
- \Name{Bj\o rn Ove Thue}{bjort@ifi.uio.no}
- Author of the MSDOS port; please direct questions regarding
- strictly to that port to him (I would like to receive a carbon
- copy, though).
-
- \Name{Martin Ward}{Martin.Ward@durham.ac.uk}
- Sent a few bug-reports; also gave me information upon where to find
- regexp code. He also provided a Perl script for checking ordinary
- text, which ideas I was able to implement in \chktex. In addition,
- he sent me the source code for \verb@lacheck@; which also inspired some
- of the warnings.
-\end{description}
-
-%endlatex
-\section{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:
-%latex
-\begin{samepage}
-%endlatex
- \begin{quote}
- Jens Berger \\
- Spektrumvn. 4 \\
- N-0666 Oslo \\
- Norway \\
- E-mail: {\tt <jensthi@ifi.uio.no>}
- \end{quote}
-%latex
-\end{samepage}
-%endlatex
-Any signs of intelligent life are welcomed; that should exclude piracy.
-
-\medskip\noindent
-Have fun.
-
-\end{document}
-
-
-