All Projects → xu-cheng → Latex Action

xu-cheng / Latex Action

Licence: mit
GitHub Action to compile LaTeX documents

Programming Languages

shell
77523 projects

Labels

Projects that are alternatives of or similar to Latex Action

Web
The web front end for Overleaf, a web-based collaborative LaTeX editor
Stars: ✭ 305 (-20.98%)
Mutual labels:  latex
Wpf Math
.NET library for rendering mathematical formulae using the LaTeX typsetting style, for the WPF framework
Stars: ✭ 339 (-12.18%)
Mutual labels:  latex
Latex.js
JavaScript LaTeX to HTML5 translator
Stars: ✭ 374 (-3.11%)
Mutual labels:  latex
Fduthesis
LaTeX thesis template for Fudan University
Stars: ✭ 315 (-18.39%)
Mutual labels:  latex
Qilin App
Fully hackable text editor developed for exact sciences with built-in KaTeX and AsciiMath support. Extensible via plugins and themes. Exportable as HTML, PDF and GFM.
Stars: ✭ 336 (-12.95%)
Mutual labels:  latex
Jupyterlab Latex
JupyterLab extension for live editing of LaTeX documents
Stars: ✭ 349 (-9.59%)
Mutual labels:  latex
Arara
arara is a TeX automation tool based on rules and directives. It gives you a way to enhance your TeX experience. This is a mirror repository.
Stars: ✭ 305 (-20.98%)
Mutual labels:  latex
Latex Online
Online latex compiler. You give it a link, it gives you PDF
Stars: ✭ 381 (-1.3%)
Mutual labels:  latex
Latexdraw
A vector drawing editor for LaTeX (JavaFX).
Stars: ✭ 336 (-12.95%)
Mutual labels:  latex
Limecv
A LaTeX CV Document Class
Stars: ✭ 376 (-2.59%)
Mutual labels:  latex
Rmarkdown Cookbook
R Markdown Cookbook. A range of tips and tricks to make better use of R Markdown.
Stars: ✭ 324 (-16.06%)
Mutual labels:  latex
Simple Resume Cv
Template for a simple resume or curriculum vitae (CV), in XeLaTeX.
Stars: ✭ 333 (-13.73%)
Mutual labels:  latex
Mistletoe
A fast, extensible and spec-compliant Markdown parser in pure Python.
Stars: ✭ 368 (-4.66%)
Mutual labels:  latex
Limarka
Escreva seu trabalho de conclusão de curso com as normas da ABNT em Markdown
Stars: ✭ 312 (-19.17%)
Mutual labels:  latex
Marktext
📝A simple and elegant markdown editor, available for Linux, macOS and Windows.
Stars: ✭ 22,894 (+5831.09%)
Mutual labels:  latex
Calculatex
in progress pretty printing calculator language
Stars: ✭ 302 (-21.76%)
Mutual labels:  latex
React Katex
Display math in TeX with KaTeX and ReactJS
Stars: ✭ 345 (-10.62%)
Mutual labels:  latex
Textext
Re-editable LaTeX graphics for Inkscape
Stars: ✭ 383 (-0.78%)
Mutual labels:  latex
Betterbib
Update BibTeX files with info from online resources.
Stars: ✭ 380 (-1.55%)
Mutual labels:  latex
Letter Boilerplate
Finest letter typesetting from the command line
Stars: ✭ 374 (-3.11%)
Mutual labels:  latex

latex-action

GitHub Actions Status

GitHub Action to compile LaTeX documents.

It runs in a docker image with a full TeXLive environment installed.

If you want to run arbitrary commands in a TeXLive environment, use texlive-action instead.

Inputs

  • 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/[email protected]
      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 -halt-on-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.

The following inputs are only valid if the input compiler is not changed.

  • latexmk_shell_escape

    Instruct latexmk to enable --shell-escape.

  • latexmk_use_lualatex

    Instruct latexmk to use LuaLaTeX.

  • latexmk_use_xelatex

    Instruct latexmk to use XeLaTeX.

Example

name: Build LaTeX document
on: [push]
jobs:
  build_latex:
    runs-on: ubuntu-latest
    steps:
      - name: Set up Git repository
        uses: actions/[email protected]
      - name: Compile LaTeX document
        uses: xu-cheng/[email protected]
        with:
          root_file: main.tex

FAQs

How to use XeLaTeX or LuaLaTeX instead of pdfLaTeX?

By default, this action uses pdfLaTeX. If you want to use XeLaTeX or LuaLaTeX, you can set the latexmk_use_xelatex or latexmk_use_lualatex input respectively. For example:

- uses: xu-cheng/[email protected]
  with:
    root_file: main.tex
    latexmk_use_xelatex: true
- uses: xu-cheng/[email protected]
  with:
    root_file: main.tex
    latexmk_use_lualatex: true

Alternatively, you could create a .latexmkrc file. Refer to the latexmk document for more information.

How to enable --shell-escape?

To enable --shell-escape, set the latexmk_shell_escape input.

- uses: xu-cheng/[email protected]
  with:
    root_file: main.tex
    latexmk_shell_escape: true

Where is the PDF file? How to upload it?

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.

  • You can use @actions/upload-artifact to upload PDF file to the workflow tab. For example you can add

    - uses: actions/[email protected]
      with:
        name: PDF
        path: main.pdf
    
  • You can use @actions/upload-release-asset to upload PDF file to the Github Release.

  • You can use normal shell tools such as 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.

It fails due to xindy cannot be found.

This is an upstream issue where xindy.x86_64-linuxmusl is currently missing in TeXLive. To work around it, try this.

It fails to build the document, how to solve it?

License

MIT

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].