Giter Site home page Giter Site logo

xu-cheng / latex-action Goto Github PK

View Code? Open in Web Editor NEW
1.1K 12.0 135.0 127 KB

:octocat: GitHub Action to compile LaTeX documents

Home Page: https://github.com/xu-cheng/latex-action

License: MIT License

Shell 81.46% TeX 14.11% PostScript 4.43%
github-actions latex

latex-action's Introduction

latex-action

GitHub Actions Status

GitHub Action to compile LaTeX documents.

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

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

Inputs

Each input is provided as a key inside the with section of the action.

  • 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. Each file path will be interpreted as bash glob pattern. For example:

    - uses: xu-cheng/latex-action@v3
      with:
        root_file: |
          file1.tex
          file2.tex
  • working_directory

    The working directory for this action.

  • work_in_root_file_dir

    Change directory into each root file's directory before compiling each documents. This will be helpful if you want to build multiple documents and have the compiler work in each of the corresponding directories.

  • continue_on_error

    Continuing to build document even with LaTeX build errors. This will be helpful if you want to build multiple documents regardless of any build error. Noted that even with this input set, this action will always report failure upon any build error. If you want to prevent the GitHub action job also from failure, please refer to the upstream document.

  • 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: "inkscape" will install the package inkscape to allow using SVG images in your LaTeX document.

  • extra_fonts

    Install extra .ttf/.otf fonts to be used by fontspec. You can also pass multiple files as a multi-line string. Each file path will be interpreted as bash glob pattern. For example:

    - uses: xu-cheng/latex-action@v3
      with:
        root_file: main.tex
        extra_fonts: |
          ./path/to/custom.ttf
          ./fonts/*.otf
  • pre_compile

    Arbitrary bash codes to be executed before compiling LaTeX documents. For example, pre_compile: "tlmgr update --self && 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.

  • texlive_version

    The version of TeXLive to be used. Supported inputs include 2020, 2021, 2022, 2023, 2024, and latest. By default the latest TeXLive is used. This input cannot co-exist with docker_image input. An example to use this input:

    - uses: xu-cheng/latex-action@v3
      with:
        root_file: main.tex
        texlive_version: 2022
  • docker_image

    Custom which docker image to be used. Only latex-docker images are supported. For example if you want to pin the docker image:

    - uses: xu-cheng/latex-action@v3
      with:
        root_file: main.tex
        docker_image: ghcr.io/xu-cheng/texlive-full:20230801

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/checkout@v4
      - name: Compile LaTeX document
        uses: xu-cheng/latex-action@v3
        with:
          root_file: main.tex
      - name: Upload PDF file
        uses: actions/upload-artifact@v4
        with:
          name: PDF
          path: main.pdf

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/latex-action@v3
  with:
    root_file: main.tex
    latexmk_use_xelatex: true
- uses: xu-cheng/latex-action@v3
  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/latex-action@v3
  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 a zip containing the PDF file to the workflow tab. For example you can add

    - uses: actions/upload-artifact@v4
      with:
        name: PDF
        path: main.pdf

    It will result in a PDF.zip being uploaded with main.pdf contained inside.

  • You can use @softprops/action-gh-release 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.

How to add additional paths to the LaTeX input search path?

Sometimes you may have custom package (.sty) or class (.cls) files in other directories. If you want to add these directories to the LaTeX input search path, you can add them in TEXINPUTS environment variable. For example:

- name: Download custom template
  run: |
    curl -OL https://example.com/custom_template.zip
    unzip custom_template.zip
- uses: xu-cheng/latex-action@v3
  with:
    root_file: main.tex
  env:
    TEXINPUTS: ".:./custom_template//:"

Noted that you should NOT use {{ github.workspace }} or $GITHUB_WORKSPACE in TEXINPUTS. This action works in a separated docker container, where the workspace directory is mounted into it. Therefore, the workspace directory inside the docker container is different from github.workspace.

You can find more information of TEXINPUTS here.

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

latex-action's People

Contributors

ascopes avatar j4y avatar jeff-tian avatar marcovolpato00 avatar marklemay avatar sinchang avatar tomjaguarpaw avatar xu-cheng avatar yalishanda42 avatar zydou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

latex-action's Issues

How to copy `texlive-fontconfig.conf` file?

Thank you for helping me about the #3 . Now I am still struggling with compile the fduthesis package. Now it failed at :

Package fontspec Error: The font "XITS-Regular" cannot be f
ound.

I googled and found the solution here: https://www.tug.org/texlive/doc/texlive-en/texlive-en.html#x1-340003.4.4
image

Help wanted:

How can I copy the texlive-fontconfig.conf file? I tried the following paths:

cp /root/texlive/texmf-var/fonts/conf/texlive-fontconfig.conf ...
cp /opt/textlive/texmf-var/fonts/conf/texlive-fontconfig.conf ...

but with no luck:

cannot access '/root/texlive/texmf-var': Permission denied
cannot access '/opt/texlive/': No such file or directory

Is there anyway to tell the compiler not to use LaTex3?

With the recent update, the code that used to be able to compile is no longer working. I am not sure what is the exact problem, but I guess it is because it compiles according to LaTeX3 now.

./documents.cls:125: Package acro Error: The command \ProvideAcroEnding  is
 deprecated. Use
(acro)                \DeclareAcroEnding instead.

Type <return> to continue.
 ...                                              
                                                  
l.125 \ProvideAcroEnding
                         {possessive} {'s} {'s}

./documents.cls:132: LaTeX3 Error: Unknown argument type '\acro_possessive:
 ' for the command
(LaTeX3)        '\baseacg'.

For immediate help type H <return>.

Following the suggested changes, I was able to make it compile, but it won't compile on my local machine anymore.

p.s. I am using:

  • Windows10
  • MiKTeX-pdfTeX 2.9.7338 (1.40.21) (MiKTeX 2.9.7400 64-bit)
  • TeXstudio 2.12.22

I also try to compile it on Overleaf but that won't work either

Moderncv social symbols look different through this action

I have a CI set up which builds my CV and then pushes to Dropbox. But I've realised that the social symbols look different via this action. When I compile locally I do latexmk -pdf CV.tex. The CV is based on the moderncv package so appreciate it may not be directly relevant. But I cannot work out what is different. I've checked the docker image and moderncv is installed. Is this a font issue? Thanks for your help.

Locally (what I want):
image

Done through the action (what I don't want):
image

\documentclass[10pt,a4paper,sans]{moderncv}

\moderncvstyle{banking}
\moderncvcolor{green}

\usepackage[utf8]{inputenc}
\usepackage[scale=0.85]{geometry}

\name{Patrick}{Roddy}
\title{Curriculum Vit\ae}

\social[github]{paddyroddy}

\begin{document}
	\makecvtitle{}
\end{document}

Question regarding self running actions

Hi Xu-Cheng, not really an issue but wondering, I need to use Self-hosted runners for Github Enterprise and want to use your compiler. Does this also run on other x64 OS-es such as CentOS?

lint with chktex before building

I'm migrating a workflow from Travis where my config file looks like

jobs:
    include:
        - name: chktex & deploy
          services: docker
          script:
              - ./latexdockercmd.sh chktex background.tex | tee /dev/stderr | (! grep -q ^)
              - ./latexdockercmd.sh latexmk -quiet -pdf background.tex

and the script file is

#!/bin/sh
IMAGE=blang/latex:ctanfull # Modified into ctanfull
exec docker run --rm -i --user="$(id -u):$(id -g)" --net=none -v "$PWD":/data "$IMAGE" "$@"

this has the advantage that the Docker image is pulled only once but can be used for chktex & latexmk. Is there such a way of doing it with this action?

Thanks!

Docker build fails

Github CI workflows are failing because the texlive-full docker image does not seem to get built correctly. Here's the relevant part from the logs

  Step 1/3 : FROM ghcr.io/xu-cheng/texlive-full:latest
  latest: Pulling from xu-cheng/texlive-full
  df20fa9351a1: Pulling fs layer
  b57c08061e57: Pulling fs layer
  error pulling image configuration: unknown blob
  ##[warning]Docker build failed with exit code 1, back off 1.961 seconds before retry.

I had no luck with @v2, @2.2.0 and @master. The same happens with texlive-action@master.

Extra fonts

Thank you for putting latex-action together. This is a useful docker indeed!

In my repository, I have some font files that I use under fonts folder. However, during the compilation, I got such errors:

Please type another input file name
! Emergency stop.
<*> ...our; mag:=1; nonstopmode; input FontAwesome

My yml file looks like this, what am I missing basically?

name: Compile Latex
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: document.tex
          args: -xelatex -file-line-error -interaction=nonstopmode -shell-escape

sh: xindy: not found

Hello,

Thanks for your good Github Actions : I have a problem when using xindy with glossaries (I need that to sort my glossary entries with accents) with your action ( I have no problem with that in local with MiKTeX)

image

For my .latexmkrc, I use the glossary_latexmkrc from https://www.ctan.org/tex-archive/support/latexmk/example_rcfiles.

\usepackage[
  toc,
  nonumberlist,
  nogroupskip,
  nopostdot,
  xindy
]{glossaries}
\usepackage{glossary-longbooktabs}
\makeglossaries

I checked and in Tex Live, xindy is installed but it seems makeglossaries use perl (which one cannot find it)

Any ideas ?

Can't find the pdf file although the action completes successfully

Hello,

I am new to github actions and although i setup a similar gh action like your example, i can't seem to find the produced pdf on my repository.

Here is my action

# This is a basic workflow to help you get started with Actions

name: CI

# Controls when the action will run. 
on:
  # Triggers the workflow on push or pull request events but only for the main branch
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build_late"
  build_latex:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
      - name: Setup git repository
        uses: actions/checkout@v2

      # Runs a single command using the runners shell
      - name: Github action for latex
        uses: xu-cheng/latex-action@v2
        with: 
          root_file:
            main.tex

and here is my repository files

.
├── assets
├── _config.yml
├── _data
│   └── cv.yml
├── Gemfile
├── Gemfile.lock
├── index.html
├── main.tex
├── README.md
└── _site

Am i missing something? Shouldn't the pdf appear in the root of the repository?

Thanks in advance

Build fails with the newtxtext package

The action seems to break if the document uses the newtxtext package. Everything seemed to work fine about 24h ago, not sure where the issue is.

.github/workflows/build.yml

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

main.tex

\documentclass{article}

\usepackage{newtxtext}

\begin{document}
Test
\end{document}

Logs

Click me

/usr/bin/docker run --name e5c3588963f8c69cd41758f9550ce7478b221_cc931a --label 1e5c35 --workdir /github/workspace --rm -e INPUT_ROOT_FILE -e INPUT_WORKING_DIRECTORY -e INPUT_COMPILER -e INPUT_ARGS -e INPUT_EXTRA_PACKAGES -e INPUT_EXTRA_SYSTEM_PACKAGES -e INPUT_PRE_COMPILE -e INPUT_POST_COMPILE -e INPUT_LATEXMK_SHELL_ESCAPE -e INPUT_LATEXMK_USE_LUALATEX -e INPUT_LATEXMK_USE_XELATEX -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_PATH -e GITHUB_ENV -e RUNNER_OS -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/latex-action-test/latex-action-test":"/github/workspace" 1e5c35:88963f8c69cd41758f9550ce7478b221  "main.tex" "" "latexmk" "-pdf -file-line-error -halt-on-error -interaction=nonstopmode" "" "" "" "" "" "" ""
Rc files read:
  ./.latexmkrc
Latexmk: This is Latexmk, John Collins, 29 September 2020, version: 4.70b.
Rule 'pdflatex': The following rules & subrules became out-of-date:
      'pdflatex'
------------
Run number 1 of rule 'pdflatex'
------------
------------
Running 'pdflatex -shell-escape  -file-line-error -halt-on-error -interaction=nonstopmode -recorder  "main.tex"'
------------

kpathsea: Running mktexfmt pdflatex.fmt
Compile main.tex
Latexmk: applying rule 'pdflatex'...
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex)
 \write18 enabled.
Warning: [WARNING]: resetting $HOME value (was /github/home) to root's actual home (/root).
mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence order):
mktexfmt:   /opt/texlive/texdir/texmf-dist/web2c/fmtutil.cnf
mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes:
mktexfmt:   /root/texlive/texmf-config/web2c/fmtutil.cnf
mktexfmt [INFO]: writing formats under /root/texlive/texmf-var/web2c
mktexfmt [INFO]: --- remaking pdflatex with pdftex
mktexfmt: running `pdftex -ini   -jobname=pdflatex -progname=pdflatex -translate-file=cp227.tcx *pdflatex.ini' ...
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (INITEX)
 restricted \write18 enabled.
 (/opt/texlive/texdir/texmf-dist/web2c/cp227.tcx)
entering extended mode
(/opt/texlive/texdir/texmf-dist/tex/latex/latexconfig/pdflatex.ini
(/opt/texlive/texdir/texmf-dist/tex/generic/tex-ini-files/pdftexconfig.tex)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/latex.ltx
(/opt/texlive/texdir/texmf-dist/tex/latex/base/texsys.cfg)
./texsys.aux found


\@currdir set to: ./.


Assuming \openin and \input 
have the same search path.


Defining UNIX/DOS style filename parser.

catcodes, registers, parameters,
LaTeX2e <2020-10-01> patch level 2
(/opt/texlive/texdir/texmf-dist/tex/latex/l3kernel/expl3.ltx
(/opt/texlive/texdir/texmf-dist/tex/latex/l3kernel/expl3-code.tex
(/opt/texlive/texdir/texmf-dist/tex/latex/l3kernel/l3deprecation.def)))
(/opt/texlive/texdir/texmf-dist/tex/latex/l3packages/xparse/xparse.ltx
(/opt/texlive/texdir/texmf-dist/tex/latex/l3packages/xparse/xparse-generic.tex)
) hacks, control, par, spacing, files, font encodings, lengths,
====================================

Local config file fonttext.cfg used

====================================
(/opt/texlive/texdir/texmf-dist/tex/latex/base/fonttext.cfg
(/opt/texlive/texdir/texmf-dist/tex/latex/base/fonttext.ltx
=== Don't modify this file, use a .cfg file instead ===

(/opt/texlive/texdir/texmf-dist/tex/latex/base/omlenc.def)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/omsenc.def)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/ot1enc.def)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/t1enc.def)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/ts1enc.def)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/ts1cmr.fd)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/t1cmr.fd)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/ot1cmr.fd)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/ot1cmss.fd)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/ot1cmtt.fd)))
====================================

Local config file fontmath.cfg used

====================================
(/opt/texlive/texdir/texmf-dist/tex/latex/base/fontmath.cfg
(/opt/texlive/texdir/texmf-dist/tex/latex/base/fontmath.ltx
=== Don't modify this file, use a .cfg file instead ===

(/opt/texlive/texdir/texmf-dist/tex/latex/base/omlcmm.fd)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/omscmsy.fd)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/omxcmex.fd)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/ucmr.fd)))
====================================

Local config file preload.cfg used

=====================================
(/opt/texlive/texdir/texmf-dist/tex/latex/base/preload.cfg
(/opt/texlive/texdir/texmf-dist/tex/latex/base/preload.ltx)) page nos., x-ref,
environments, center, verbatim, math definitions, boxes, title, sectioning,
contents, floats, footnotes, index, bibliography, output,
===========================================
Local configuration file hyphen.cfg used
===========================================
(/opt/texlive/texdir/texmf-dist/tex/generic/babel/hyphen.cfg
(/opt/texlive/texdir/texmf-dist/tex/generic/hyphen/hyphen.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyphen/dumyhyph.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyphen/zerohyph.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/dehyph-exptl/dehypht-x-2019-04-04.t
ex dehyph-exptl: using an 8-bit TeX engine.
(/opt/texlive/texdir/texmf-dist/tex/generic/dehyph-exptl/dehypht-x-2019-04-04.p
at
German Hyphenation Patterns (Traditional Orthography) `dehypht-x' 2019-04-04 (W
L)))
(/opt/texlive/texdir/texmf-dist/tex/generic/dehyph-exptl/dehyphn-x-2019-04-04.t
ex dehyph-exptl: using an 8-bit TeX engine.
(/opt/texlive/texdir/texmf-dist/tex/generic/dehyph-exptl/dehyphn-x-2019-04-04.p
at
German Hyphenation Patterns (Reformed Orthography, 2006) `dehyphn-x' 2019-04-04
 (WL)))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-af.tex
EC Afrikaans hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-af.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-grc.tex
Hyphenation patterns for Ancient Greek
(/opt/texlive/texdir/texmf-dist/tex/generic/hyphen/grahyph5.tex
Hyphenation patterns for Ancient Greek))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyphen/ibyhyph.tex
Greek hyphenation patterns for Ibycus encoding, v3.0)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyphen/zerohyph.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-hy.tex
No Armenian hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-eu.tex
EC Basque hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-eu.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-be.tex
T2A Belarusian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-t2a
.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-be.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-bg.tex
T2A Bulgarian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-t2a
.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-bg.tex
Bulgarian hyphenation patterns (options: --safe-morphology --standalone-tex, ve
rsion 21 October 2017)))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-ca.tex
EC Catalan hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-ca.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-zh-latn
-pinyin.tex EC Pinyin Hyphenation Patterns (with tone markers) 2018-11-25 (WL)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/ptex/hyph-zh-lat
n-pinyin.ec.tex))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-cu.tex
No Church Slavonic hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-cop.tex
Coptic hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex-8bit/copthyp
h.tex))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-hr.tex
EC Croatian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-hr.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-cs.tex
EC Czech hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-cs.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-da.tex
EC Danish hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-da.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-nl.tex
EC Dutch hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-nl.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-en-gb.t
ex ASCII Hyphenation patterns for British English
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-en-gb.t
ex))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-en-us.t
ex ASCII Hyphenation patterns for American English
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-en-us.t
ex))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-eo.tex
IL3 Esperanto hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-il3
.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-eo.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-et.tex
EC Estonian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-et.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-mul-eth
i.tex No Pan-Ethiopic hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyphen/zerohyph.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-fi.tex
EC Finnish hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-fi.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-fr.tex
EC French hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-fr.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-fur.tex
EC Friulan hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-fur.tex
))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-gl.tex
EC Galician hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-gl.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-ka.tex
T8M Georgian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-t8m
.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-ka.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-de-1901
.tex EC German hyphenation patterns (traditional orthography)
(/opt/texlive/texdir/texmf-dist/tex/generic/dehyph/dehypht.tex
German Traditional Hyphenation Patterns `dehypht' Version 3.2a <1999/03/03>
(Formerly known under the name `ghyph31' and `ghyphen'.)))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-de-1996
.tex EC German hyphenation patterns (reformed orthography)
(/opt/texlive/texdir/texmf-dist/tex/generic/dehyph/dehyphn.tex
New German Hyphenation Patterns `dehyphn' Rev.31 <2001-05-07> (WaS)))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-de-ch-1
901.tex EC Swiss-German hyphenation patterns (traditional orthography)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-de-ch-1
901.tex
Swiss-German Hyphenation Patterns (Traditional Orthography) `dehyphts-x' 2019-0
4-04 (WL)))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-el-poly
ton.tex Hyphenation patterns for multi-accent (polytonic) Modern Greek
(/opt/texlive/texdir/texmf-dist/tex/generic/hyphen/grphyph5.tex
Hyphenation patterns for multi-accent (polytonic) Modern Greek))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-el-mono
ton.tex Hyphenation patterns for uni-accent (monotonic) Modern Greek
(/opt/texlive/texdir/texmf-dist/tex/generic/hyphen/grmhyph5.tex
Hyphenation patterns for uni-accent (monotonic) Modern Greek))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-hu.tex
EC Hungarian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-hu.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-is.tex
EC Icelandic hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-is.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-as.tex
No Assamese hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-bn.tex
No Bengali hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-gu.tex
No Gujarati hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-hi.tex
No Hindi hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-kn.tex
No Kannada hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-ml.tex
No Malayalam hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-mr.tex
No Marathi hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-or.tex
No Oriya hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-pi.tex
No Pali hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-pa.tex
No Panjabi hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-ta.tex
No Tamil hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-te.tex
No Telugu hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-id.tex
ASCII Indonesian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-id.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-ia.tex
ASCII Hyphenation patterns for Interlingua
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-ia.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-ga.tex
EC Irish hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-ga.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-it.tex
ASCII Italian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-it.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-kmr.tex
EC Kurmanji hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-kmr.tex
))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-la-x-cl
assic.tex EC Classical Latin hyphenation patterns, v.2.0 2019-07-03
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex-8bit/hyph-la
-x-classic.ec.tex))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-la.tex
EC Latin hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-la.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-la-x-li
turgic.tex EC Liturgical Latin hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/ptex/hyph-la-x-l
iturgic.ec.tex))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-lv.tex
L7X Latvian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-l7x
.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-lv.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-lt.tex
L7X Lithuanian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-l7x
.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-lt.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-mk.tex
No Macedonian hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-mn-cyrl
.tex T2A (New) Mongolian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-t2a
.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-mn-cyrl
.tex))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-mn-cyrl
-x-lmc.tex LMC Mongolian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-lmc
.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-mn-cyrl
-x-lmc.tex))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-nb.tex
EC Norwegian Bokmal hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-nb.tex
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-no.tex)
))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-nn.tex
EC Norwegian Nynorsk hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-nn.tex
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-no.tex)
))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-oc.tex
EC Occitan hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-oc.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-pms.tex
ASCII Piedmontese hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-pms.tex
))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-pl.tex
QX Polish hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-qx.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-pl.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-pt.tex
EC Portuguese hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-pt.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-ro.tex
EC Romanian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-ro.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-rm.tex
ASCII Romansh hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-rm.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-ru.tex
T2A Russian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/ruhyphen/ruhyphen.tex
(/opt/texlive/texdir/texmf-dist/tex/generic/ruhyphen/catkoi.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/ruhyphen/koi2t2a.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/ruhyphen/ruhyphal.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/ruhyphen/cyryoal.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/ruhyphen/hypht2.tex)))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-sa.tex
No Sanskrit hyphenation patterns - only for Unicode engines)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-sr-latn
.tex EC Serbian hyphenation patterns in Latin script
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-sh-latn
.tex))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-sr-cyrl
.tex T2A Serbian hyphenation patterns in Cyrillic script
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-t2a
.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-sh-cyrl
.tex))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-sk.tex
EC Slovak hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-sk.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-sl.tex
EC Slovenian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-sl.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-es.tex
EC Spanish hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-es.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-sv.tex
EC Swedish hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-sv.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-th.tex
LTH Thai hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-lth
.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-th.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-tr.tex
EC Turkish hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-tr.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-tk.tex
EC Turkmen hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-tk.tex)
)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-uk.tex
T2A Ukrainian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/ukrhyph/ukrhyph.tex
Ukrainian hyphenation patterns in t2a encoding
(/opt/texlive/texdir/texmf-dist/tex/generic/ukrhyph/catlcy.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/ukrhyph/lcy2t2a.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/ukrhyph/ukrhypmp.tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/ruhyphen/hypht2.tex)))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-hsb.tex
EC Upper Sorbian hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-hsb.tex
))
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-cy.tex
EC Welsh hyphenation patterns
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.
tex)
(/opt/texlive/texdir/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-cy.tex)
)) (/opt/texlive/texdir/texmf-dist/tex/latex/base/utf8.def
(/opt/texlive/texdir/texmf-dist/tex/latex/base/omsenc.dfu)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/ot1enc.dfu)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/t1enc.dfu)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/ts1enc.dfu))
(/opt/texlive/texdir/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-extern
al-files.ltx)
 ) )
Beginning to dump on file pdflatex.fmt
 (preloaded format=pdflatex 2020.11.1)
20515 strings of total length 376057
264679 memory locations dumped; current usage is 165&263159
17116 multiletter control sequences
\font\nullfont=nullfont
\font\c__fp_exp_intarray=cmr10 at 0.00002pt
\font\c__fp_trig_intarray=cmr10 at 0.00003pt
\font\c_initex_cctab=cmr10 at 0.00005pt
\font\c_other_cctab=cmr10 at 0.00006pt
\font\c_str_cctab=cmr10 at 0.00008pt
\font\g__regex_charcode_intarray=cmr10 at 0.00009pt
\font\g__regex_catcode_intarray=cmr10 at 0.0001pt
\font\g__regex_balance_intarray=cmr10 at 0.00012pt
\font\g__regex_state_active_intarray=cmr10 at 0.00014pt
\font\g__regex_thread_state_intarray=cmr10 at 0.00015pt
\font\g__regex_submatch_prev_intarray=cmr10 at 0.00017pt
\font\g__regex_submatch_begin_intarray=cmr10 at 0.00018pt
\font\g__regex_submatch_end_intarray=cmr10 at 0.0002pt
\font\OMX/cmex/m/n/10=cmex10
\font\tenln=line10
\font\tenlnw=linew10
\font\tencirc=lcircle10
\font\tencircw=lcirclew10
\font\OT1/cmr/m/n/5=cmr5
\font\OT1/cmr/m/n/7=cmr7
\font\OT1/cmr/m/n/10=cmr10
\font\OML/cmm/m/it/5=cmmi5
\font\OML/cmm/m/it/7=cmmi7
\font\OML/cmm/m/it/10=cmmi10
\font\OMS/cmsy/m/n/5=cmsy5
\font\OMS/cmsy/m/n/7=cmsy7
\font\OMS/cmsy/m/n/10=cmsy10
\font\c_code_cctab=cmr10 at 0.00021pt
\font\c_document_cctab=cmr10 at 0.00023pt
535081 words of font info for 29 preloaded fonts
1141 hyphenation exceptions
Hyphenation trie of length 387445 has 8904 ops out of 35111
  143 for language 85
  110 for language 84
  138 for language 83
  7 for language 82
  12 for language 81
  53 for language 80
  127 for language 79
  195 for language 78
  71 for language 77
  248 for language 76
  62 for language 75
  66 for language 74
  119 for language 72
  43 for language 71
  58 for language 70
  7 for language 69
  194 for language 68
  37 for language 67
  23 for language 66
  852 for language 65
  852 for language 64
  21 for language 63
  38 for language 62
  77 for language 60
  58 for language 59
  206 for language 58
  25 for language 57
  216 for language 56
  27 for language 55
  37 for language 54
  229 for language 53
  38 for language 52
  21 for language 51
  147 for language 38
  185 for language 37
  18 for language 36
  50 for language 35
  460 for language 34
  235 for language 33
  207 for language 32
  39 for language 31
  76 for language 30
  40 for language 29
  89 for language 28
  31 for language 27
  113 for language 24
  145 for language 23
  377 for language 22
  224 for language 21
  265 for language 20
  60 for language 19
  63 for language 18
  19 for language 17
  14 for language 16
  3 for language 14
  21 for language 13
  54 for language 12
  36 for language 11
  5 for language 10
  148 for language 7
  97 for language 6
  137 for language 5
  475 for language 4
  478 for language 3
  2 for language 1
  181 for language 0
0 words of pdfTeX memory
0 indirect objects
No pages of output.
Transcript written on pdflatex.log.
mktexfmt [INFO]: log file copied to: /root/texlive/texmf-var/web2c/pdftex/pdflatex.log
mktexfmt [INFO]: /root/texlive/texmf-var/web2c/pdftex/pdflatex.fmt installed.
mktexfmt [INFO]: disabled formats: 5
mktexfmt [INFO]: successfully rebuilt formats: 1
mktexfmt [INFO]: not selected formats: 53
mktexfmt [INFO]: total formats: 59
mktexfmt [INFO]: exiting with status 0
entering extended mode
(./main.tex
LaTeX2e <2020-10-01> patch level 2
L3 programming layer <2020-10-27> xparse <2020-03-03>
(/opt/texlive/texdir/texmf-dist/tex/latex/base/article.cls
Document Class: article 2020/04/10 v1.4m Standard LaTeX document class
(/opt/texlive/texdir/texmf-dist/tex/latex/base/size10.clo))
(/opt/texlive/texdir/texmf-dist/tex/latex/newtx/newtxtext.sty
`newtxtext' v1.630, 2020/09/19 Text macros taking advantage of TeX-Gyre Termes 
fonts (msharpe) (/opt/texlive/texdir/texmf-dist/tex/latex/fontaxes/fontaxes.sty
) (/opt/texlive/texdir/texmf-dist/tex/latex/xkeyval/xkeyval.sty
(/opt/texlive/texdir/texmf-dist/tex/generic/xkeyval/xkeyval.tex
(/opt/texlive/texdir/texmf-dist/tex/generic/xkeyval/xkvutils.tex
(/opt/texlive/texdir/texmf-dist/tex/generic/xkeyval/keyval.tex))))
(/opt/texlive/texdir/texmf-dist/tex/latex/etoolbox/etoolbox.sty)
(/opt/texlive/texdir/texmf-dist/tex/generic/xstring/xstring.sty
(/opt/texlive/texdir/texmf-dist/tex/generic/xstring/xstring.tex))
(/opt/texlive/texdir/texmf-dist/tex/latex/base/ifthen.sty)
(/opt/texlive/texdir/texmf-dist/tex/latex/carlisle/scalefnt.sty)
(/opt/texlive/texdir/texmf-dist/tex/latex/base/fontenc.sty
(/opt/texlive/texdir/texmf-dist/tex/latex/newtx/t1ntxtlf.fd))
(/opt/texlive/texdir/texmf-dist/tex/latex/base/textcomp.sty))
(/opt/texlive/texdir/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def)
(./main.aux) [1

pdfTeX warning: pdflatex (file pdftex.map): cannot open font map file

kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 ntx-Regular-tlf-t1
gsftopk: fatal: map file `psfonts.map' not found.
mktexpk: don't know how to create bitmap font for ntx-Regular-tlf-t1.
mktexpk: perhaps ntx-Regular-tlf-t1 is missing from the map file.
kpathsea: Appending font creation commands to missfont.log.
] (./main.aux) )
!pdfTeX error: pdflatex (file ntx-Regular-tlf-t1): Font ntx-Regular-tlf-t1 at 6
00 not found
 ==> Fatal error occurred, no output PDF file produced!
Collected error summary (may duplicate other messages):
  pdflatex: Command for 'pdflatex' gave return code 1
      Refer to 'main.log' for details
Latexmk: Use the -f option to force complete processing,
 unless error was exceeding maximum runs, or warnings treated as errors.
Latexmk: Examining 'main.log'
=== TeX engine is 'pdfTeX'
Latexmk: Errors, so I did not complete making targets

Error: Container action is only supported on Linux

Hi,
I am currenly running a github action compiling a latex document on a self-hosted windows runner and getting the above error. Is this not supported on windows based runner?

the section related to latex in the action yaml file is below:

  • name: Compile latex document
    uses: xu-cheng/latex-action@v2
    with:
    root_file: main.tex
    latexmk_shell_escape: true
    latexmk_use_lualatex: true

TeX Live 2017 (legacy)

Is there an option to compile with TeX Live 2017?
I have several legacy document and the output with 2020 version is not perfect.

LaTeX file not found

What am I doing wrong here? The main document is under the folder paper but latexmk complains that it can't find it.

Here's a link to the error: https://github.com/dpo/paper-latex-action/runs/2635109552?check_suite_focus=true#step:6:29

It appears that the tex document is present: https://github.com/dpo/paper-latex-action/runs/2635109552?check_suite_focus=true#step:5:76

Here's the config: https://github.com/dpo/paper-latex-action/blob/main/.github/workflows/build-latex.yml

Thanks in advance!

Failed to install xindy on Alpine

This does not work in my workflows. I install texlive-full on ubuntu-latest reproduced this problem, then I install xindy package solved this. I don't know alpine has this package or not. If possible, install xindy package may can fix this problem.

All the code of my workflows as flows:

    build:
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v2
            - name: solve deps
              run: |
                  sudo apt-get update
                  sudo apt-get -y install python3-pip make make
                  sudo apt-get -y install texlive-full xindy
                  sudo pip install -r requirements.txt
            - name: build
              run: |
                  make latexpdf

Still need the `extra_packages`

Noticed the extra_packages argument was removed recently, but in my case even with full TexLive I still need to install one extra package: fduthesis. Would it be possible to add the extra_packages back?

Upgrade the import package

Hi,
Thanks for sharing this great action.
There is a bug with subfiles package together with import v6.0 that was solved on import v6.1 (see gsalzer/subfiles#6)
Can I add a parameter to upgrade this package?

Thanks,
Amir.

Compile last pushed file

I have to compile the some tex files, but there is not a fixed number of them and i have no guarantee that the last one that was pushed is a new file. Is there a way to identify the last pushed file and compile only that one?

Latexmk: Non-existent bbl file 'doc.bbl'

Trying to use a bibliography file, the action fails with the following error:

Latexmk: Non-existent bbl file 'doc.bbl'

What I tried was the following:

    - name: Github Action for LaTeX
      uses: xu-cheng/latex-action@v2
      with:
        # The root LaTeX file to be compiled
        root_file: doc.tex
        args: -bibtex

It would be much better if there was an example somewhere so that I did not have to guess...

If I run the container locally the following command generates the PDF file with the bibliography

latexmk -bibtex -f -pdf

My temporary workaround is to supply the bibliography inline, then it comes out. It did it in the following repo
https://github.com/montao/latex-bib-inline

It would be good if we could let users have instructive examples so that the next guy will not have to guess like I do.

Why does it finish in the container but not in the action pipeline? I even tried to add a configuration file to make it find the bib file but I had to guess the syntax because the documentation is (deliberately?) incomprehensible and it did not work anyway.

Is it some issue with the PATH in the pipeline? My repo https://github.com/montao/latex-bib-test

Emergency Stop

I've been having a bit of trouble with this extension. Namely, in response to the error below (failing to include a tex snippet), I tried various flags (both the defaults, and the suggested -f), with no luck.

I'm posting on the assumption that the flags are not going through to the compiler. But please close if that's not the case.

2019-11-20T18:33:10.5627228Z ! LaTeX Error: File `../figures/summarystats_part2.tex' not found.
2019-11-20T18:33:10.5627310Z 
2019-11-20T18:33:10.5627394Z Type X to quit or <RETURN> to proceed,
2019-11-20T18:33:10.5627508Z or enter new name. (Default extension: tex)
2019-11-20T18:33:10.5627576Z 
2019-11-20T18:33:10.5627659Z Enter file name: 
2019-11-20T18:33:10.5627766Z ./paper_drafts/perla_pflueger_szkup.tex:1089: Emergency stop.
2019-11-20T18:33:10.5627874Z <read *> 
2019-11-20T18:33:10.5627972Z          
2019-11-20T18:33:10.5628056Z l.1089 		\input{../figures/summarystats_part2.tex}
2019-11-20T18:33:10.5628169Z                                                   \label{tab:summarystats2}^^M
2019-11-20T18:33:10.5628294Z ./paper_drafts/perla_pflueger_szkup.tex:1089:  ==> Fatal error occurred, no out
2019-11-20T18:33:10.5628569Z put PDF file produced!

Add back support for small texlive

As mentioned in #13, can you add back support for the small texlive image using texliveonfly? Having fast build times is definitely important for some people.

I'm not completely sure how that would be best set up, because these would be two separate docker images and I am not sure if you can switch Docker image from a github actions parameter.
Other possibility would be publishing a separate x.y.z-small version, or publishing a separate github action entirely.
Neither of these sounds very easy to maintain to me, but maybe you have an idea.

What would help the build time even more, is if installed packages could be committed to the docker container and cached (cache policy), but I still need to try if this actually works.

Background: I want to point to your github action from https://github.com/PHPirates/travis-ci-latex-pdf and compare with other existing github actions for LaTeX.

How can I use 'pLaTeX2e'?

Hi,

Thank you for making great action!
I managed to compile simple tex file, but failed to compile .tex with multi-byte characters.

Reading README.md, I gave option "-xelatex -file-line-error -interaction=nonstopmode" to arg of the action, but got errors below:

Latexmk: applying rule 'xelatex'...
15
Running 'xelatex -no-pdf -file-line-error -interaction=nonstopmode -recorder  "paper/manuscript.tex"'
16
------------
17
This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019) (preloaded format=xelatex)
18
 restricted \write18 enabled.
19
entering extended mode
20
(./paper/manuscript.tex
21
LaTeX2e <2020-02-02> patch level 5
22
L3 programming layer <2020-02-25>
23
(/opt/texlive/texdir/texmf-dist/tex/platex/jsclasses/jsarticle.cls
24

25
/opt/texlive/texdir/texmf-dist/tex/platex/jsclasses/jsarticle.cls:26: LaTeX Err
26
or: This file needs format `pLaTeX2e'
27
               but this is `LaTeX2e'.

Would you advise me how can I run pLaTeX2e on Docker?

Thanks,

libpng: internal error

I've tried to compile my files but I've got a libpng error. On my local machine (Arch) everything works flawless. Is this error caused by Ubuntu's libpng version

 [Loading MPS to PDF converter (version 2006.09.02).]
 ) (/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
 libpng error: Not a PNG file
 (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
 !pdfTeX error: pdflatex (file ../Vorlage/hgi_nds_1.png): libpng: internal error
 
  ==> Fatal error occurred, no output PDF file produced!
 Collected error summary (may duplicate other messages):
 === TeX engine is 'pdfTeX'
   pdflatex: Command for 'pdflatex' gave return code 1
       Refer to 'auswertung_9.log' for details

And the error is not caused by the special picture, I already commented it out and all other pictures cause the error as well.

Possible confusion because empty options are not allowed

Small confusing thing: when you specify empty options like compiler: #optional like the current GitHub Actions template suggests, which is for 1.2.0

- name: Github Action for LaTeX
  uses: xu-cheng/[email protected]
  with:
    # The root LaTeX file to be compiled
    root_file: 
    # The working directory for the LaTeX engine
    working_directory: # optional
    # The LaTeX engine to be invoked
    compiler: # optional, default is latexmk
    # Extra arguments to be passed to the LaTeX engine
    args: # optional, default is -pdf -file-line-error -interaction=nonstopmode
    # [Deprecated] Install extra packages by tlmgr
    extra_packages: # optional
    # Install extra packages by apk
    extra_system_packages: # optional

Then it will fail (if people fill in just the root_file path) with /root/entrypoint.sh: line 28: : Permission denied.

So, I suggest to change the template to something like

- name: Github Action for LaTeX
  uses: xu-cheng/[email protected]
  with:
    # The root LaTeX file to be compiled
    root_file:
    # The working directory for the LaTeX engine
    #working_directory: # optional
    # The LaTeX engine to be invoked
    #compiler: # optional, default is latexmk
    # Extra arguments to be passed to the LaTeX engine
    #args: # optional, default is -pdf -file-line-error -interaction=nonstopmode
    # [Deprecated] Install extra packages by tlmgr
    #extra_packages: # optional
    # Install extra packages by apk
    #extra_system_packages: # optional

so people can simply copy paste the whole thing into their yml file and it should work.

Suddenly getting auto expansion error

Hi,

my workflow, which build my thesis is suddenly broken.
I did not touch the tex code for a couple of months.

Suddenly getting: ./thesis.tex:112: pdfTeX error (font expansion): auto expansion is only possible with scalable fonts.

Did you change anything? Do you have any idea?
Again, I did not touch the tex and it works for me locally.

Bibliography is not compiled

When I'm building LaTeX document with your action, I'm not getting the Bibliography section created.

action.yaml

name: Compile LaTeX paper
on: [push]
jobs:
  compile:
    runs-on: ubuntu-latest
    steps:
    - name: Git
      uses: actions/checkout@v1
    - name: LaTeX
      uses: xu-cheng/latex-action@master
      with:
        root_file: paper.tex
        compiler: lualatex
        working_directory: paper/
    - name: Artifact
      uses: actions/upload-artifact@master
      with:
        name: paper
        path: paper/paper.pdf

paper.bib

@techreport{rfc793,
  author = {J. Postel},
  title = {Transmission Control Protocol},
  howpublished = {Internet Requests for Comments},
  type = {RFC},
  number = 793,
  year = {1981},
  month = {September},
  publisher = {RFC Editor},
  doi = {10.17487/RFC0793}
}

paper.sty

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{paper}
\LoadClass[
    10pt,
    a4paper,
    twocolumn,
    twoside
]{article}
\RequirePackage{biblatex}

paper.tex

\documentclass{paper}
\bibliography{paper}
\begin{document}
\cite{rfc793}
\printbibliography
\end{document}

log

Run xu-cheng/latex-action@master
/usr/bin/docker run --name df7dcc3fb0490aa87451ca65cc3c410a29885_688896 --label 0df7dc --workdir /github/workspace --rm -e INPUT_ROOT_FILE -e INPUT_COMPILER -e INPUT_WORKING_DIRECTORY -e INPUT_ARGS -e INPUT_EXTRA_PACKAGES -e INPUT_EXTRA_SYSTEM_PACKAGES -e HOME -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e RUNNER_OS -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/lirpc/lirpc":"/github/workspace" 0df7dc:c3fb0490aa87451ca65cc3c410a29885  "paper.tex" "paper/" "lualatex" "-pdf -file-line-error -interaction=nonstopmode" "" ""
lualatex: unrecognized option '-pdf'
This is LuaTeX, Version 1.10.0 (TeX Live 2019) 

kpathsea: Running mktexfmt lualatex.fmt
mktexfmt [WARNING]: resetting $HOME value (was /github/home) to root's actual home (/root).
mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence order):
mktexfmt:   /opt/texlive/texdir/texmf-dist/web2c/fmtutil.cnf
mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes:
mktexfmt:   /root/texlive/texmf-config/web2c/fmtutil.cnf
mktexfmt [INFO]: writing formats under /root/texlive/texmf-var/web2c
mktexfmt [INFO]: --- remaking lualatex with luatex
mktexfmt: running `luatex -ini   -jobname=lualatex -progname=lualatex lualatex.ini' ...
This is LuaTeX, Version 1.10.0 (TeX Live 2019)  (INITEX)
 restricted system commands enabled.
(/opt/texlive/texdir/texmf-dist/tex/generic/tex-ini-files/lualatex.ini
(/opt/texlive/texdir/texmf-dist/tex/generic/tex-ini-files/luatexconfig.tex
(/opt/texlive/texdir/texmf-dist/tex/generic/tex-ini-files/pdftexconfig.tex))
(/opt/texlive/texdir/texmf-dist/tex/latex/base/latex.ltx
(/opt/texlive/texdir/texmf-dist/tex/latex/base/texsys.cfg)
./texsys.aux found


\@currdir set to: ./.

How to fix "Unknown message 'unsupported-engine'"?

我在尝试使用 latex-action 来编译基于 fduthesis 写的 document,碰到错误:

Unknown message 'unsupported-engine' for module 'fduthesis'.

image

可否帮忙排查是哪里的问题,应该怎么解决?

完整错误信息在这里:https://github.com/Jeff-Tian/thesis-paper/commit/88105929197a30dda4a18ccf46b5bc9e95e4c318/checks

配置在这里:

https://github.com/Jeff-Tian/thesis-paper/blob/master/.github/workflows/blank.yml

谢谢!

Set TEXINPUTS variable?

Hello,

Is it possible to set the variable TEXINPUTS used by latexmk ?
If yes, do you think it would be possible to provide an example?

Thanks.

Easiest way to have a link to download latest?

I am very excited to use the action, but I can't figure out a crucial component of the workflow...

My use case is that I always want to be able to get the latest pdfs from master from the latex builds, and easily link to them from the front README and for sending links to less technical coauthors. I don't care about versioning official releases, so what is most important is just a simple way to see the latest.

  • Lets say I follow a workflow similar to your https://github.com/xu-cheng/latex-action/blob/master/.github/workflows/test.yml

  • Looks great, and at the bottom I could do actions/upload-artifact@master

  • But now what? I know I, as a github action user, could click and download that asset, but that isn't a feasible way to link to the latest version of the document...

  • any ideas on the easiest way to set up a way to link to download the latest? Is there an easy way to push it to a release, for example, or to link to the latest artifacts from the latest github action job?

Working directory for compilation

Hi,

Before actually being able to build my latex file I need to change directory into a specific directory.
The full path results in errors, since pdflatex then doesn't find all required files and just the root.txt file

Basically:

      - name: Build thesis
        uses: xu-cheng/latex-action@master
        with:
          root_file: thesis.tex

Should build

      - name: Build thesis
        uses: xu-cheng/latex-action@master
        with:
          root_file: RealDirectory/thesis.tex

How can I cd into the required directory first and then run the building process from there? (It works locally).
The work-directory parameter doesn't seem to do what I need it to do.

Thank you very much.

access to github clone/push denied inside docker

I acknowledge it is not directly related to this action, but I appreciate your input:
I aimed to do clone->copy pdf->commit->push inside the action, after build completed, in order to update a pdf in my gh-pages repo without the need to download and push the artifact manually. It seems that github blocks access to repo with "Permission denied (publickey)", although I can confirm that I can clone/push with the same private key normally.
Any suggestions for this?
https://github.com/shahdloo/shahdloo.github.io/blob/master/.github/workflows/cv.yml
https://github.com/shahdloo/shahdloo.github.io/runs/911449174?check_suite_focus=true

Dock build fails: Client.Timeout exceeded while awaiting headers

Dear @xu-cheng,

Thanks for this awesome Action!

Sadly, I am here to report a bug, which I think is caused by a change in the Docker infrastructure somewhere, instead of in your package.

This is the relevant file of my GHA YAML file, which I copied from your example:

      - name: Compile LaTeX document
        uses: xu-cheng/latex-action@v2
        with:
          root_file: bbbq_header.tex

This is the relevant part of the error log:

Build container for action use: '/home/runner/work/_actions/xu-cheng/latex-action/v2/Dockerfile'.
  /usr/bin/docker build -t 8a33c1:cdb484616b234d9ea70eb395c570cb1e -f "/home/runner/work/_actions/xu-cheng/latex-action/v2/Dockerfile" "/home/runner/work/_actions/xu-cheng/latex-action/v2"
  Sending build context to Docker daemon  14.85kB
  
  Step 1/3 : FROM ghcr.io/xu-cheng/texlive-full:latest
  Head https://ghcr.io/v2/xu-cheng/texlive-full/manifests/latest: Get https://ghcr.io/token?scope=repository%3Axu-cheng%2Ftexlive-full%3Apull&service=ghcr.io: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
  Warning: Docker build failed with exit code 1, back off 9.426 seconds before retry.
  /usr/bin/docker build -t 8a33c1:cdb484616b234d9ea70eb395c570cb1e -f "/home/runner/work/_actions/xu-cheng/latex-action/v2/Dockerfile" "/home/runner/work/_actions/xu-cheng/latex-action/v2"
  Sending build context to Docker daemon  14.85kB
  
  Step 1/3 : FROM ghcr.io/xu-cheng/texlive-full:latest
  Head https://ghcr.io/v2/xu-cheng/texlive-full/manifests/latest: Get https://ghcr.io/token?scope=repository%3Axu-cheng%2Ftexlive-full%3Apull&service=ghcr.io: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
  Warning: Docker build failed with exit code 1, back off 5.489 seconds before retry.
  /usr/bin/docker build -t 8a33c1:cdb484616b234d9ea70eb395c570cb1e -f "/home/runner/work/_actions/xu-cheng/latex-action/v2/Dockerfile" "/home/runner/work/_actions/xu-cheng/latex-action/v2"
  Sending build context to Docker daemon  14.85kB
  
  Step 1/3 : FROM ghcr.io/xu-cheng/texlive-full:latest
  Head https://ghcr.io/v2/xu-cheng/texlive-full/manifests/latest: Get https://ghcr.io/token?scope=repository%3Axu-cheng%2Ftexlive-full%3Apull&service=ghcr.io: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
Error: Docker build failed with exit code 1

Maybe this is resolved tomorrow, I don't know, I just thought it would be a good idea to report just in case :-)

Thanks and cheers, Richel Bilderbeek

Rule 'pdflatex' became out-of-date

 Compile LaTeX document1s
Document Class: article 2019/10/25 v1.4k Standard LaTeX document class
Run xu-cheng/latex-action@master
/usr/bin/docker run --name dfb25996163df4d475b9b6eab7e12fa6dee_8d8874 --label 488dfb --workdir /github/workspace --rm -e INPUT_ROOT_FILE -e INPUT_WORKING_DIRECTORY -e INPUT_COMPILER -e INPUT_ARGS -e INPUT_EXTRA_PACKAGES -e INPUT_EXTRA_SYSTEM_PACKAGES -e HOME -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e RUNNER_OS -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/kakuro/kakuro":"/github/workspace" 488dfb:25996163df4d475b9b6eab7e12fa6dee  "documents/iteration1/main.tex" "" "latexmk" "-pdf -file-line-error -interaction=nonstopmode" "" ""
Latexmk: This is Latexmk, John Collins, 26 Dec. 2019, version: 4.67.
Rule 'pdflatex': The following rules & subrules became out-of-date:
Latexmk: applying rule 'pdflatex'...
      'pdflatex'
------------
Run number 1 of rule 'pdflatex'
------------
------------
Running 'pdflatex  -file-line-error -interaction=nonstopmode -recorder  "documents/iteration1/main.tex"'
------------
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(./documents/iteration1/main.tex
LaTeX2e <2019-10-01> patch level 3
(/opt/texlive/texdir/texmf-dist/tex/latex/base/article.cls
Document Class: article 2019/10/25 v1.4k Standard LaTeX document class

Biber support in Github Action

Hi
Thanks for your work so far!
It would be nice to support to run latex build with the '-biber' argument. Is this possible to implement in the near future?

tikz-uml.sty and pgfopts.sty are missing

I am using this action for compiling my thesis and being a Computer Science student, I have to present some UML diagrams. For such tasks, I have always resorted to the tikz-uml package, but I can not seem to get it working with this action. Is there any way I can install the files listed below, and have my LaTeX compilation working again?

  • tikz-uml.sty
  • pgfopts.sty

Cannot compile pdflatex

Hi, I was trying to use this action for compiling LaTeX and it failed with the following error:

/opt/texlive/texdir/texmf-dist/tex/latex/biblatex/biblatex.sty:2175: Text line 
contains an invalid character.
l.2175      \bgroup\nohyphenation#1\egroup^^^
                                             ^200b}}
/opt/texlive/texdir/texmf-dist/tex/latex/biblatex/biblatex.sty:2175:  ==> Fatal
 error occurred, no output PDF file produced!
Transcript written on sample.log.
Collected error summary (may duplicate other messages):
Latexmk: Examining 'sample.log'
  pdflatex: Command for 'pdflatex' gave return code 1
=== TeX engine is 'pdfTeX'

Here is the full log and here is my file for the action:

- name: Github Action for LaTeX
        # You may pin to the exact commit or the version.
        # uses: xu-cheng/latex-action@dacf2cfbdd5fd768c2298cbdc9e105bd9ed7f293
        uses: xu-cheng/latex-action@v2
        with:
          root_file: sample.tex
          post_compile: |
            git add sample.pdf
            git commit -m "Generate PDF file"
            git push

I'm confused by the error message saying "Text line contains an invalid character" and pointing to a library file. I'm not sure if this is on bibtex side or on my side.

resulting PDF

How do you get access to the compiled PDF after using this action?

PDF not found in same directory as LaTeX source

Hello,

I'm having problems with the LaTeX action in my private repository.
Every time I run this action, eveything seems to go fine. The log files say that the PDF is compiled, using the same name as the source file but with a .pdf extension instead of a .tex extension, like you would expect. Yet the PDF file is simply not in my repo. What could be the problem?

Thanks in advance,

Dennis

Compile multiple LaTeX projects

Is there a way to compile multiple LaTeX projects?

Let me explain with an example.

I have a repo like this:

  • Folder1/
    • Project1/
      • main.tex
      • res/
        • resource.tex
    • Project2/
      • main.tex
      • res/
        • resource.tex
  • README.md
  • .gitignore

Is there a way to tell the action to search into Folder1 (like the declaration of the working folder) and compile each main.tex of each project?
Obviously the main file will have always the same name, in this case main.tex.

Action hangs indefinitely

Hey there!
I wanted to use this action for a project. I think i did set up it correctly, since it works with a couple other projects.
This time though, it hangs indefinitely at "compile LaTeX document".
Would you be able to help?

I've made a minimum (non-)working example at:
https://github.com/5N44P/MWE_LATEX_ACTION

building time

Is there any way to speed this up? Build xu-cheng/latex-action@master 1m 36s

[Feature Request] Custom commands before compilation

Would it be possible to add an option to run custom commands before the LaTeX compilation?

I would like to do some light pre-processing/post-processing to better prepare my papers for submission to arXiv/journals.

Fetching the action is very slow

Hello,

I have the simple workflow :

  • build latex document
  • push it by ssh to a server
  • slack me the new link

It runs in 3mn30, including 2mn30 just to build the latex-action image !

image

I have no idea how to make that faster, but it feels like it should be a tiny bit faster, given that the other actions build in less that 15s...

Thank you for your action !!

Allow skipping of root_file for Makefile instead

Hi. With the addition of release v1.3.0 you've very nicely added pre_compile and post_compile options — which are great! This immediately made me want to use Makefiles with pre_compile by using a pattern of

- name: Compile LaTeX document
  uses: xu-cheng/[email protected]
  with: 
    extra_system_packages: "make"
    pre_compile: "make"
    root_file: file_name.tex # root_file is required by latex-action
    post_compile: "ls -lhtra"

where root_file is either the same document that would be build by make or is a dummy file — this works! With this pattern it would be a lot nicer to be able to either skip root_file with something like

- name: Compile LaTeX document skipping root_file
  uses: xu-cheng/[email protected]
  with: 
    extra_system_packages: "make"
    pre_compile: "make"
    root_file: null

or to allow for there to be an option to use a Makefile if make has been installed through extra_system_packages instead of root_file

- name: Compile LaTeX document with a Makefile
  uses: xu-cheng/[email protected]
  with: 
    extra_system_packages: "make"
    makefile_target: "default"
    post_compile: "ls -lhtra"

The added bonus of this option is that most people end up writing Makefiles for their LaTeX project, so this would allow them to test their whole system more directly.

What do you think of this idea? I didn't see anyone else mention Makefiles in the Issues, so I hope I didn't miss a discussion that already occurred on this.

Also, thank you so much for creating this GitHub Action! It is so helpful and has already been of great use in a few projects!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.