summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/chktex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-02-10 22:46:34 +0000
committerKarl Berry <karl@freefriends.org>2024-02-10 22:46:34 +0000
commit115a91adaf2fe8c2e6c7adb482740c759a04c10b (patch)
treea4b18ac3f94e82c4e255a61e680a9cc408a835e6 /Master/texmf-dist/chktex
parent3397241eaee5ead7fd1f71e620bbe3e603241b56 (diff)
2024 pretest start
git-svn-id: svn://tug.org/texlive/trunk@69783 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/chktex')
-rw-r--r--Master/texmf-dist/chktex/chktexrc950
1 files changed, 471 insertions, 479 deletions
diff --git a/Master/texmf-dist/chktex/chktexrc b/Master/texmf-dist/chktex/chktexrc
index c6355f8db12..d829ffacb73 100644
--- a/Master/texmf-dist/chktex/chktexrc
+++ b/Master/texmf-dist/chktex/chktexrc
@@ -1,6 +1,4 @@
-##
-## ChkTeX, example resource file for ChkTeX.
-## Copyright (C) 1995-96 Jens T. Berger Thielemann
+## Example resource file for ChkTeX.
##
## 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
@@ -16,324 +14,304 @@
## along with this program; if not, write to the Free Software
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
##
-## Contact the author at:
-## Jens Berger
-## Spektrumvn. 4
-## N-0666 Oslo
-## Norway
-## E-mail: <jensthi@ifi.uio.no>
+## For more information visit https://www.nongnu.org/chktex/
##
-#####################################################################
-#
-# Note: The format has changed slightly (again). The { ... }
-# syntax does now mean case-sensitive comparing, while [ ... ] means
-# case-insensitive comparing of the keywords. Case-insensitive
-# comparing of the keywords is only supported on a few of the
-# keywords (it's not meaningful in all contexts, and it slows ChkTeX
-# down). Keywords supporting this are marked throughout the file.
-#
-# You may also reset a list by saying "KEYWORD = { ... }"; it will
-# then be set equal to the contents of the list you specify.
-#
-# 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 ... ] /* Adds items */
-#
-# KEYWORD [ item item ...] { item item ... } /* Adds items */
-#
-# KEYWORD = item
-#
-# KEYWORD = { item item ... } /* Clears list before adding */
-#
-# KEYWORD = [ item item ... ] /* Clears list before adding */
-#
-# 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.
-#
-# Please also note that if you specify a list-keyword twice, we'll
-# concatenate the lists. If you specify a item-keyword twice, we'll
-# kill the previous value.
-#
-# We are slightly context-sensitive when detecting tokens like "}"
-# and "]"; they have to be preceded by a space. This generally makes
-# life easier.
-#
-# 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.
-#
-#
-# Quick summary of keywords follows. Keywords marked with a * accept
-# keywords accepting case-insensitive lists.
-#
-# Abbrev* - A list of abbreviations not automatically caught.
-# CenterDots - Commands/characters which should have \cdots in
-# between.
-# CmdLine - Default commandline options. These will be
-# processed before the ones you give on the command
-# line.
-# HyphDash \
-# NumDash - Number of dashes allowed in different contexts.
-# WordDash /
-# IJAccent - Commands which puts an accent _over_ their
-# argument.
-# Italic - Commands immediately turning on italic mode.
-# ItalCmd - Commands putting their argument into italic.
-# Linker - Commands which should have a non-breaking space in
-# front.
-# LowDots - Commands/characters which should have \ldots in
-# between.
-# MathEnvir - Environments which turn on math mode.
-# MathCmd - Commands which turn on math mode.
-# TextCmd - Commands which turn off math mode.
-# MathRoman - Mathematical operators with LaTeX replacement
-# defined.
-# NoCharNext - Insists on that certain commands aren't followed by
-# certain characters.
-# NonItalic - Commands immediately turning off italic mode.
-# NotPreSpaced- Commands which should not have a space in front of
-# them.
-# Primitives - Primitive TeX commands.
-# PostLink - Commands which generates a page reference.
-# OutFormat - Formats to use for output. See the -f & -v switch
-# in the main doc.
-# QuoteStyle - Either "Traditional" or "Logical". See main doc,
-# warning 38.
-# Silent - These commands do not produce any textual output;
-# and are thus allowed to have a space after them.
-# TabSize - Tab size you are using.
-# TeXInputs - Paths to search \input and \include files for.
-# UserWarn* - These strings will be searched for throughout the
-# text.
-# VerbEnvir - Environments which contents should be ignored.
-# VerbClear - String we will overwrite unwanted data with.
-# WipeArg - Commands (with arguments) which should be ignored
-# in the checking.
-#
-
-
-#####################################################################
-#
-# Enter which type of quote-style you are using here. Currently, we
-# support the following styles:
-#
-# Style Example of use
-# Traditional "An example," he said, "would be great."
-# Logical "An example", he said, "would be great".
+## chktexrc file format
+#
+# The chktecrc file is essentially a bunch of variable assignments.
+# There are two types of variables, those that take single items and
+# those that take lists.
+#
+# In turn, there are two types of lists, case-sensitive and case-insentive.
+# Case-sensitive lists are delimited by `{' and `}'
+# while case-insensitive are delimited by `[' and `]'.
+# Only some variables support case insensitive lists, since in many
+# cases it doesn't make sense and would be unnecessarily slow. Those
+# variables that *do* support case-insensitive lists will be marked as
+# such throughout the file.
+#
+# Variables can be set with or without an equals sign. If included, the
+# `=' causes the variable to be overwritten. This is the only thing
+# that makes sense for varibles taking a single item and so we always
+# include it in that case. For list variables, omitting the equals
+# sign will cause the items in the list to be appended instead of
+# overwriting the entire list.
+#
+# Below are all the ways in which a variable can be set. Note that lists
+# can span lines, though this is not shown here for brevity.
+#
+#
+# VariableName = item
+# # Overwrites
+# VariableName = { Item1 Item2 ... }
+# VariableName = [ item1 item2 ... ]
+# VariableName = { Item1 Item2 ... } [ item item ... ]
+# VariableName = [ item1 item2 ... ] { Item Item ... }
+# # Appends
+# VariableName { Item3 Item4 ... }
+# VariableName [ item3 item4 ... ]
+# VariableName { Item3 Item4 ... } [ item item ... ]
+# VariableName [ item3 item4 ... ] { Item Item ... }
+#
+#
+# Comments begin with `#', and continue for the end of the line.
+# Blank lines plus leading and trailing spaces are ignored.
+# Items are separated by spaces.
+# Newlines are considered spaces, but can't be escaped.
+# You can use double quotes `"' to surround an item with spaces, or you can
+# escape spaces as described later.
+#
+# Detection of tokens like `}' are somewhat context sensitve---they
+# have to be preceded by a space (or newline). This allows them to be
+# part of an item without escaping. Since some variables require such
+# characters, this generally makes life easier.
+#
+# To include characters that might otherwise interfere, escape
+# sequences are provided. They are similar to those in C, but use
+# `!' instead of `\' for obvious reasons.
+# The entire list is below.
+#
+# Sequence Resulting character
+# `! ' Space
+# `!"' `"'
+# `!#' `#'
+# `!!' `!'
+# `!{' `{'
+# `!}' `}'
+# `![' `['
+# `!]' `]'
+# `!=' `='
+# `!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' NNN must be a decimal number (000 - 255), all
+# three characters must be included.
+# Unspecified results if NNN > 377.
+# `!NNN' NNN must be a octal number (000 - 377), all
+# three characters must be included.
+# Unspecified results if NNN > 377.
+
+## Available Settings
+#
+# All avaiable settings follow.
+#
+
+## QuoteStyle
+#
+# The type of quote-style you are using. There are currently two
+# styles:
+#
+# Traditional:
+# "An example," he said, "would be great."
+#
+# Logical:
+# "An example", he said, "would be great".
#
-
QuoteStyle = Logical
-#####################################################################
+
+## TabSize
#
-# Enter here what interval you have between your tabs. Only regular
-# intervals are supported.
+# The width of a tab. This is used for formatting the error message.
+# Only positive integers are allowed.
#
-
TabSize = 8
-#####################################################################
+
+## CmdSpaceStyle
#
-# Here, you can put default commandline options; most users would for
-# instance like to put -v2 here.
+# How to treat a command is followed by punction. In all cases the
+# warnings are also governed by the main warning settings, namely
+# warnings 12 and 13 about interword and intersentence spacings.
#
-
-CmdLine
-{
-
-}
-
-#####################################################################
+# If set to Ignore, then it won't print any warnings when pucntuation
+# follows a command.
+#
+#
+# If CmdSpaceStyle is set to InterWord, then it will print warnings
+# when interword spacing should (potentially) be used. For example,
+# without a command the following will trigger warning 12
+#
+# `I've seen a UFOs, etc. in my life.'
+#
+# And if set to InterWord, so will
+#
+# `I've seen a UFOs, \etc. in my life.'
+#
+#
+# If set to InterSentence, then it will print warnings when
+# intersentence spacing should (potentially) be used. For example,
+# without a command the following will trigger warning 13
#
-# These patterns will be searched for through the text; no matter
-# whether they appear as normal text, commands or whatever.
-# Currently case-sensitive. They are not found in comments.
+# `I've seen an UFO! Right over there!'
#
-# I usually define a special command like this:
+# And if set to InterSentence, so will
#
-# \def\unknown{\large\bf??}
+# `I've seen an \UFO! Right over there!'
#
-# 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.
+# Setting CmdSpaceStyle to Both will cause warnings to be printed in
+# both cases.
#
+CmdSpaceStyle = Ignore
-UserWarn
-{
- \unknown
-###
+## CmdLine
#
-# Another example; one should write \chktex or Chk\TeX - never ChkTeX.
+# Default command-line options. For instance, you might like to put
+# `-v2' here.
#
-###
-
- ChkTeX
+CmdLine
+{
}
-[
-###
+
+## UserWarn
#
-# You may put case-insensitive patterns here.
+# Arbitrary strings to warn about. You can put here to help you find
+# your own little foibles. See also UserWarnRegex.
#
-###
-
+# These patterns will be searched for throughout the text; regardless
+# of whether they appear as normal text, commands, in math mode, etc.
+# They are *not* found in comments.
+#
+# Suppose you define a special command like this:
+# \def\unknown{\large\bf??}
+# which you use whenever you don't have some information at the time
+# of writing. Thus, it makes sense to warn on it, and this is a
+# convenient way to do so.
+#
+UserWarn
+{
+ \unknown
+ # One should write \chktex or Chk\TeX - never ChkTeX.
+ ChkTeX
+}
+[ # You may put case-insensitive patterns here.
]
-###
+## UserWarnRegex
+#
+# A more sophisticated version of UserWarn using regular
+# expressions. Use of these will be automatically disabled if ChkTeX
+# was built without regular expression support. Because ChkTeX can be
+# with support for either POSIX or PCRE flavors of regular expression,
+# some of the following will not apply in all cases. An expression
+# can be defined only when PCRE is enabled by prepending the
+# expression with `PCRE:' and similarly with `POSIX:'.
#
# These patterns will be searched for, no matter whether they appear
-# as normal text, commands or arguments. However, they will _not_
-# match in verbatim environments.
+# as normal text, commands, or arguments. However, they will *not*
+# match in verbatim environments (see VerbEnvir).
#
-# Remember that you have to escape (with a !) the following
-# characters: "#!= as well as spaces and {}[] if they are proceeded by
-# a space.
+# Remember that you have to escape (with a `!') the characters
+# `"#!=', as well as spaces and `{}[]' if they are
+# proceeded by a space.
#
-# Since these are PCRE regular expressions, you can use (?i) to make
+# When using PCRE regular expressions, you can use `(?i)' to make
# the expression case insensitive. See the man pages (man pcresyntax)
# or the nicely formatted http://perldoc.perl.org/perlre.html for
-# documentation on the regular expression syntax. Note however that
+# documentation on the regular expression syntax. Note, however, that
# some the features of perl regular expression are not available such
# as running code (callouts), and replacing.
#
-# An initial PCRE comment (?# ... ) can be used change what is
-# displayed, thereby reminding yourself how to fix the problem.
+# An initial PCRE-style comment `(?# ... )' can be used
+# to change what is displayed, thereby reminding yourself how to fix
+# the problem. This works even for POSIX expressions.
#
-###
UserWarnRegex
{
+ (?!#Always! use! \nmid)\\not! *(\||\\mid)
- (?!#Always! use! \nmid)\\not! *(\||\\mid)
+ # Capitalize section when saying Section 6.
+ (?!#-1:Capitalize! before! references)PCRE:\b(chapter|(sub)?section|theorem|lemma|proposition|corollary|appendix)~\\ref
+ (?!#1:Capitalize! before! references)POSIX:([^[:alnum:]]|^)(chapter|(sub)?section|theorem|lemma|proposition|corollary|appendix)~\\ref
- # capitalize section when saying Section 6.
- (?!#-1:Capitalize! before! references)PCRE:\b(chapter|(sub)?section|theorem|lemma|proposition|corollary|appendix)~\\ref
- (?!#1:Capitalize! before! references)POSIX:([^[:alnum:]]|^)(chapter|(sub)?section|theorem|lemma|proposition|corollary|appendix)~\\ref
+ # Spell it introduction
+ # PCRE:(?i)\bintro\b(?!#Spell! it! out.! This! comment! is! not! used.)
+ # POSIX:([^[:alnum:]]|^)intro([^[:alnum:]]|$)
- # spell it out.
- # PCRE:(?i)\bintro\b(?!#Spell! it! out.! This! comment! is! not! used.)
- # POSIX:([^[:alnum:]]|^)intro([^[:alnum:]]|$)
+ # Pretty tables--see http://texdoc.net/texmf-dist/doc/latex/booktabs/booktabs.pdf
+ (?!#-2:Use! \toprule,! midrule,! or! \bottomrule! from! booktabs)\\hline
+ # This relies on it being on a single line, and not having anything
+ # else on that line. With PCRE we could match balanced [] and {},
+ # but I wonder if it's worth the complexity...
+ (?!#-2:Vertical! rules! in! tables! are! ugly)\\begin\{(array|tabularx?\*?)\}(\[.*\])?\{.*\|.*\}
- # Pretty tables--see http://texdoc.net/texmf-dist/doc/latex/booktabs/booktabs.pdf
- (?!#-2:Use! \toprule,! midrule,! or! \bottomrule! from! booktabs)\\hline
- # This relies on it being on a single line, and not having anything
- # else on that line. With PCRE we could match balanced [] and {},
- # but I wonder if it's worth the complexity...
- (?!#-2:Vertical! rules! in! tables! are! ugly)\\begin\{(array|tabularx?\*?)\}(\[.*\])?\{.*\|.*\}
+ (?!#-3:Optional! arguments! []! inside! optional! arguments! []! must! be! enclosed! in! {})\[(?!![^\]\[{}]*{(?!![^\]\[{}]*}))[^\]]*\[
}
-#####################################################################
+## TeXInputs
#
-# Here you can list the path of where ChkTeX should look for files it
-# \inputs. The // postfix is now supported; if you append a double
-# path-separator we'll recursively search that directory directories.
-# MS-DOS users must append \\ instead, e.g. "C:\EMTEX\\".
+# A list of paths where ChkTeX should look for files it `\input's.
+# By default, the current directory is searched (not recursively, use
+# `//' for that, see below).
#
-# If you under either MS-DOS or UNIX wish to search an entire
-# partition or the complete directory tree, you must use *three*
-# slashes, e.g. "c:\\\" or "///". This may be considered to be a bug.
+# A `//' postfix is supported:
+# if you append a double path-separator we'll recursively search that
+# directory's directories. MS-DOS users must append `\\'
+# instead, e.g. `C:\EMTEX\\'. In order to search an
+# entire directory tree, you must use *three* slashes,
+# e.g. `c:\\\' or `///'.
#
-# By default, we'll search the current directory (not recursively,
-# put "//" in the list for this); any paths specified below will be
-# searched in addition to this.
-#
-
TeXInputs
{
-
}
-#####################################################################
+
+## OutFormat
#
-# Here you may specify more output formats for use with the -v option,
-# it simply indexes into this list. Remember to use ! instead of \,
-# though.
+# Output formats which can be selected from the command-line. The
+# `-v' option simply indexes into this list. By default, entry number
+# *two* in this list is chosen (counting from 0), and `-v'
+# without any parameter selects entry number *three*.
#
-# For explanation of how % fields expand; look at ChkTeX.{dvi,ps,pdf}.
+# For explanation of the `%' format specifiers see the
+# documentation of the `--format' command-line argument
+# in the manual.
#
-# We will by default select entry number _two_ in this list (we count
-# from 0), and -v without any parameter selects entry number _three_.
+# Recall that to use `!' is the escape character, not `\'.
#
-
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"
-
-# -v5; no line number, ease auto-test
-"%k %n in %f: %m!n%r%s%t!n%u!n"
-
-# -v6; emacs compilation mode
-"!"%f!", line %l.%c:(#%n) %m!n"
-
+ # -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"
+ # -v5; no line number, ease auto-test
+ "%k %n in %f: %m!n%r%s%t!n%u!n"
+ # -v6; emacs compilation mode
+ "!"%f!", line %l.%c:(#%n) %m!n"
}
-
-#####################################################################
+## Silent
#
-# These commands should be ignored when detecting whether a command
-# is ended by a space. You can specify regular expressions in the []
-# section in case you have many custom macros that can be safely
+# Commands which should not trigger a warning if terminated by a space.
+# This warning will not trigger in math mode.
+#
+# You can also specify regular expressions in the `[]'
+# section in case you have many custom macros that can be safely
# terminated with a space.
#
-
Silent
{
\rm \em \bf \it \sl \sf \sc \tt \selectfont
- \rmfamily \sffamily \ttfamily \mdseries \bfseries
+ \rmfamily \sffamily \ttfamily \mdseries \bfseries \itshape
\slshape \scshape \relax
\vskip \pagebreak \nopagebreak
@@ -354,8 +332,6 @@ Silent
\centering
- \bigskip \medskip \smallskip
-
\noindent \expandafter
\makeatletter \makeatother
@@ -368,120 +344,123 @@ Silent
\csname \endcsname
- \z@ \p@ \@warning \typeout
+ \z@ \p@ warning \typeout
\dots \ldots \input \endinput \nextline \leavevmode \cdots
- \appendix \listfiles \and \quad
+ \appendix \listfiles \and \quad \bigskip \medskip \smallskip
\hskip \vfill \vfil \hfill \hfil \topmargin \oddsidemargin
\frenchspacing \nonfrenchspacing
\begingroup \endgroup \par
\vrefwarning \upshape \headheight \headsep \hoffset \voffset
- \cdot \qquad
- \left \right
- \qedhere
-
- \xspace
+ \cdot \qquad \left \right \qedhere \xspace
\addlinespace \cr \fill \frontmatter
\toprule \midrule \bottomrule
-
}[
-# Here you can put regular expressions to match Silent macros. It was
-# designed for the case where you have many custom macros sharing a
-# common prefix, but can of course be used for other things.
-
-# Support ConTeXt to at least some extent
-\\start.* \\stop.*
+ # Here you can put regular expressions to match Silent macros. It
+ # was designed for use with many custom macros sharing a common
+ # prefix, but can of course be used for other things.
+ # Support ConTeXt to at least some extent
+ \\start.* \\stop.*
]
-#####################################################################
-#
-# 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 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?)
+
+## HyphDash
#
-# Below you specify how many dashes which are legal in each case. We
-# define 0 as a magic constant which always generates an error. You
-# may specify more than one legal dash-length.
+# The number of dashes allowed between two alphabetic characters.
+# Use 0 to always return an error. For example:
+# foo-bar
+# Use of two--dashes is not usually allowed in English.
+# like this---see?
#
-# Let's look at an example. You use the following dash-syntax:
+# For English, this will often be a single dash (hyphen). If you like
+# m-dashes with no spaces between them and the surrounding words, then
+# it should include 3 as well. There *are* cases when an n-dash
+# is valid between two alphabetic characters. See DashExcpt.
#
-# foo-bar
-# 2--3
-# like this---see?
+HyphDash { 1 3 }
+
+
+## NumDash
#
+# The number of dashes allowed between two numeric characters.
+# Use 0 to always return an error. This does *not* apply in
+# math mode. For example:
+# 123--456 is a range
+# $12-4$ \% okay because it's in math mode
#
-# HYPHDASH { 1 3 } # Either a hyphen, or inter-word
-# NUMDASH { 2 } # Between words
-# WORDDASH { 0 } # We never use this
+# For English, this should be 2 because an n-dash is used to indicate
+# a range of numbers and subtraction should be in math mode where this
+# does not apply.
#
+NumDash { 2 }
-HyphDash
-{
- 1 3
-}
-NumDash
-{
- 2
-}
+## WordDash
+#
+# The number of dashes allowed between two space characters.
+# Use 0 to always return an error. For example:
+# not like - this,
+# or like -- this.
+# like this --- see?
+#
+WordDash { 3 }
-WordDash
-{
- 3
-}
-#####################################################################
+## DashExcpt
#
-# Here are exceptions to the dash rules above. For example, an
-# n-dash -- between words is usually wrong, but in some cases it is
-# correct, such as when naming a theorem. The Birch--Swinnerton-Dyer
+# Exceptions to the dash rules above. For example, an n-dash
+# `--' between words is usually wrong, but in some cases it is correct,
+# such as when naming a theorem. The Birch--Swinnerton-Dyer
# conjecture is one example where the difference matters. You can
-# tell that Birch is one person and Swinnerton-Dyer is another.
+# tell that Birch is one person and Swinnerton-Dyer is another based
+# on the dashes used.
#
# Adding line suppressions for these is possible, but can quickly
# become tedious if a certain theorem is referenced often. For this
# reason exceptions can be specified here. They are case-sensitive.
#
-
+# Unfortunately, there are no warnings if the dashes are surrounded by differing
+# types of characters. For example:
+# like this ---see? (space and alphabet)
+# a--123 (number and alphabet)
+# a.--b. (other character, namely `.')
+# Similarly, no warnings are issued if the hyphenation is correct,
+# according to the other rules, for example:
+# Birch-Swinnerton-Dyer
+#
DashExcpt
{
Birch--Swinnerton-Dyer
}
-#####################################################################
+
+## WipeArg
#
-# This keyword indicates commands whose argument isn't LaTeX code,
-# and thus should be ignored.
+# Commands whose arguments aren't LaTeX code, and thus should be
+# ignored.
#
-# After the command, you may place arguments that you wish that
-# should be wiped in the process; use [] for optional arguments, {}
-# for required ones and * if the command supports an alternative
-# variant. These should be separated from the command with a colon.
-# Some commands (e.g. \cmidrule) use () to delimit and optional
-# argument and so this syntax is supported as well.
+# After the command, you may place arguments (separated from the
+# command with a colon) that should be wiped. Use `[]' for optional
+# arguments, `{}' for required ones, and `*' if the command supports a
+# star variant. Some commands (e.g. `\cmidrule') use `()' to
+# delimit an optional argument and so this syntax is supported as well.
#
-# For instance, if you would like to wipe the \newcommand command,
-# you would declare it as \newcommand:*[][]{}
+# For instance, if you would like to wipe the `\newcommand' command,
+# you would declare it as `\newcommand:*[][]{}' since it has a
+# star variant, two optional arguments, and one required argument.
#
-# These commands may be "executed" before they're wiped, so you will
-# typically also wish to list filehandling commands and similar here.
+# These commands may be ``evaluated'' before they're wiped, so you will
+# typically list filehandling commands and similar here.
#
-
WipeArg
{
\label:{} \ref:{} \eqref:{} \vref:{} \pageref:{} \index:[]{}
\cite:[][]{} \nocite:{}
\input:{} \verbatiminput:[]{} \listinginput:[]{}{}
+ \graphicspath:{}
\verbatimtabinput:[]{} \include:{} \includeonly:{}
\bibitem:[]{}
\cline:{} \cmidrule:[](){}
@@ -493,251 +472,262 @@ WipeArg
\citet:*[][]{} \citep:*[][]{} \citealt:*{} \citealp:*[]{} \citeauthor:*{}
\Citet:*[][]{} \Citep:*[][]{} \Citealt:*{} \Citealp:*[]{} \Citeauthor:{}
\citetext:{} \citeyear:*{} \citeyearpar:{}
+ # biblatex - not including special commands
+ \autocite:*[][]{} \autocites:*[][]{} \Autocite:*[][]{} \Autocites:*[][]{}
+ \parencite:*[][]{} \parencites:*[][]{} \Parencite:*[][]{} \Parencites:*[][]{}
+ \footcite:*{} \footcites:*[][]{} \Footcite:*[][]{} \Footcites:*[][]{}
+ \textcite:*{} \textcites:*[][]{} \Textcite:*[][]{} \Textcites:*[][]{}
+ \citeauthor:*{} \citeauthors:*[][]{} \Citeauthor:*[][]{} \Citeauthors:*[][]{}
+ \citeyear:*{} \citeyears:*[][]{} \Citeyear:*[][]{} \Citeyears:*[][]{}
+ \citetitle:*{} \citetitles:*[][]{} \Citetitle:*[][]{} \Citetitles:*[][]{}
# tipa which uses "
\textipa:{}
+ # LuaTeX
+ \directlua:{} \luaescapestring:{}
}
-#####################################################################
+
+## MathEnvir
#
-# These environments contain material which will be typeset as
-# mathematics by LaTeX. This turns on/off some warnings.
+# Environments which typeset their contents as mathematics.
+# This turns on/off some warnings.
#
-# We will automagically append a * to each keyword.
+# A `*' variant is automatically added for each keyword.
#
-
MathEnvir
{
displaymath math eqnarray array equation
align alignat gather flalign multline
+ dmath dgroup darray
}
-#####################################################################
+
+## TextEnvir
#
-# These commands contain material which will be typeset as mathematics
-# by LaTeX. The commands are assumed to have one mandatory argument
-# which is in math mode. This turns on/off some warnings.
+# Environments which typeset their contents as text, for use inside
+# mathematics. This turns on/off some warnings.
#
+TextEnvir
+{
+ dsuspend
+}
+
+## MathCmd
+#
+# Commands whose argument will be typeset as mathematics.
+# The commands are assumed to have one mandatory argument which is in
+# math mode. This turns on/off some warnings.
+#
MathCmd
{
\ensuremath
}
-#####################################################################
+
+## TextCmd
#
-# These commands contain material which will _not_ be typeset as
-# mathematics by LaTeX even if it would otherwise be in mathmode. The
-# commands are assumed to have one mandatory argument which is in text
-# mode. This turns on/off some warnings.
+# Commands whose argument will *not* be typeset as
+# mathematics even if it would otherwise be in math mode.
+# The commands are assumed to have one mandatory argument which is in
+# text mode. This turns on/off some warnings.
#
-
TextCmd
{
- \text \intertext \shortintertext \mbox
+ \text \intertext \shortintertext \mbox \condition
}
-#####################################################################
+
+## VerbEnvir
#
-# These environments contains material which contents should be
-# ignored.
+# Environments containing non-LaTeX content of some kind, and
+# therefore should not trigger any warnings.
#
-# We will automagically append a * to each keyword.
+# A `*' variant is automatically added for each keyword.
#
-
VerbEnvir
{
verbatim comment listing verbatimtab rawhtml errexam picture texdraw
filecontents pgfpicture tikzpicture minted lstlisting IPA
}
-#####################################################################
-#
-# ChkTeX does automagically catch most abbreviations; the ones we
-# need to list here, are those which are most likely to be followed
-# by a word with an upper-case letter (that is not the beginning of a
-# new sentence).
-#
-# The case-insensitive abbreviations are not really case-insensitive,
-# it seems to be more practical to only let the first character be
-# case-insensitive, while the remaining are case-sensitive.
-#
-# To speed up the searching process somewhat, we require that these
-# end in a `.', this should not be a problem.
-#
-# Much of this work (both the abbreviations below, and the regexps
-# necessary to catch the remaining automatically) have been provided
-# by Russ Bubley, <russ@scs.leeds.ac.uk>.
-#
-
-Abbrev
-{
-# Ordinals
-1st. 2nd. 3rd. 4th.
-# Titles
-Mr. Mrs. Miss. Ms. Dr. Prof. St.
+## Abbrev
#
-# Days
-# Mon. Tue. Wed. Thu. Fri. Sat. Sun.
+# Abbreviations not automatically handled by ChkTeX.
#
-# Months
-# Jan. Feb. Mar. Apr. May. Jun. Jul. Aug. Sep. Oct. Nov. Dec.
+# ChkTeX automagically catches most abbreviations; the ones we need to
+# list here, are those which are most likely to be followed by a word
+# with an upper-case letter which is not the beginning of a new
+# sentence.
#
-# Letters
-# Kt. Jr.
+# The case-insensitive abbreviations are not fully case-insensitive.
+# Rather, only the first character is case-insensitive, while the
+# remaining characters are case-sensitive.
#
-# Corporate
-# Co. Ltd.
+# To speed up the searching process somewhat, we require that these
+# end in a `.' which should not be a problem in practice.
#
-# Addresses
-# Rd. Dr. St. Ave. Cres. Gdns. Sq. Circ. Terr. Pl. Arc. La. Clo. Ho. Est. Gn.
+# Much of this work (both the abbreviations below, and the regular
+# expressions necessary to catch the remaining automatically) have
+# been provided by Russ Bubley, <russ@scs.leeds.ac.uk>.
#
-# Misc.
-# oe. pbab. ps. rsvp. Tx.
+Abbrev
+{
+ # Ordinals
+ 1st. 2nd. 3rd. 4th.
+ # Titles
+ Mr. Mrs. Miss. Ms. Dr. Prof. St.
+ #
+ # Days
+ # Mon. Tue. Wed. Thu. Fri. Sat. Sun.
+ #
+ # Months
+ # Jan. Feb. Mar. Apr. May. Jun. Jul. Aug. Sep. Oct. Nov. Dec.
+ #
+ # Letters
+ # Kt. Jr.
+ #
+ # Corporate
+ # Co. Ltd.
+ #
+ # Addresses
+ # Rd. Dr. St. Ave. Cres. Gdns. Sq. Circ. Terr. Pl. Arc. La. Clo. Ho. Est. Gn.
+ #
+ # Misc.
+ # oe. pbab. ps. rsvp. Tx.
}
[
-###
-#
-# The first letter is case-insensitive in the abbrevs in this
-# list. Due to the nature of the checking algorithm used for
-# this, entries consisting of only one character will be
-# silently ignored.
-#
-##
-
-# Latin
-# cf. "et al." etc. qed. qv. viz.
-#
-# Corporate
-# inc. plc.
-#
-# Misc
-# fax. pcs. qty. tel. misc.
+ # The first letter is case-insensitive in the abbrevs in this
+ # list. Due to the nature of the checking algorithm used for
+ # this, entries consisting of only one character will be
+ # silently ignored.
+ #
+ # Latin
+ # cf. "et al." etc. qed. qv. viz.
+ #
+ # Corporate
+ # inc. plc.
+ #
+ # Misc
+ # fax. pcs. qty. tel. misc.
]
-#####################################################################
+
+## IJAccent
#
-# Commands which accent characters, meaning that \i or \j (\imath and
-# \jmath in mathmode) should be used instead of `i' and `j'
+# Commands which add accents above characters. This means that `\i' or `\j'
+# (`\imath' and `\jmath' in mathmode) should be used instead of `i' and `j'.
+#
+# Other accent commands such as `\c', `\d', and `\b', put their accent under
+# the character, and thus should be used with normal `i's and `j's.
#
-
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.
-#
-###
-
}
-#####################################################################
+
+## Italic
#
-# Commands which, when the group is terminated, needs italic
-# correction.
+# Commands which need italic correction when the group is terminated.
#
-
Italic
{
- \it \em \sl
- \itshape \slshape
+ \it \em \sl \itshape \slshape
}
-#####################################################################
+
+## NonItalic
#
# Commands which makes the font non-italic.
#
-
NonItalic
{
\bf \rm \sf \tt \sc
\upshape
}
-#####################################################################
+
+## ItalCmd
#
-# Commands which put their argument into italic (and thus possibly
+# Commands which put their argument into italic (and thus possibly
# needs italic correction in the end).
#
-# This is currently empty, since \textit, \textsl and \emph do that
-# automatically.
+# This is currently empty, since `\textit', `\textsl', and `\emph'
+# automatically add italic corecction.
#
-
ItalCmd
{
}
-#####################################################################
+
+## PostLink
#
-# 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.
+# Commands in front of which a page break is highly undesirable.
+# Thus there should be no space in front of them.
#
-
PostLink
{
\index \label
}
-#####################################################################
+
+## NotPreSpaced
#
-# These commands should not have a space in front of them for various
-# reasons. I.e. much the same as POSTLINK, but produces another
-# warning.
+# Commands that should not have a space in front of them for various
+# reasons. Much the same as PostLink, but produces a different warning.
#
-
NotPreSpaced
{
\footnote \footnotemark \/
}
-#####################################################################
+
+## Linker
#
-# The commands listed here, should be prepended with a `~', as in
-# "look in table~\ref{foo}", to avoid the references being split
-# across lines.
+# Commands that should be prepended with a `~'. For example
+# `look in table~\ref{foo}'
+# to avoid the references being split across lines.
#
-
Linker
{
\ref \vref \pageref \eqref \cite
}
-#####################################################################
+
+## CenterDots
#
-# Commands/characters which should have \cdots in between, e.g.
-# $1+2+3+\cdots+n$.
+# Commands or characters which should have `\cdots' in between.
+# For example, $1+2+3+\cdots+n$.
#
-
CenterDots
{
= + - \cdot \div & \times \geq \leq < >
}
-#####################################################################
+
+## LowDots
#
-# Commands/characters which should have \ldots in between, e.g.
-# $1,2,3,\ldots,n$.
+# Commands or characters which should have `\ldots' in between.
+# For example, $1,2,3,\ldots,n$.
#
-
LowDots
{
. , ;
}
-#####################################################################
+
+## MathRoman
#
-# 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.
+# Words that should appear in roman (upright) in math mode. There are
+# certain aliases for mathematical operators (like sin or cos) that
+# appear in roman rather than the usual italic (slanted) font.
+#
+# These entries do not need a leading slash since the mistake is often
+# to *not* include the leading slash.
#
-
MathRoman
{
log lg ln lim limsup liminf sin arcsin sinh cos arccos cosh tan
@@ -745,15 +735,13 @@ MathRoman
exp Pr gcd deg bmod pmod mod
}
-#####################################################################
-#
-# These TeX commands have become unnecessary, as there are LaTeX
-# commands that does the same. Purists should thus avoid these in
-# their code.
+
+## Primitives
#
-# (These are a spell-corrected version of those lacheck uses).
+# Commands that are used in TeX but have become unnecessary in
+# LaTeX, as there are LaTeX commands which do the same. Purists
+# should thus avoid these in their code.
#
-
Primitives
{
\above \advance \catcode \chardef \closein \closeout \copy \count
@@ -761,42 +749,46 @@ Primitives
\expandafter \font \hskip \vskip \openout
}
-#####################################################################
+
+## NoCharNext
#
-# Format: \command:characters
+# Commands and a set of characters that should *not* follow them. For
+# example, in math mode, `\left' should be followed by a delimiter
+# which is to change size. Therefore, it should not be followed by the
+# end of math mode `$' or a grouping character `{' or `}'.
#
-# We'll emit a warning if any of characters are found after the
-# command.
+# The format is `\command:characters'.
#
-
NoCharNext
{
\left:{}$ \right:{}$
}
-#####################################################################
+
+## VerbClear
+#
+# The character to replace verbatim text with.
#
-# 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.
+# The arguments of commands listed in WipeArg, as well as
+# `\verb+...+' commands, are replaced with an innocuous character
+# to prevent that data from inadvertantly producing a warning.
#
-# This should not contain an alphabetic character (in case the user
-# writes (\foo\verb@bar@), neither should it contain be one of
-# LaTeX's reserved characters (`#$%&~_^\{}'), or any parenthesis
-# character ('()[]{}'). If possible, don't use a punctuation
-# character, either, or any spacing character.
+# This should not contain an alphabetic character (in case the user
+# writes (`\foo\verb+bar+'), neither should it contain be one of
+# LaTeX's reserved characters (`#$%&~_^\{}'), or any parenthesis
+# character (`()[]{}'). If possible, don't use a punctuation
+# character or any spacing characters either. All of these characters
+# have warnings associated with them and thus could cause spurious
+# warnings to appear.
#
# The asterisk is also unsuitable, as some commands behave in another
-# way if they are appended with an asterisk. Which more or less
+# way if they are appended with an asterisk. Which more or less
# leaves us with the pipe.
#
-# Please note that this may also be a _string_, which will be
+# 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.
-#
-#####################################################################
+
+## That's all for now - Happy LaTeXing!