Github mirror of MediaWiki extension Collection/OfflineContentGenerator/latex_renderer - our actual code is hosted with Gerrit (please see https://www.mediawiki.org/wiki/Developer_access for contributing
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
fonts
lib
samples
test
tex
texdeps
.gitignore
.gitreview
.jscsrc
.jshintignore
.jshintrc
.travis.yml
AUTHORS.md
CHANGELOG.md
CODE_OF_CONDUCT.md
README.md
package.json

README.md

mw-ocg-latexer

NPM

Build Status dependency status dev dependency status

Converts mediawiki collection bundles (as generated by mw-ocg-bundler) to beautiful PDFs (via XeLaTeX).

Installation

Node version 0.8 and 0.10 are tested to work.

Install the node package dependencies.

npm install

You will need to have a C compiler installed in order to build the sqlite3 and icu-bidi packages (ie, apt-get install g++).

Install other system dependencies.

apt-get install texlive-xetex texlive-latex-recommended \
                texlive-latex-extra texlive-generic-extra \
                texlive-fonts-recommended texlive-fonts-extra \
                fonts-hosny-amiri fonts-farsiweb fonts-nafees \
                fonts-arphic-uming fonts-arphic-ukai fonts-droid fonts-baekmuk \
                texlive-lang-all latex-xcolor \
                poppler-utils imagemagick librsvg2-bin libjpeg-progs \
                djvulibre-bin unzip

Note that up-to-date LaTeX hyperref and fontspec packages are required. If your LaTeX installation is old, you can find recent versions of some of the necessary packages in texdeps/, but it's best to use an up-to-date TeXlive distribution.

If you prefer, the inkscape package can be installed to do SVG->PDF conversion in place of rsvg-convert (from the librsvg2-bin package).

In older versions of Ubuntu, the Nazli font was provided by the ttf-farsiweb package instead of fonts-farsiweb.

In Ubuntu 12.04, the lmodern package must also be installed manually.

Hyperlinks in generated PDFs will not resolve correctly unless the target wiki has $wgUsePathInfo enabled.

OS X users can,

brew cask install mactex
brew install imagemagick poppler

and download the FreeSerif.ttf and Linux Libertine O.otf.

Generating bundles

You may wish to install the mw-ocg-bundler npm package to create bundles from wikipedia articles. The below text assumes that you have done so; ignore the mw-ocg-bundler references if you have bundles from some other source.

Running

To generate a PDF named out.pdf from the en.wikipedia.org article "United States":

$SOMEPATH/bin/mw-ocg-bundler -v -o us.zip -h en.wikipedia.org "United States"
bin/mw-ocg-latexer -o out.pdf us.zip

In the above command $SOMEPATH is the place you installed mw-ocg-bundler; if you've used the directory structure recommended by mw-ocg-service this will be ../mw-ocg-bundler.

For debugging, preserving the XeTeX output is often useful:

bin/mw-ocg-latexer -l -D -o out.tex us.zip
TEXINPUTS=tex/: xelatex out.tex

For other options, see:

bin/mw-ocg-latexer --help

Related Projects

License

GPLv2

(c) 2013 by C. Scott Ananian