GitHub Action to compile LaTeX documents.
It runs in a docker image with a full TeXLive environment installed.
root_file
The root LaTeX file to be compiled. This input is required. You can also pass multiple files as a multi-line string to compile multiple documents. For example:
- uses: xu-cheng/latex-action@master
with:
root_file: |
file1.tex
file2.tex
working_directory
The working directory for the LaTeX engine.
compiler
The LaTeX engine to be invoked. By default, latexmk is used, which automates the process of generating LaTeX documents by issuing the appropriate sequence of commands to be run.
args
The extra arguments to be passed to the LaTeX engine. By default, it is -pdf -file-line-error -interaction=nonstopmode. This tells latexmk to use pdflatex. Refer to latexmk document for more information.
extra_system_packages
The extra packages to be installed by apk separated by space. For example, extra_system_packages: "py-pygments" will install the package py-pygments to be used by the minted for code highlights.
pre_compile
Arbitrary bash codes to be executed before compiling LaTeX documents. For example, pre_compile: "tlmgr update --all" to update all TeXLive packages.
post_compile
Arbitrary bash codes to be executed after compiling LaTeX documents. For example, post_compile: "latexmk -c" to clean up temporary files.
name: Build LaTeX document
on: [push]
jobs:
build_latex:
runs-on: ubuntu-latest
steps:
- name: Set up Git repository
uses: actions/checkout@v1
- name: Compile LaTeX document
uses: xu-cheng/latex-action@master
with:
root_file: main.tex
By default, this action uses pdfLaTeX. If you want to use XeLaTeX or LuaLaTeX, you can set the args to -xelatex -file-line-error -interaction=nonstopmode or -lualatex --file-line-error --interaction=nonstopmode respectively. Alternatively, you could create a .latexmkrc file. Refer to the latexmk document for more information.
--shell-escape?To enable --shell-escape, you should add it to args. For example, set args to -pdf -file-line-error -interaction=nonstopmode -shell-escape when using pdfLaTeX.
The PDF file will be in the same folder as that of the LaTeX source in the CI environment. It is up to you on whether to upload it to some places. Here are some example.
@actions/upload-artifact to upload PDF file to the workflow tab.@actions/upload-release-asset to upload PDF file to the Github Release.scp/git/rsync to upload PDF file anywhere. For example, you can git push to the gh-pages branch in your repo, so you can view the document using Github Pages.MIT
Content type
Image
Digest
Size
1.8 GB
Last updated
over 6 years ago
docker pull kaytwo/latex-action