What packages are supported by Texifier's internal typesetter?

Texifier’s internal typesetter, TexpadTeX, is capable of typesetting virtually anything, and this article contains detailed information on specific packages. On iOS, in the very rare cases where something is missing, you can use the Cloud typesetters for free. On macOS, you can use a traditional distribution, such as MacTeX.

Currently Supported Packages in TexpadTeX

Almost all packages and tools available in e.g. TeXLive, MacTeX or MikTeX are available for use with TexpadTeX.

 Packages

A non-exhaustive list of packages we are often asked about is

  • Tikz
  • Beamer
  • Koma Script
  • AMS packages
  • graphicx
  • pgfplots
  • fontspec (since Texifier macOS 1.8.5, Tepad iOS 1.8.0)
  • hyperref (since Texifier macOS 1.8.5, Tepad iOS 1.8.0)
  • pdfpages (since Texifier macOS 1.8.5, Tepad iOS 1.8.0)

Image formats

TexpadTeX supports all common image formats other than eps. eps, like all things PostScript, is not supported by Texifier, and given the declining usage of PostScript elements within the LaTeX world, we do not plan to support them. Almost anything that outputs in eps will also output in pdf, and we would recommend in all cases that you go this route.

Bibliographies

Texifier supports bibliography compilation in the live mode. This includes the embedded system explained at apps/typesetting/bibliographies/embedded-bibliographies as well as the full BibTeX-based bibliographies, see apps/typesetting/bibliographies/using-bibliography-engine .

Our bibliography compiler is BibTeX-compliant and can be used to typeset BibTeX-based bibliographies including those using biblatex as long as the backend is specified to be BibTeX (i.e., by explicitly adding \usepackage[backend=bibtex]{biblatex}). Our compiler is a fork of BibTeX’s original WEB sources that has been adapted to handle common modernisations such as windows line endings and explicit extensions in \bibliographystyle/\bibliography commands.

Biber is written in Perl, and as such we cannot right now include it within Texifier in the way needed to be compatible with TexpadTeX. We are working on making it useable with TexpadTeX in the direct version of Texifier.

Compiling Indices

Texifier’s internal live typesetter, TexpadTeX has a full-functionaly indexer that supports Makeindex-based indices.

Our implementation is entirely written from scratch and is well-integrated with the live typeset. It aims to provide full support for the following packages,

  • makeidx
  • splitindex
  • nomencl

Please note that Texifier’s internal typesetter does not support Xindy yet.

Language support

Again, Texifier is capable of supporting virtually everything a desktop distribution can. A non-exhaustive list of supported languages we are commonly asked about is

  • Cyrillic
  • Greek
  • Hebrew
  • Arabic
  • Languages covered by CTan’s CJK package

Not currently supported

All packages and tools listed in this section are either being worked on, or we have plans to support at some point. Please note that in the meantime Texifier itself supports these (either through an external MacTeX distribution, or the free Cloud Typesetters), but they are not yet working with Texifier’s integrated typesetter.

Require running external tools

Some packages run external tools using \write18. This is explicitly prohibited by sandboxing, and so these are not currently supported by the Live Typesetter.

  • gitinfo and gitinfo2

Unicode Maths

Since macOS 1.8.5, iOS 1.8.0 TexpadTeX can run in a native unicode mode and therefore support Native (System/TTF/OTF) fonts, and thus the fontspec and mathspec packages. However, it is still missing a few extensions required to support the unicode-math package.

Microtype

The microtype package requires extra commands added to standard LaTeX, and is currently only supported with pdfLaTeX, XeLaTeX, and luaLaTeX. This is planned for some point in the 1.8.x series.

Misc

Other packages not fully supported yet, but on our todo list are:

  • pdfx
    • arsclassica This requires the \hypersetup command provided by pdfx so it will not be supported until pdfx is supported
  • contour This requires a TexpadTeX driver to be written, we are working on this
  • pict2e This requires a TexpadTeX driver to be written. pgf based packages such as tikz are vast improvements over this package, so we have no plans right now to support it.
  • mtpro2 Requires a driver for TexpadTeX

Packages that rely on external tools such as pygments, gnuplot, R are not currently compatible. Unlike LaTeX packages, these are not something we can simply add support for by adding TexpadTeX extensions, so for now these will rely on either the Cloud Typesetter, or on an external TeX distribution.

ConTeXt and LuaTeX

Since ConTeXt v4, ConTeXt has been reliant on LuaTeX extensions. We plan to add LuaTeX compatible extensions to TexpadTeX in the future, but that will take some time.

Unnecessary packages

There are a few packages which just aren’t necessary with TexpadTeX.

Tikz externalize (handled by live typeset)

This feature of the tikz package allows for caching fragments of the document. It uses shell escape, which invokes an external binary, which is prohibited in a sandboxed environment, and as such it is impossible to support with TexpadTeX. Nevertheless, it is not useful with TexpadTeX, as TexpadTeX already has a caching system built in to support live typeset. This system caches everything, not just tikz figures.

Please just remove any externalise options and packages, and use live typeset, and it will automatically handle the caching for you.

No plans to support

Due to TeX’s long history, there are a small number of tools or packages that were introduced at some point, but have since been replaced by better alternatives, and have largely fallen into disuse. Although Texifier supports these through the External Typesetter or Cloud Typesetter, it is not practical to add support into the integrated TexpadTeX typesetter for all such tools and packages.

PostScript

PostScript relies on a PostScript interpreter. This exists on macOS, but not on iOS, but even in macOS it is usually very inefficient in comparison to the alternatives.

PostScript images (EPS) originally gained popularity as they were the only option for Vector Graphics, but PDF images have long since replaced them for this purpose. Almost any tool capable of producing EPS can also produce PDF. If not, then they can be converted after output using epstopdf.

Packages

The packages in this list have been replaced by new and equivalent packages, and we do not intend to support them in the TexpadTeX in the foreseeable future.

  • MetaPost: this has been replaced in functionality by Tikz, which is fully supported by TexpadTeX. The following packages depend on Metapost
    • feynmanmp-auto has been deprecated in favour of tikz-feynman
  • PSTricks: This is dependant on PostScript, and has been replaced in normal usage by the vastly superior Tikz, which is fully supported by TexpadTeX
  • breakurl package: This package effectively exists to fix a linebreaking issue with hyperref’s \url command. It is neither compatible with, nor useful with, any other typeset chain, and with TexpadTeX you should simply use hyperref.

Cloud Typesetter

In addition to the onboard typesetter there is a free cloud typesetter available on Sandboxed systems (e.g. iOS). This runs TeX Live with all packages installed, hence it is capable of typesetting virtually all documents, except those requiring specialised packages not included with the main TeX Live installation. In these cases the package files may be placed in Texifier’s Texifier-Custom-Packages directory and they will be shipped to the cloud along with the main document.

Texlive is installed via tlmgr with a full profile to install all parts of Texlive. This is rebuilt every sunday evening to the latest version of TeX Live.

Additionally, the following Debian packages are installed:

  • python-pyments
  • libfontconfig1
  • ghostscript

If there is a package you would like us to add to this list, please get in touch.