node package manager



npm npm npm GitHub pull requests GitHub issues

GitHub watchers GitHub forks

gulp-pdflatex2 is a wrapper around pdflatex for compiling .tex files into .pdf files. It is an improved version of gulp-pdflatex that displays LaTeX compilation errors instead of suppressing them.


npm install --save gulp-pdflatex2


// gulp-rename is not required, but very helpful for redirecting your
// .tex files to a specific output directory.
var gulp = require('gulp');
var rename = require('gulp-rename');
var pdflatex2 = require('gulp-pdflatex2');
gulp.task('latex', () => {
  return gulp.src('./*.tex')
      cliOptions: ['-shell-escape'],
      keepIntermediateFiles: './tmp',
      texInputs: ['./path/to/cls']
    .pipe(rename(function(path) {
      path.dirname += '/output';
    // the compiled pdf file is given to the pipeline
    // specify the keepIntermediateFiles option to store intermediate files


  • cliOptions: optional, pass an additional array of command line options to the pdflatex invocation. Be aware that this package by default specifies -file-line-error, -halt-on-error, and -output-directory. Overwriting these manually will result in unexpected behavior.
  • keepIntermediateFiles: optional, pass a directory, relative to the path of the gulpfile for the intermediate .aux, .log, .toc, and other miscellaneous files to be stored in.
  • texInputs: optional, pass an array of directories for pdflatex to look in for files, useful if you have external class files. This will be used to populate the TEXINPUTS environment variable. If one is already defined, then whatever is specified in this option will be appended to the existing TEXINPUTS environment variable. This is populated by default with the path of the file being piped to gulp.

Author for GitHub Twitter Follow GitHub followers