MyNixOS website logo
Description

View your latex output while editing.

This program allows you to view your latex document in your pdf viewer while editing it in your favorite editor. When you save your document, this program will recompile it, overwrite the output pdf file and send a signal to your pdf reader to reload the file. This effectively allows for a "continous preview"-like experience. This will run on Linux only at the moment.

texbuilder

What it is

This program allows you to view your latex document in your pdf reader while editing it in your favorite editor. When you save your document, it will recompile it, overwrite the output pdf file and send a signal to your pdf reader to reload the file. This effectively allows for a "continuous preview"-like experience.

This will run with mupdf and only on Linux at the moment.

Prerequisites and Dependencies

  • linux (we use inotify)
  • a recent cabal / ghc
  • (currently only works with) mupdf
  • working latex with lualatex, xelatex or pdflatex and ideally latexmk
  • make sure to compile this with the -threaded ghc option, otherwise it will not work!

Build with Cabal from Hackage

cabal install --bindir . --ghc-option=-threaded texbuilder

How to build from git

git clone https://gitlab.com/xaverdh/tex-builder
cd tex-builder
cabal sandbox init
cabal install --bindir . --ghc-option=-threaded

Alternatively you can use the provided build script. So assuming you have wget you cound do:

wget -O - https://gitlab.com/xaverdh/tex-builder/raw/master/build | sh

Usage

Say you want to compile a tex file thesis.tex then standard usage would be:

texbuilder -t thesis.tex

By default texbuilder will use a fresh environment for every compile run. This may sound wasteful, but is quite feasible with average sized tex files on modern hardware. And it does avoid problems with messed up state, when something goes wrong.

Still if you do have problems with performance, use the --stateful flag.

Finally if you really really need all those intermediate representation files in your directory, use --persistent.

Notes

Early Versions (up to 0.1.2.0) of this program are deprecated, because the cabal file did not enforce use of the -threaded ghc option. If that option was not passed to cabal / ghc on the command line, the resulting builds were broken.

Legal

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

See LICENSE for more details.

Metadata

Version

0.1.4.1

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows