Skip to content
This repository has been archived by the owner on Dec 13, 2022. It is now read-only.

loophp/DockLatex

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

DockLatex

Requirements

Goals

DockLatex offers an easy way to create, build and publish LaTeX documents.

The goals of this project are:

  • Automate as much as possible, by using a Makefile or a Taskfile;
  • To be agnostic of operating system;
  • Provide an easy way to publish documents using 'Github Actions'.

Usage

To build a document once

This will try to convert the INPUT file into a PDF file.

  • task build INPUT=src/sample/index.tex
  • make build INPUT=src/sample/index.tex

To watch a document and enable hot reload/rebuild

Continually update the PDF files whenever changes are made to source files.

  • task watch INPUT=src/sample/index.tex
  • make watch INPUT=src/sample/index.tex

To run some checks

This will run lacheck, chktex and latexindent on all the .tex files recursively.

  • task lint INPUT=src/sample/index.tex
  • make lint INPUT=src/sample/index.tex

To remove build files

This will delete the build/ directory, deleting all the resulting PDF files that were generated.

  • task clean
  • make clean

To convert to another format

Convert to Markdown

  • task pandoc INPUT=src/sample/index.tex OUTPUT=build/sample.md
  • make pandoc INPUT=src/sample/index.tex OUTPUT=build/sample.md

Convert to HTML

  • task pandoc INPUT=src/sample/index.tex OUTPUT=build/sample.html
  • make pandoc INPUT=src/sample/index.tex OUTPUT=build/sample.html

You can use any format supported by Pandoc.

Documentation

This project helps you to create beautiful PDFs, using LaTeX.

Document sources are in src/. Each document live in its own unique directory in src/. The entry file must be named index.tex in order to get built properly.

The resulting PDF files will be in the build/ directory.

Examples

The project comes with a handful of LaTeX sample projects:

FAQ

  • Why use Docker?

    The use of Docker has been made in order to make that this would work equally on different OS. While Docker is not available on FreeBSD and being a user of FreeBSD it was a hard choice to make. Using Docker also help me to keep an up-to-date Texlive installation without all the hassle of updating stuff here and there.

  • Why use a Taskfile and a Makefile?

    This project is a work in progress. I have not yet decided between Go Task or Make.

Todo / Ideas

  • Find a proper name
  • Decide between Go Task and Makefile.
  • More documentation on how to use the command and create a new document
  • In a LaTex document, find a way to use local paths instead of paths from the root
  • Should we use a Makefile/Taskfile per document directory?
  • Decide which example project(s) to include in the OpenSource version
  • Add a changelog
  • Create proper issues in Github

About

A multi-platform Docker-based LaTeX workspace for a quickstart and easy hands on.

Topics

Resources

Code of conduct

Stars

Watchers

Forks

Packages

No packages published