Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ustctug/texrocks

Repository files navigation

TeXRocks

readthedocs pre-commit.ci status github/workflow

github/downloads github/downloads/latest github/issues github/issues-closed github/issues-pr github/issues-pr-closed github/discussions github/milestones github/forks github/stars github/watchers github/contributors github/commit-activity github/last-commit github/release-date

github/license github/languages github/languages/top github/directory-file-count github/code-size github/repo-size github/v

luarocks

A minimal (La)TeX distribution powered by lux/luarocks and luaTeX.

Tutorial

  1. Create a project
# answer some questions of lx
lx new my-thesis
cd my-thesis

A lux.toml will be created:

package = "my-thesis"
version = "0.1.0"
lua = "==5.3"
[description]
summary = "My thesis"
maintainer = "A TeX user"
labels = ["thesis"]
license = "GPL-3.0"
  1. Add some dependencies
# LaTeX support
lx add -b lualatex
# \usepackage{hyperref}
lx add -b hyperref
# \usepackage{graphicx}
lx add -b graphics-cfg
# \usepackage{tikz}
lx add -b pgf
# lua-open main.pdf
lx add -t lua-open
# lx add -b more packages ...

lux.toml:

# ...
[build_dependencies]
lualatex = "X.Y.Z-1"
hyperref = "X.Y.Z-1"
graphics-cfg = "X.Y.Z-1"
pgf = "X.Y.Z-1"
[test_dependencies]
lua-open = "X.Y.Z-1"
  1. Edit your document
$EDITOR main.tex
  1. Tell lx how to build, install and open your document

lux.toml:

# ...
[build]
type = "command"
build_command = "lualatex --interaction=nonstopmode main.tex"
[build.install.conf]
'../doc/main.pdf' = 'main.pdf'
[test]
type = "command"
command = "lua-open"
flags = ["main.pdf"]
  1. Build and view your document
lx build
lx test

This is your project structure:

$ tree -a
 .
├──  .lux # like node_modules/ or .venv/ :)
│ ├──  .gitignore
│ └──  5.3 # pdf's dependencies are build dependencies not runtime
│ ├──  bin
│ ├──  build_dependencies
│ │ ├──  .gitignore
│ │ └──  5.3
│ │ ├──  bin
│ │ │ ├──  lualatex # LaTeX compiler
│ │ │ └──  texlua # Lua interpreter
│ │ ├──  1a043a1a092206fb664a8dd394bdf99e526af762fe7282c6ccf49bc0ec23521e-latex-base@2024年11月01日-2
│ │ │ ├──  etc
│ │ │ │ ├──  conf
│ │ │ │ ├──  doc
│ │ │ │ │ └──  latex
│ │ │ │ │ └──  base
│ │ │ │ │ ├── ...
│ │ │ │ │ ├──  usrguide.pdf # RTFM
│ │ │ │ │ └── ...
│ │ │ │ └──  tex
│ │ │ │ └──  latex
│ │ │ │ └──  base
│ │ │ │ ├── ...
│ │ │ │ ├──  article.cls # \documentclass{article}
│ │ │ │ └── ...
│ │ │ ├──  lib
│ │ │ ├──  package.rockspec
│ │ │ └──  src
│ │ │ └──  ltluatex.lua
│ │ ├──  6fcffa0eeadc4a75dc246d6869dcfe79594d6e0114ece5b260b9216a3d40cdfb-amsfonts@3.04-1
│ │ │ ├──  etc
│ │ │ │ ├──  conf
│ │ │ │ ├──  doc
│ │ │ │ │ └──  fonts
│ │ │ │ │ └──  amsfonts
│ │ │ │ │ ├── ...
│ │ │ │ │ └── 󰂺 README
│ │ │ │ ├──  fonts
│ │ │ │ │ ├──  afm
│ │ │ │ │ │ └──  public
│ │ │ │ │ │ └──  amsfonts
│ │ │ │ │ │ ├──  cm # computer modern fonts
│ │ │ │ │ │ │ └── ...
│ │ │ │ │ │ ├── ...
│ │ │ │ │ │ └──  symbols # math symbol fonts
│ │ │ │ │ │ └── ...
│ │ │ │ │ └── ... # more font types
│ │ │ │ └──  tex
│ │ │ │ ├──  latex
│ │ │ │ │ └──  amsfonts
│ │ │ │ │ ├──  amsfonts.sty # \usepackage{amsfonts}
│ │ │ │ │ └── ...
│ │ │ │ └──  plain
│ │ │ │ └──  amsfonts
│ │ │ │ ├──  amssym.def
│ │ │ │ ├──  amssym.tex # \input{amssym}
│ │ │ │ └──  cyracc.def
│ │ │ ├──  lib
│ │ │ ├──  package.rockspec
│ │ │ └──  src
│ │ ├── ... # more TeX packages
│ │ └──  lux.lock
│ ├──  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-my-thesis@0.1.0-1
│ │ ├──  etc
│ │ │ ├──  conf
│ │ │ └──  doc
│ │ │ └──  main.pdf
│ │ ├──  lib
│ │ └──  src
│ ├──  lux.lock
│ └──  test_dependencies
│ ├──  .gitignore
│ └──  5.3
│ ├──  ...
│ └──  bin
│ ├──  lua-open
│ └──  texlua
├──  lux.lock # like package-lock.json or requirements.txt
├──  lux.toml # like package.json or pyproject.toml
└──  main.tex

See documents to know more.

About

A minimal (La)TeX distribution powered by lux/luarocks and luaTeX.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

Languages

AltStyle によって変換されたページ (->オリジナル) /