{"id":15621649,"url":"https://github.com/jeertmans/untex","last_synced_at":"2025-04-14T19:12:41.805Z","repository":{"id":42027127,"uuid":"477748449","full_name":"jeertmans/untex","owner":"jeertmans","description":"Understand and manipulate TeX files with ease","archived":false,"fork":false,"pushed_at":"2023-12-25T19:09:08.000Z","size":187,"stargazers_count":27,"open_issues_count":13,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-05-02T03:42:22.971Z","etag":null,"topics":["formatter","latex","parsing","rust","tex"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jeertmans.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","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},"funding":{"github":["jeertmans"]}},"created_at":"2022-04-04T14:55:29.000Z","updated_at":"2024-06-10T17:34:11.308Z","dependencies_parsed_at":"2024-06-10T17:34:03.724Z","dependency_job_id":"3384fbd3-ce17-4e35-95e3-a0c8a9ab1ce8","html_url":"https://github.com/jeertmans/untex","commit_stats":{"total_commits":70,"total_committers":4,"mean_commits":17.5,"dds":0.05714285714285716,"last_synced_commit":"7c7fd4adc88ea1734e42999af9290abc3848507b"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeertmans%2Funtex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeertmans%2Funtex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeertmans%2Funtex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeertmans%2Funtex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeertmans","download_url":"https://codeload.github.com/jeertmans/untex/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248943460,"owners_count":21186958,"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":["formatter","latex","parsing","rust","tex"],"created_at":"2024-10-03T09:51:23.626Z","updated_at":"2025-04-14T19:12:41.780Z","avatar_url":"https://github.com/jeertmans.png","language":"Rust","funding_links":["https://github.com/sponsors/jeertmans"],"categories":[],"sub_categories":[],"readme":"\u003e [!WARNING]\n\u003e As of June 10, 2024, I'm officially archiving this project,\n\u003e as I haven't been able to put much time on this project ever since its start.\n\u003e Moreover, I think that lexing TeX code is a task that is way too hard, and I planning to phase\n\u003e to [Typst](https://github.com/typst/typst), a much more modern and fast alternative to LaTeX.\n\u003e\n\u003e I am sorry for all the people who put trust in this project, and I'd be happy to let anyone\n\u003e continue this project.\n\n# UnTeX\n\n[![Crates.io](https://img.shields.io/crates/v/untex)](https://crates.io/crates/untex)\n[![docs.rs](https://img.shields.io/docsrs/untex)](https://docs.rs/untex/0.4.0-beta/untex/index.html)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/3bbc6f75856b4c4f85b6a7e509e0ccbf)](https://www.codacy.com/gh/jeertmans/untex/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=jeertmans/untex\u0026amp;utm_campaign=Badge_Grade)\n[![codecov](https://codecov.io/gh/jeertmans/untex/branch/main/graph/badge.svg?token=76STP1K1U1)](https://codecov.io/gh/jeertmans/untex)\n\nUnTeX is both a library and an executable that allows you to manipulate and\nunderstand TeX files.\n\n\u003e **NOTE**: even though TeX and LaTeX are not the same,\n\u003e UnTeX assumes that TeX documents are written such that\n\u003e they will be parsed with some LaTeX engine.\n\u003e For \"*pure*\" TeX content, see the `src/lib/tex` module.\n\n## Executable\n\nThe most convenient way of using UnTeX is through its command-line interface (CLI).\n\nCurrently, you can install it with Cargo:\n\n```bash\ncargo install untex --all-features --version 0.4.0-beta\n```\n\n\u003e **NOTE**: while using `--features cli` is sufficient to install UnTeX's CLI,\n\u003e using all features is recommend to take most benefits out of it!\n\n### Usage\n\nUnTeX has multiple commands, each one with a specific application:\n\n* `check` for checking that a document will compile without error[*](#disclaimers);\n\n* `dependendies`, or `deps`, for extracting dependencies from a TeX project;\n\n* `expand` for expanding macros (e.g., `\\input{...}` or `\\include{...}`);\n\n* `highlight`, or `hl`, for highlighting parts (e.g., comments) of TeX documents;\n\n* `format` for pretty formatting your TeX files;\n\n* `parse` for parsing and validating TeX documents[*](#disclaimers).\n\n* `completions` to generate completions scripts for your shell\n(needs `\"cli-complete\"` feature).\n\n```bash\nuntex \u003cCOMMAND\u003e [OPTIONS] [FILENAMES]...\n```\n\nA complete usage help can be obtained with `untex [-h|--help]` or with\n`untex \u003cCOMMAND\u003e [-h|--help]` for a given command.\n\n### Examples\n\n#### Highlighting text\n\n```bash\nuntex hl -p math main.tex\necho \"% this is a comment\\nthis is not a comment\" | untex hl -t comment\n```\n\n## Library\n\nYou can use UnTeX in your Rust project by adding to your `Cargo.toml`:\n\n```toml\nuntex = \"0.4.0-beta\"\n```\n\n### Documentation\n\nAutomatically generated documentation can be found found [here](https://docs.rs/untex).\n\n### Feature Flags\n\n#### Default Features\n\n* **color**: Adds support for output colorized text in the terminal with `termcolor`.\n\n* **strum**: Uses `strum_macros`'s capabilities to enhance `Enum`s all across\nthe library.\n\n#### Optional Features\n\n* **cli**: Adds command-line related methods for multiple structures.\nThis feature is required to install UnTeX's CLI.\n\n* **annotate**: (Soon) Adds method(s) to annotate results from check request.\nIf **cli** feature is also enabled, the CLI will by default print an annotated\noutput.\n\n* **cli-complete**: Adds commands to generate completion files for various\nshells. This feature also activates the **cli** feature.\nEnter `untex completions --help` for get help with installing completion files.\n\n* **json**: (Soon) Adds the `json` output option.\n\n### Disclaimers\n\nAs this project is under active development, expect non backward compatible\nchanges from version to version.\nBefore reaching **v1.x.x**, UnTeX will be considered as unstable.\n\n### What is a valid (La)TeX document\n\nParsing La(TeX) documents is very complicated, and the main reasons are\ndetailed in the header of the documentation. Because of this, UnTex does\nnot aim to be an exact parser, but a relatively good parser.\n\nIf you are in a situation where you think UnTeX produces a wrong result,\nplease reach out to me, preferably via a\n[GitHub issue](https://github.com/jeertmans/untex/issues),\nand explain to me what you expected!\n\n## Contributing\n\nContributions are more than welcome!\nMaking UnTeX a good and reliable TeX tool is a matter of time and work,\nso any kind of help is a step towards a better UnTeX!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeertmans%2Funtex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeertmans%2Funtex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeertmans%2Funtex/lists"}