{"id":25702958,"url":"https://github.com/ustctug/texrocks","last_synced_at":"2025-11-29T19:06:06.275Z","repository":{"id":275394736,"uuid":"925954524","full_name":"ustctug/texrocks","owner":"ustctug","description":"A (La)TeX package manager powered by luarocks and luaTeX.","archived":false,"fork":false,"pushed_at":"2025-02-24T06:29:49.000Z","size":103,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-24T07:24:34.060Z","etag":null,"topics":["latex","lualatex","luatex","tex","texinfo"],"latest_commit_sha":null,"homepage":"https://luarocks.org/m/texmf","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ustctug.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-02T06:50:00.000Z","updated_at":"2025-02-24T06:29:52.000Z","dependencies_parsed_at":"2025-02-09T08:26:44.105Z","dependency_job_id":null,"html_url":"https://github.com/ustctug/texrocks","commit_stats":null,"previous_names":["freed-wu/texrocks"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ustctug%2Ftexrocks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ustctug%2Ftexrocks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ustctug%2Ftexrocks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ustctug%2Ftexrocks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ustctug","download_url":"https://codeload.github.com/ustctug/texrocks/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240605834,"owners_count":19827983,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["latex","lualatex","luatex","tex","texinfo"],"created_at":"2025-02-25T05:02:47.724Z","updated_at":"2025-11-29T19:06:06.270Z","avatar_url":"https://github.com/ustctug.png","language":"Lua","funding_links":[],"categories":["Lua"],"sub_categories":[],"readme":"# TeXRocks\n\n[![readthedocs](https://shields.io/readthedocs/texrocks)](https://texrocks.readthedocs.io)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/ustctug/texrocks/main.svg)](https://results.pre-commit.ci/latest/github/ustctug/texrocks/main)\n[![github/workflow](https://github.com/ustctug/texrocks/actions/workflows/main.yml/badge.svg)](https://github.com/ustctug/texrocks/actions)\n\n[![github/downloads](https://shields.io/github/downloads/ustctug/texrocks/total)](https://github.com/ustctug/texrocks/releases)\n[![github/downloads/latest](https://shields.io/github/downloads/ustctug/texrocks/latest/total)](https://github.com/ustctug/texrocks/releases/latest)\n[![github/issues](https://shields.io/github/issues/ustctug/texrocks)](https://github.com/ustctug/texrocks/issues)\n[![github/issues-closed](https://shields.io/github/issues-closed/ustctug/texrocks)](https://github.com/ustctug/texrocks/issues?q=is%3Aissue+is%3Aclosed)\n[![github/issues-pr](https://shields.io/github/issues-pr/ustctug/texrocks)](https://github.com/ustctug/texrocks/pulls)\n[![github/issues-pr-closed](https://shields.io/github/issues-pr-closed/ustctug/texrocks)](https://github.com/ustctug/texrocks/pulls?q=is%3Apr+is%3Aclosed)\n[![github/discussions](https://shields.io/github/discussions/ustctug/texrocks)](https://github.com/ustctug/texrocks/discussions)\n[![github/milestones](https://shields.io/github/milestones/all/ustctug/texrocks)](https://github.com/ustctug/texrocks/milestones)\n[![github/forks](https://shields.io/github/forks/ustctug/texrocks)](https://github.com/ustctug/texrocks/network/members)\n[![github/stars](https://shields.io/github/stars/ustctug/texrocks)](https://github.com/ustctug/texrocks/stargazers)\n[![github/watchers](https://shields.io/github/watchers/ustctug/texrocks)](https://github.com/ustctug/texrocks/watchers)\n[![github/contributors](https://shields.io/github/contributors/ustctug/texrocks)](https://github.com/ustctug/texrocks/graphs/contributors)\n[![github/commit-activity](https://shields.io/github/commit-activity/w/ustctug/texrocks)](https://github.com/ustctug/texrocks/graphs/commit-activity)\n[![github/last-commit](https://shields.io/github/last-commit/ustctug/texrocks)](https://github.com/ustctug/texrocks/commits)\n[![github/release-date](https://shields.io/github/release-date/ustctug/texrocks)](https://github.com/ustctug/texrocks/releases/latest)\n\n[![github/license](https://shields.io/github/license/ustctug/texrocks)](https://github.com/ustctug/texrocks/blob/main/LICENSE)\n[![github/languages](https://shields.io/github/languages/count/ustctug/texrocks)](https://github.com/ustctug/texrocks)\n[![github/languages/top](https://shields.io/github/languages/top/ustctug/texrocks)](https://github.com/ustctug/texrocks)\n[![github/directory-file-count](https://shields.io/github/directory-file-count/ustctug/texrocks)](https://github.com/ustctug/texrocks)\n[![github/code-size](https://shields.io/github/languages/code-size/ustctug/texrocks)](https://github.com/ustctug/texrocks)\n[![github/repo-size](https://shields.io/github/repo-size/ustctug/texrocks)](https://github.com/ustctug/texrocks)\n[![github/v](https://shields.io/github/v/release/ustctug/texrocks)](https://github.com/ustctug/texrocks)\n\n[![luarocks](https://img.shields.io/luarocks/v/Freed-Wu/texrocks)](https://luarocks.org/modules/Freed-Wu/texrocks)\n\nA minimal (La)TeX distribution powered by lux/luarocks and luaTeX.\n\n## Tutorial\n\n\u003c!-- markdownlint-disable MD029 --\u003e\n\n1. Create a project\n\n```sh\n# answer some questions of lx\nlx new my-thesis\ncd my-thesis\n\n```\n\nA `lux.toml` will be created:\n\n```toml\npackage = \"my-thesis\"\nversion = \"0.1.0\"\nlua = \"==5.3\"\n\n[description]\nsummary = \"My thesis\"\nmaintainer = \"A TeX user\"\nlabels = [\"thesis\"]\nlicense = \"GPL-3.0\"\n```\n\n2. Add some dependencies\n\n```sh\n# LaTeX support\nlx add -b lualatex\n# \\usepackage{hyperref}\nlx add -b hyperref\n# \\usepackage{graphicx}\nlx add -b graphics-cfg\n# \\usepackage{tikz}\nlx add -b pgf\n# lua-open main.pdf\nlx add -t lua-open\n# lx add -b more packages ...\n```\n\n`lux.toml`:\n\n```toml\n# ...\n[build_dependencies]\nlualatex = \"X.Y.Z-1\"\nhyperref = \"X.Y.Z-1\"\ngraphics-cfg = \"X.Y.Z-1\"\npgf = \"X.Y.Z-1\"\n\n[test_dependencies]\nlua-open = \"X.Y.Z-1\"\n```\n\n3. Edit your document\n\n```sh\n$EDITOR main.tex\n```\n\n4. Tell `lx` how to build, install and open your document\n\n`lux.toml`:\n\n```toml\n# ...\n[build]\ntype = \"command\"\nbuild_command = \"lualatex --interaction=nonstopmode main.tex\"\n\n[build.install.conf]\n'../doc/main.pdf' = 'main.pdf'\n\n[test]\ntype = \"command\"\ncommand = \"lua-open\"\nflags = [\"main.pdf\"]\n```\n\n5. Build and view your document\n\n```sh\nlx build\nlx test\n```\n\nThis is your project structure:\n\n```sh\n$ tree -a\n .\n├──  .lux  # like node_modules/ or .venv/ :)\n│   ├──  .gitignore\n│   └──  5.3  # pdf's dependencies are build dependencies not runtime\n│       ├──  bin\n│       ├──  build_dependencies\n│       │   ├──  .gitignore\n│       │   └──  5.3\n│       │       ├──  bin\n│       │       │   ├──  lualatex  # LaTeX compiler\n│       │       │   └──  texlua  # Lua interpreter\n│       │       ├──  1a043a1a092206fb664a8dd394bdf99e526af762fe7282c6ccf49bc0ec23521e-latex-base@2024.11.01-2\n│       │       │   ├──  etc\n│       │       │   │   ├──  conf\n│       │       │   │   ├──  doc\n│       │       │   │   │   └──  latex\n│       │       │   │   │       └──  base\n│       │       │   │   │           ├── ...\n│       │       │   │   │           ├──  usrguide.pdf  # RTFM\n│       │       │   │   │           └── ...\n│       │       │   │   └──  tex\n│       │       │   │       └──  latex\n│       │       │   │           └──  base\n│       │       │   │               ├── ...\n│       │       │   │               ├──  article.cls  # \\documentclass{article}\n│       │       │   │               └── ...\n│       │       │   ├──  lib\n│       │       │   ├──  package.rockspec\n│       │       │   └──  src\n│       │       │       └──  ltluatex.lua\n│       │       ├──  6fcffa0eeadc4a75dc246d6869dcfe79594d6e0114ece5b260b9216a3d40cdfb-amsfonts@3.04-1\n│       │       │   ├──  etc\n│       │       │   │   ├──  conf\n│       │       │   │   ├──  doc\n│       │       │   │   │   └──  fonts\n│       │       │   │   │       └──  amsfonts\n│       │       │   │   │           ├── ...\n│       │       │   │   │           └── 󰂺 README\n│       │       │   │   ├──  fonts\n│       │       │   │   │   ├──  afm\n│       │       │   │   │   │   └──  public\n│       │       │   │   │   │       └──  amsfonts\n│       │       │   │   │   │           ├──  cm  # computer modern fonts\n│       │       │   │   │   │           │   └── ...\n│       │       │   │   │   │           ├── ...\n│       │       │   │   │   │           └──  symbols  # math symbol fonts\n│       │       │   │   │   │               └── ...\n│       │       │   │   │   └── ...  # more font types\n│       │       │   │   └──  tex\n│       │       │   │       ├──  latex\n│       │       │   │       │   └──  amsfonts\n│       │       │   │       │       ├──  amsfonts.sty  # \\usepackage{amsfonts}\n│       │       │   │       │       └── ...\n│       │       │   │       └──  plain\n│       │       │   │           └──  amsfonts\n│       │       │   │               ├──  amssym.def\n│       │       │   │               ├──  amssym.tex  # \\input{amssym}\n│       │       │   │               └──  cyracc.def\n│       │       │   ├──  lib\n│       │       │   ├──  package.rockspec\n│       │       │   └──  src\n│       │       ├── ... # more TeX packages\n│       │       └──  lux.lock\n│       ├──  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-my-thesis@0.1.0-1\n│       │   ├──  etc\n│       │   │   ├──  conf\n│       │   │   └──  doc\n│       │   │       └──  main.pdf\n│       │   ├──  lib\n│       │   └──  src\n│       ├──  lux.lock\n│       └──  test_dependencies\n│           ├──  .gitignore\n│           └──  5.3\n│               ├──  ...\n│               └──  bin\n│                   ├──  lua-open\n│                   └──  texlua\n├──  lux.lock  # like package-lock.json or requirements.txt\n├──  lux.toml  # like package.json or pyproject.toml\n└──  main.tex\n```\n\nSee [documents](https://texrocks.readthedocs.io/) to know more.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fustctug%2Ftexrocks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fustctug%2Ftexrocks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fustctug%2Ftexrocks/lists"}