All Projects → blang → Latex Docker

blang / Latex Docker

Licence: mit
Docker-based latex compilation

Labels

Projects that are alternatives of or similar to Latex Docker

Datasciencetoolbox
Complete environments for busy polyglot data scientists
Stars: ✭ 384 (-17.77%)
Mutual labels:  makefile
Docker Laravel
🐳 Build a simple laravel development environment with docker-compose.
Stars: ✭ 415 (-11.13%)
Mutual labels:  makefile
Sbt Pack
A sbt plugin for creating distributable Scala packages.
Stars: ✭ 438 (-6.21%)
Mutual labels:  makefile
Swarm
swarm docs
Stars: ✭ 403 (-13.7%)
Mutual labels:  makefile
Onie
Open Network Install Environment
Stars: ✭ 411 (-11.99%)
Mutual labels:  makefile
Internet Security
互联网资安风控实战
Stars: ✭ 425 (-8.99%)
Mutual labels:  makefile
Go Project Blueprint
Blueprint/Boilerplate For Golang Projects
Stars: ✭ 376 (-19.49%)
Mutual labels:  makefile
Androideagleeye
An Xposed and adbi based module which is capable of hooking both Java and Native methods targeting Android OS.
Stars: ✭ 454 (-2.78%)
Mutual labels:  makefile
Ros
机器人操作系统ROS 语音识别 语义理解 视觉控制 gazebo仿真 雷达建图导航
Stars: ✭ 414 (-11.35%)
Mutual labels:  makefile
Opencv Ios
OpenCV (Open Source Computer Vision) is a library of programming functions for real time computer vision. This project is a port of the OpenCV library for Apple iOS. It includes two XCode projects: one for iPhone, the other one for iPad.
Stars: ✭ 434 (-7.07%)
Mutual labels:  makefile
Openwrt Shadowsocksr Libev Full
ShadowsocksR-libev-full for OpenWrt
Stars: ✭ 406 (-13.06%)
Mutual labels:  makefile
Flags
GoSquared's flag icon set
Stars: ✭ 412 (-11.78%)
Mutual labels:  makefile
Awesome Web Scraping
List of libraries, tools and APIs for web scraping and data processing.
Stars: ✭ 4,510 (+865.74%)
Mutual labels:  makefile
Platform build
Stars: ✭ 387 (-17.13%)
Mutual labels:  makefile
Kubernetes Handbook
Kubernetes Handbook (Kubernetes指南) https://kubernetes.feisky.xyz
Stars: ✭ 4,511 (+865.95%)
Mutual labels:  makefile
Unchained
My personal study of blockchain related technology.
Stars: ✭ 379 (-18.84%)
Mutual labels:  makefile
Checkmake
experimental linter/analyzer for Makefiles
Stars: ✭ 420 (-10.06%)
Mutual labels:  makefile
Fossasia Presentations
Stars: ✭ 457 (-2.14%)
Mutual labels:  makefile
Spleen
Monospaced bitmap fonts
Stars: ✭ 448 (-4.07%)
Mutual labels:  makefile
Zh Unit Testing Guidelines
Geotechnical 单元测试准则 - 中文版
Stars: ✭ 431 (-7.71%)
Mutual labels:  makefile

Latex docker container Docker hub

This container helps compiling latex sources without the need to install all latex packages on your system.

Why should I use this container?

  • Easy setup, compile immediately after image download
  • Preserves UID and GID of local user
  • Use container like local command: latexdockercmd.sh pdflatex main.tex
  • Multiple distributions like ubuntu's texlive-full to cover all needs

Versions

All versions are based on Ubuntu: (See all tags)

If you need...

  • ...the most-stuff-works-out-of-the-box package, try blang/latex:ubuntu.
  • ...the most recent version of everything, try blang/latex:ctanfull.
  • ...a stable base for your custom texlive build, try blang/latex:ctanbasic.

For stability, choose a more specific version tag (See all tags)

Quick Setup

Compile latex sources using docker:

# Change to your project
cd my_latex_project

# Download the command wrapper and make it executable
wget https://raw.githubusercontent.com/blang/latex-docker/master/latexdockercmd.sh
chmod +x latexdockercmd.sh

# Optional: Change the version (see above, default blang/latex:ubuntu)
edit ./latexdockercmd.sh

# Compile using pdflatex (docker will pull the image automatically)
./latexdockercmd.sh pdflatex main.tex

# Or use latexmk (best option)
./latexdockercmd.sh latexmk -cd -f -interaction=batchmode -pdf main.tex
# Cleanup: ./dockercmd.sh latexmk -c or -C

# Or make multiple passes (does not start container twice)
../latexdockercmd.sh /bin/sh -c "pdflatex main.tex && pdflatex main.tex"

Requirements

First, add your local user to docker group (should already be the case):

sudo usermod -aG docker YOURUSERNAME

The latexdockercmd.sh will use your current user and group id to compile.

Daemon setup

If you're working on source in latex, you might want to compile it multiple times and don't want to start a container each time.

cd my_latex_source

# Start a daemon container on this path, it accepts commands from latexdockerdaemoncmd.sh
latexdockerdaemon.sh

# Execute the command in the daemon container, only the daemon container is running
latexdockerdaemoncmd.sh pdflatex main.tex

# Stop the daemon
docker stop latex_daemon

Customize

If software is missing, extend this base image with your own software:

Create a Dockerfile or download Dockerfile.blueprint for examples:

FROM blang/latex:ubuntu

# Minted + Pygments
RUN tlmgr install minted

Build your custom image:

docker build -t mycustomlateximg .

Edit latexdockercmd.sh to use your image mycustomlateximg.

Latex Make

Clean build using latexmk:

mkdir compile
latexmk -cd -f -jobname=output -outdir=./compile -auxdir=./compile -interaction=batchmode -pdf ./main.tex

Use latexmkrc in your project root:

# Example: Make glossaries
add_cus_dep( 'glo', 'gls', 0, 'makeglo2gls' );
sub makeglo2gls {
    system("makeindex -s \"$_[0].ist\" -t \"$_[0].glg\" -o \"$_[0].gls\" \"$_[0].glo\"" );
}

CTAN Packages

A list of available ctan packages can be found here: http://mirror.ctan.org/systems/texlive/tlnet/archive

Install texlive packages:

RUN tlmgr install minted

Contribution

If the image is missing a package only specific for you, please don't open an issue or pull request but build your own image as described above. If a critical package is missing or you have a recipe for missing packages in a common scenario, please create an issue / PR on Dockerfile.blueprint.

License

See LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].