{"id":46537628,"url":"https://github.com/lvjr/texfindpkg","last_synced_at":"2026-03-07T00:11:40.736Z","repository":{"id":104436328,"uuid":"607923432","full_name":"lvjr/texfindpkg","owner":"lvjr","description":"Query or install TeX packages and their dependencies","archived":false,"fork":false,"pushed_at":"2025-02-02T07:56:15.000Z","size":2634,"stargazers_count":7,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-02-24T20:52:03.870Z","etag":null,"topics":["latex","miktex","tex","texlive"],"latest_commit_sha":null,"homepage":"https://ctan.org/pkg/texfindpkg","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lvjr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-03-01T00:16:56.000Z","updated_at":"2026-01-28T09:27:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"a193df20-c8a2-4bec-a7b1-8be1d5996285","html_url":"https://github.com/lvjr/texfindpkg","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/lvjr/texfindpkg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvjr%2Ftexfindpkg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvjr%2Ftexfindpkg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvjr%2Ftexfindpkg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvjr%2Ftexfindpkg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lvjr","download_url":"https://codeload.github.com/lvjr/texfindpkg/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvjr%2Ftexfindpkg/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30204114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T19:07:06.838Z","status":"ssl_error","status_checked_at":"2026-03-06T18:57:34.882Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","miktex","tex","texlive"],"created_at":"2026-03-07T00:11:39.079Z","updated_at":"2026-03-07T00:11:40.721Z","avatar_url":"https://github.com/lvjr.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TeXFindPkg tool for querying or installing TeX packages\n\n```\nDescription: Query or Install TeX packages and their dependencies\nCopyright: 2023-2024 (c) Jianrui Lyu \u003ctolvjr@163.com\u003e\nRepository: https://github.com/lvjr/texfindpkg\nLicense: GNU General Public License v3.0\n```\n\n## 1\\. Introduction\n\nTeXFindPkg makes it easy to query or install TeX packages and their dependencies by file names, command names or environment names.\nIt supports both TeXLive and MiKTeX distributions. At present it focuses mainly on LaTeX packages,\nbut may extend to ConTeXt packages if anyone would like to contribute.\n\n## 2\\. Installation\n\nNormally your TeX distribution will copy TeXFindPkg files and create a binary file `texfindpkg` when you install this package.\nIf a manual installation is needed, you could copy TeXFindPkg files to TEXMF tree as follows:\n\n| Package file       | Where to install it |\n| :------            | :------ |\n| texfindpkg.1       | TEXMF/doc/man/man1/texfindpkg.1 |\n| README.md          | TEXMF/doc/support/texfindpkg/README.md |\n| texfindpkg.lua     | TEXMF/scripts/texfindpkg/texfindpkg.lua |\n| texfindpkg.json.gz | TEXMF/tex/latex/texfindpkg/texfindpkg.json.gz |\n| tfpbuild.lua       | TEXMF/source/texfindpkg/tfpbuild.lua |\n\nThen you could create a symbolic link from `/usr/local/bin/texfindpkg` to `path/to/texfindpkg.lua` on Linux or MacOS,\nor create a batch file `texfindpkg.bat` in binary folder of the TeX distribution with these lines on Windows:\n\n```\n@echo off\ntexlua path\\to\\texfindpkg.lua %*\n```\n\n## 3\\. Usage\n\nAfter installing TeXFindPkg, you can run it by executing\n\n```\ntexfindpkg \u003caction\u003e [\u003coption\u003e] [\u003cname\u003e]\n```\n\nThe `\u003caction\u003e` could be `query`, `install`, `help` or `version`.\nThe leading dashes in any `\u003caction\u003e` will be removed first.\n\nFor `query` action, you pass `-c`, `-e`, `-f` or `-p` as `\u003coption\u003e`\nto indicate the following `\u003cname\u003e` is a command name, environment name, file name or package name.\nFor example (for `-f` option, you can omit file extension in the name if it is `.sty`),\n- `texfindpkg query -c fakeverb` means querying package with command `\\fakeverb`;\n- `texfindpkg query -e frame` means querying package with environment `{frame}`;\n- `texfindpkg query -f array.sty` means querying package with file `array.sty`;\n- `texfindpkg query -p caption` means querying LaTeX packages in TeXLive/MiKTeX package `caption`.\n\nYou can query a lot of names in one go. For example,\n```\ntexfindpkg query -c fakeverb -e verbatim tblr -f array longtable -p caption\n```\n\nWhen you have a lot of names to query, you may want to list them in a file and use `-i` option to insert them.\nFor example, if you have a file `input.txt` of lines (comments starting with `#` characters are ignored in it)\n```\n-c\nfakeverb\n-e\nverbatim\ntblr\n-f\narray\nlongtable\n-p\ncaption\n```\nthen the following command produces the same result as the previous one does:\n```\ntexfindpkg query -i input.txt\n```\n\nFurthermore you can save total dependent list of packages to a file with `-o` option:\n```\ntexfindpkg query -i input.txt -o output.txt\n```\n\nWith `-i` and `-o` options, it is quite easy to install a minimal TeXLive distribution with all dependencies resolved,\nwhich is useful for you to run regression tests with GitHub Actions if you are a package writer.\nPlease see `latex-package.txt` and `texlive-package.txt` in [tabularray](https://github.com/lvjr/tabularray/tree/main/.github/workflows) repository for a practical example.\n\nThe only difference between `query` and `install` actions is that\nwith `install` action TeXFindPkg will install missing TeXLive or MiKTeX packages at the end.\n\nWith `help` action, TeXFindPkg prints help message and exit.\nWith `version` action, TeXFindPkg prints version information and exit.\n\n## 4\\. Building\n\nTeXFindPkg uses completion files of TeXstudio editor which are in `completion` folder of TeXstudio [repository](https://github.com/texstudio-org/texstudio).\n\nAfter putting `completion` folder into current folder, you can execute `texlua tfpbuild.lua generate` to generate `texfindpkg.json` and `texfindpkg.json.gz` files.\n\n## 5\\. Contributing\n\nAny updates of dependencies, commands or environments for packages should be contributed directly to TeXstudio project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flvjr%2Ftexfindpkg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flvjr%2Ftexfindpkg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flvjr%2Ftexfindpkg/lists"}