lol

command module
v0.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2023 License: MIT Imports: 9 Imported by: 0

README

lol a LaTeX online compiler CLI tool

lol is a small command line interface (CLI) that sends local files to distant server (https://latexonline.cc/ or latex.ytotech.com) for LaTeX compilation and save the resulting pdf.

Usage

To compile a single main.tex file to main.pdf using latexonline.cc:

> ./lol main.tex

To compile main.tex including png images in imgs folder with xelatex using latex.ytotech.com:

> ./lol -s ytotech -c xelatex main.tex imgs/*.png

A help message is provided:

> ./lol -h
lol (version: ---)
LaTeX online compiler. More info at www.github.com/kpym/lol.

Available options:
  -s, --service string    Service can be laton or ytotex.
  -c, --compiler string   One of pdflatex,xelatex or lualatex.
                          For ytotex platex, uplatex and context are also available.
                           (default "pdflatex")
  -f, --force             Do not use the laton cache. Force compile. Ignored by ytotech.
  -b, --biblio string     Can be bibtex or biber for ytotex. Not used by laton.
  -o, --output string     The name of the pdf file. If empty, same as the main tex file.
  -m, --main string       The main tex file to compile.
  -q, --quiet             Prevent any output.
  -v, --verbose           Print info and errors. No debug info is printed.
      --debug             Print everithing (debug info included).

Examples:
> lol main.tex
> lol  -s ytotech -c xelatex main.tex
> lol main.tex personal.sty images/img*.pdf
> cat main.tex | lol -c lualatex -o out.pdf

Installation

Precompiled executables

You can download the executable for your platform from the Releases.

Compile it yourself
Using Go
$ go get github.com/kpym/lol
Using goreleaser

After cloning this repo you can compile the sources with goreleaser for all available platforms:

git clone https://github.com/kpym/lol.git .
goreleaser --snapshot --skip-publish --clean

You will find the resulting binaries in the dist/ sub-folder.

Configuration

As lol use viper the parameters can be provided not only by flags but also be read from config file (lol.yaml, lol.toml, lol.json...) or/and from environment variables (starting with LOL_).

Using config file

You can provide all default values for flags in a config lol file in the current folder. For example if your project needs xelatex and use imgs/logo.png you can save the following lol.yaml in the current folder

Compiler: xelatex
Patterns:
  - imgs/logo.png
Using environment variables

If you wan to provide global default values you can set an environment variable. For example if you want by default to use ytotech service you can set LOL_SERVICE=ytotech.

License

MIT for this code (but all used libraries may have different licences).

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
builder package provide an abstraction of latex online compilers.
builder package provide an abstraction of latex online compilers.
laton
laton package provides a builder.Builder interface to latexonline.cc service.
laton package provides a builder.Builder interface to latexonline.cc service.
ytotech
ytotech package provides a builder.Builder interface to latex.ytotech.com service.
ytotech package provides a builder.Builder interface to latex.ytotech.com service.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL