Compile LaTeX documents using pdflatex.
This plugin requires Grunt ~0.4.1
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-latex --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-latex');
For this plugin to work, you need to have a LaTeX distribution installed that comes with the pdflatex
command line application. Common LaTeX distributions are:
In your project's Gruntfile, add a section named latex
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
latex: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
},
}
});
Currently, a few of pdflatex' command line options are supported. If you have the need for more, don't hesitate to file an issue on Github.
Type: String
Default value: 'nonstopmode'
Sets the interaction mode; can be 'nonstopmode'
, 'batchmode'
, 'scrollmode'
or 'errorstopmode'
.
Type: Boolean
Default value: false
If true
, the task will run in draft mode, e.g. no output PDF will be generated.
Type: Boolean
Default value: false
If true
, the task will stop processing at the first error.
Type: String
Default value: .
Specifies the directory to write files into.
Type: String
Default value: pdf
Specifies the output format. Can be either 'pdf'
or 'dvi'
.
The most simple way to use grunt-latex is to specify only the source LaTeX files to be compiled.
grunt.initConfig({
latex: {
src: ['document.tex']
},
});
You can set task-specific options, but you can also define different targets with target-specific options.
grunt.initConfig({
latex: {
options: {
haltOnError: 'true'
},
pdf_target: {
options: {
outputDirectory: 'dest/pdf'
},
src: ['document.tex']
},
dvi_target: {
options: {
outputDirectory: 'dest/dvi',
outputFormat: 'dvi'
},
src: ['document.tex']
}
}
});
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
0.1.0 Initial release