# latex-candle /

Filename Size Date modified Message
doc
src
test
36 B
34.3 KB
2.4 KB
143 B
3.3 KB
3.3 KB

# Overview

The TeX engine does not provide good error messages or warnings; the messages are mixed in with lots of superfluous output, some errors don't have file and line numbers, there is no consist formatting for messages, syntax errors can lead to very confusing messages, errors in code using packages like tikz are non-intuitive. This package implements a LaTeX checker that uses parsec for great error messages while parsing while also implementing many lint style checks. The ambitious goal is to check the majority of TeX errors so that these errors can be discovered in a common format and loaded into editors like Vim. Also, provide much better error messages which are understandable by the user.

# Usage

The checker can be used in one of two ways: through a command line program lacandle and through a haskell library. Basic usage of lacandle is

lacandle [options] [filenames]


The options are described in detail below and are mostly options to enable or disable certian warnings and lint checks. Any errors, warnings, or lint found by the checker is written to standard output. The format for messages is the following.

file:line:col: message
file:line:col-col: a message spanning multiple columns
file:line:col:+ first message line
second message line
another message line
file:line:col-col:+ a multiple column message
second message line


## Vim Integration

The plan is to integrate with syntastic, although this still needs to be written.

Similar packages include lacheck (http://www.ctan.org/tex-archive/support/lacheck) and chktex (http://baruch.ev-en.org/proj/chktex/), but neither of these programs are actively developed anymore.

# Option Details

## Document Structure

-b, --only-body ~ If this flag is passed, the document is assumed to consit only of LaTeX which is valid between the \begin{document} and \end{document}. If neither this option nor --full-document are passed, the option is detected based on the presense of a documentclass command.

-f, --full-document ~ If this flag is passed, the document is required to start with the documentclass command. If neither this option nor --only-body are passed, the option is detected based on the presense of a documentclass command.

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.