##
##  ChkTeX v1.4, example resource file for ChkTeX.
##  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:   The  format  has  changed slightly.  `=' is also used after
# keywords now; you may sometimes need to escape this.
#
# Comments  begin  with  '#', and continues for the rest of the line.
# Blank lines plus leading and trailing spaces are of course ignored.
#
# The general format of this file is the following:
#
# KEYWORD
# {
#     item item item  ...
#     item item item  ...
#       :    :    :
#     item item item  ...
# }
#
# KEYWORD = item
#
# This  does  _not_  mean  that  you may alternate the forms; certain
# keywords  demands  a  list, other a single value.  You thus have to
# look at the examples of their use.
#
# A  flowchart  of  the  parser  is  given below; more for the fun of
# creating  it  rather  than  explaining  anything  (this  format  is
# trivial).
#
#                                ,-------<-------.
#                                |               ^
#                        ,---.   v   ,-------.   |   ,---.
#                    ,->-| { |->-+->-| Token |->-+->-| } |->-.
#      ,---------.   |   `---'       `-------'       `---'   |
# -+->-| Keyword |->-+                                       +->-+->-
#  ^   `---------'   v         ,---.       ,-------.         |   |
#  |                 `---->----| = |--->---| Token |---->----'   |
#  |                           `---'       `-------'             |
#  |                                                             v
#  `-----------------------------------<-------------------------'
#
#
# Please  also  note  that if you specify a list-keyword twice, we'll
# concatenate  the  lists.   If you you specify a item-keyword twice,
# we'll kill the previous value.
#
# Items  are separated by spaces.  Newlines are considered as spaces,
# but  can't be escaped.  You may surround items with quotes (`"') to
# easily put spaces into them.
#
# Escape sequences available:
#
#   Sequence        Resulting character
#   !               A space (type `! ', not just a exclamation mark)
#   !"              "
#   !#              #
#   !!              !
#   !{              {
#   !}              }
#   !=              =
#   !b              Backspace
#   !n              New line
#   !r              Carriage return
#   !t              Tab
#   !f              Form feed
#   !xNN            NN must be a hexadecimal number (00 - ff),
#                   _both_ characters must be included.
#   !dNNN           DDD must be a decimal number (000 - 255), all
#                   three characters must be included. Unspecified
#                   results if DDD > 255.
#   !NNN            DDD must be a octal number (000 - 377), all
#                   three characters must be included. Unspecified
#                   results if DDD > 377.
#
# Minor  note:   As  you  can see, most of these escape sequences are
# equal  to  those  in  C  (with  some extensions); however, we use !
# instead of \ as escape character for obvious reasons.
#


#####################################################################
#
# Here, you can put default commandline options; most users would for
# instance like to put -v2 here.
#

CMDLINE
{

}

#####################################################################
#
# These  patterns  will  be  searched for through the text; no matter
# whether   they   appear  as  normal  text,  commands  or  whatever.
# Currently case-sensitive.
#
# I usually define a special command like this:
#
# \def\unknown{\large\bf??}
#
# which  I use whenever there is some information I don't have at the
# moment of writing.  Thus, it makes sense to search for it.
#
# You should be able to develop your own uses for this.
#

USERWARN
{

    \unknown
###
#
# Another example; one should write \chktex or Chk\TeX - never ChkTeX.
#
###

    ChkTeX
}

#####################################################################
#
# Here you can list the path of where ChkTeX should look for files it
# \inputs.   The  //  postfix is currently not supported; we will not
# recursively  search  directories.
#
# By default, we'll search the current directory; any paths specified
# below will be searched in addition to this.
#

TEXINPUTS
{


}

#####################################################################
#
# Here you may specify more outputformats for use with the -v option,
# it simply indexes  into this list.  Remember to use ! instead of \,
# though.
#
# For explanation of how % fields expand; look at ChkTeX.{dvi,ps}.
#
# We will by default select entry number _two_ in this list (we count
# from 0), and -v without any parameter selects entry number _three_.
#

OUTFORMAT
{

# -v0; silent mode
%f%b%l%b%c%b%n%b%m!n

# -v1; normal mode
"%k %n in %f line %l: %m!n%r%s%t!n%u!n"

# -v2; fancy mode
"%k %n in %f line %l: %m!n%r%i%s%I%t!n!n"

# -v3; lacheck mode
"!"%f!", line %l: %m!n"

# -v4; verbose lacheck mode
"!"%f!", line %l: %m!n%r%s%t!n%u!n"

}



#####################################################################
#
# These  commands  should be ignored when detecting whether a command
# is ended by a space.
#

SILENT
{
    \rm \em \bf \it \sl \sf \sc \tt \selectfont

    \columnsep \space \item \tiny \footnotesize \small \normalsize
    \normal \large \Large \LARGE \huge \Huge \printindex

    \newpage \listoffigures \listoftables \tableofcontents
    \maketitle \makeindex

    \hline \hrule \vrule

    \centering

    \bigskip \medskip \smallskip

    \noindent \expandafter

    \makeatletter \makeatother

    \columnseprule

    \textwidth \textheight \hsize \vsize

    \if \fi

    \csname \endcsname

    \z@ \p@ \@warning \typeout

    \dots \ldots \input \endinput \nextline \leavevmode \cdots
    \appendix \listfiles \and \quad
    \vfill \vfil \hfill \hfil \topmargin \oddsidemargin
    \frenchspacing \nonfrenchspacing
    \begingroup \endgroup \par
}

#####################################################################
#
# Here,  you  can  specify the length of various dashes.  We sort the
# dash according to which type of characters that are on the left and
# right of of it.  We are only conclusive if they are the same.
#
# We associate as follows:
#
#     Name        Type of character on each side
#     HyphDash    Alphabetic (foo-bar)
#     NumDash     Numeric (2--3)
#     WordDash    Space (like this --- see?)
#
# Below you specify how many dashes which are legal in each case.  We
# define 0 as an magic constant which always generates an error.  You
# may specify more than one legal dash-length.
#
# Let's look at an example.  You use the following dash-syntax:
#
#     foo-bar
#     2--3
#     like this---see?
#
#
# HYPHDASH { 1 3 }        # Either a hyphen, or inter-word
# NUMDASH { 2 }           # Between words
# WORDDASH { 0 }          # We never use this
#

HYPHDASH
{
    1
}

NUMDASH
{
    2
}

WORDDASH
{
    3
}

#####################################################################
#
# This  keyword  indicates commands  which argument isn't LaTeX code,
# and which thus should be ignored.
#
# We  will also  wipe  optional  arguments  in  _front_ of  the  main 
# argument.
#
# These  commands may be "executed" before they're wiped, so you will
# typically also wish to list filehandling commands and similar here.
#

WIPEARG
{
    \label \ref \vref \pageref \index \cite \input \verbatiminput
    \listinginput \verbatimtabinput \include \includeonly
    \bibitem
}

#####################################################################
#
# These  environments  contains  material  which  will  be typeset as
# mathematics by LaTeX.  This turns on/off some warnings.
#
# We will automagically append a * to each keyword.
#

MATHENVIR
{
    displaymath math eqnarray array equation
}

#####################################################################
#
# These  environments  contains  material  which  contents  should be
# ignored.
#
# We will automagically append a * to each keyword.
#

VERBENVIR
{
    verbatim comment listing verbatimtab
}

#####################################################################
#
# Here  you  should  list  all  those abbreviations which needs to be
# followed  by  `\  ',  like  in "The cat is a animal, i.e.\ a living
# creature".  They are (currently) case-insensitive.
#
# From  v1.3  the  routine  for  recognizing  abbreviations have been
# improved significantly.  First, we define an abbreviation character
# as either an alphabetic character or a dot (`.').
#
# We   recognize   abbreviations  as  any  sequence  of  abbreviation
# characters separated by non-abbreviation characters, which contains
# at  least  two  dots.   This  does  in  fact  catch most multi-word
# abbreviations.
#
# We  do  thus  still need a list of single-worded ones.  They should
# only  have  alphabetic characters and a dot in the end.  If they do
# not, we'll have to use a slower search-mode for those (the one used
# in  v1.2  and  before).  This may be slow if you have a lot of such
# abbreviations.
#
# If  the  linelength  is m, and the number of abbrevs is n, the fast
# routine is O(m log n), while the slow runs at O(m * n).
#
# I've included some abbreviations not catched by the general routine
# in  ChkTeX.   These were found in "The Concise Oxford Dictionary of
# Current English", Oxford University Press, 4th edition, 1956.
#
# Many of  these  abbreviations  were also  provided  by Russ Bubley,
# <russ@scs.leeds.ac.uk>,  and as he points out:  This  list could be
# arbitrarily large.
#
# Please note that some of the abbrevs below are in fact Norwegian...
#

ABBREV
{
    1ST. 2ND. 3RD. 4TH. ACC. AD. AM. APOCR. APR. ARGYL. ARIZ. ARR.
    ASST. AUG. AWOL. BC. BRIT.  CAPT. CELS.  CF. CG.
    CH.  CHES. CHRON. CICESTR. CIT. CL. CM. CO. COL. COMB. CON. CONN.
    CONS. COR.  CORP. CP. CPL. CRES. CRESC. CRIM. CU. CUM. CUMB.
    DAG. DAL. DAN. DC. DEC. DEG. DEL. DEP. DEPT. DG.  DKG. DKL.
    DKM. DL. DOA. DOL. DOZ. DR. DRAM. DVS. DYN. DYNAM. EBOR. ECCLES.
    ECCLUS. ED. EDIN. EDM. EDW. EKSL. ESTH. "ET AL." ETC. EVT. EXC. EZEK.
    FAHR. FAX. FEB. FEC. FIG. FIN. FINI. FL. FLOR. FOL. FOM. FR. FRI.
    FT. FUR. GA. GAL. GEN. GEO. GER. GIB. GLAM. GLOS. GM. GR. GS.
    HECTOG. HECTOL. HECTOM. HG. HHV. HL. HM. HMS. HO. HON. HR. HRS. 
    HY. IA. IB. IBID. INC. INCOG. INF. INIT. INKL. INST. INT.
    INTERNAT. INV. IOM. IOU. IS. ISA. ITAL.  JAN. JAS. JER. JF.
    JFR. JN. JNO. JON. JOS. JOSH. JP. JR. JUD. JUDG. JUL. JUN. JUNR. KAN.
    KG. KL. KM. KNT. KT. KV. KW. KY. LA. LAB.  LANCS. LAT. LB. LEICS.
    LEV. LIB. LIEUT. LINCS. LINN.  LITT. LIV. LL. LOC.  LONG. LOQ.
    LTD. MAL.  MAR.  MATRIC. MATT. MEM. MEMO. MESSRS.  MF.
    MGR. MHP. MHT. MIC. MICH. MINN. MISC. MISS. MK. ML. MLLE. MM.
    MME. MO. MOD. MON. MP. MR. MRS. MS. MVA. MX. NAH. NAT. NEB. NEH. NEV.
    NOM. NORTHANTS. NORTHUMB. NORVIC. NOTTS. NOV. OBAD. OBDT. OCT. OKLA.
    OL. ONT. OP. OPP. ORD. OSV. OXF. OXON. OZ. PAR. PBAB. PCS. PD. PDR.
    PEN. PENIN. PERS.  PF. PGA. PHOT. PIZZ. PLC. PM. PNIX. PNXT. 
    PREF. PREP. PRES. PROF. PROL. PROP. PROX. PS. PT. PTY. QC. QED. QR. QT.
    QTY. QUE. QUOT. QV. RALL. RD. RECD. REGT. REM. REPR. REV. ROFFEN. ROM.
    RS. RSVP. RX. RY. SALOP. SAM. SARUM. SAT. SCH. SEC. SECT. SEN. SEP.
    SEPT. SF. SGT. SH. SOC. SOM. SOV. SOVS. SQ. SR. ST. STG. STR. STS. 
    SUPPL. SUPT. SURG. TEL. TENN. THESS. THOS. THU. THURS. TIM. TIT.
    TOM. TREAS. TRS. TRURON. TUE. TUES. TX. ULT. UNIV. VEN. VHA. VIZ. VOL.
    VULG. VV. WAR.  WED.  WINTON. WISC. WISD. WKC. WM. WT. WYO.
    YEO. YORKS. YR. YRS. ZECH. ZEPH.
}

#####################################################################
#
# Commands which accent characters, meaning that \i or \j (\imath and
# \jmath in mathmode) should be used instead of `i' and `j'
#

IJACCENT
{
    \hat \check \breve \acute \grave \tilde \bar \vec \dot \ddot

    \' \` \^ \" \~ \= \. \u \v \H \t

###
#
# The  remaining  accent commands (\c,\d,\b) put their accent _under_
# the  character,  not above, and should thus be used with normal i's
# and j's.
#
###

}

#####################################################################
#
# Commands   which,  when  the  group  is  terminated,  needs  italic
# correction.
#
# This does in fact work well with the LaTeX2e commands too...this is
# due  to  that  the  detection  is  rather  weak and dumb.  Oh well,
# simplicity sometimes even saves work. :-)
#

ITALIC
{
    \it \em \sl
    \textit \textem \textsl
}


#####################################################################
#
# These  commands  all have in common that a pagebreak right in front
# of  them  is  highly  undesirable; thus there should be no space in
# front of them.
#

POSTLINK
{
    \index \label
}

#####################################################################
#
# The  commands  listed  here,  should be prepended with a `~', as in
# "look  in  table~\ref{foo}", to avoid the references being splitted
# across lines.
#

LINKER
{
    \ref \vref \pageref \cite
}

#####################################################################
#
# Commands/characters  which  should  have  \cdots  in  between, e.g.
# $1+2+3+\cdots+n$.
#

CENTERDOTS
{
    = + - \cdot \div & \times
}

#####################################################################
#
# Commands/characters  which  should  have  \ldots  in  between, e.g.
# $1,2,3,\ldots,n$.
#

LOWDOTS
{
    . , ;
}

#####################################################################
#
# In maths mode, there are certain aliases for mathematical operators
# like  sin, cos, etc.  Ignore the leading backslash in the commands,
# and so forth.  You should list these below.
#

MATHROMAN
{
    log lg ln lim limsup liminf sin arcsin sinh cos arccos cosh tan
    arctan tanh cot coth sec csc max min sup inf arg ker dim hom det
    exp Pr gcd deg bmod pmod mod
}


#####################################################################
#
# We're killing \verb@...@ commands and the arguments of the commands
# listed above in WIPEARG by overwriting them with a string or a
# single character.
#
# This  should  not contain an alphabetic character (in case the user
# writes (\foo\verb@bar@), neither should it contain be one of LaTeX'
# reserved  characters  (`#$%&~_^\{}'),  or any parenthesis character
# ('()[]{}').   If  possible,  don't  use  a  punctuation  character,
# either, or any spacing character.
#
# The  asterix is also unsuitable, as some commands behave in another
# way  if  they  are  postpended with an asterix.  Which more or less
# leaves  us  with  the  pipe.
#
# Please  note  that  this  may  also  be  a  _string_, which will be
# repeated until the proper length is reached.
#

VerbClear = "|"

#
# All for now - have fun.
#
#####################################################################

