{"id":15621651,"url":"https://github.com/jeertmans/texspell","last_synced_at":"2026-02-07T19:31:47.551Z","repository":{"id":52774324,"uuid":"330214414","full_name":"jeertmans/texspell","owner":"jeertmans","description":"Command line spell-checker tools for TeX documents","archived":false,"fork":false,"pushed_at":"2021-11-21T17:13:38.000Z","size":396,"stargazers_count":1,"open_issues_count":12,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-11T06:42:24.527Z","etag":null,"topics":["command-line-tool","latex","spellcheck","tex"],"latest_commit_sha":null,"homepage":"","language":"Shell","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":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-01-16T17:11:59.000Z","updated_at":"2023-09-08T18:17:20.000Z","dependencies_parsed_at":"2022-08-22T04:50:08.492Z","dependency_job_id":null,"html_url":"https://github.com/jeertmans/texspell","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jeertmans/texspell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeertmans%2Ftexspell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeertmans%2Ftexspell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeertmans%2Ftexspell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeertmans%2Ftexspell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeertmans","download_url":"https://codeload.github.com/jeertmans/texspell/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeertmans%2Ftexspell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29205249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T17:44:10.191Z","status":"ssl_error","status_checked_at":"2026-02-07T17:44:07.936Z","response_time":63,"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":["command-line-tool","latex","spellcheck","tex"],"created_at":"2024-10-03T09:51:23.797Z","updated_at":"2026-02-07T19:31:47.517Z","avatar_url":"https://github.com/jeertmans.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# texspell\nCommand line spell-checker tools for TeX documents\n\n## Description\n\ntexspell provides an easy-to use interface between popular open source tools to enable fast and reliable TeX documents proof-reading.\n\n# Intallation\n\nThe current implementation relies on two open source tools: **LanguageTool** for grammar and spell checking, and **Opendetex** for TeX document parsing.\n\nFirst, you need to clone this repo on your local machine:\n```\ngit clone https://github.com/jeertmans/texspell.git\n```\n\n## LanguageTool\nThe V1 of texspell is based on [LanguageTool](https://dev.languagetool.org/http-server.html) so you will need to install it first:\n- Download the `.zip` from the source\n- Unzip it where you want to\n\nDetailes installation instructions can be found on their [GitHub repository](https://github.com/languagetool-org/languagetool).\n\n**Note:** LanguageTool is a server tool so you can install it on another machine instead of your own computer\n\n\n## Opendetex\nOpendetex will help us to parse our `.tex` into plain text to let LanguageTool correct it. \nFor easy version control, texspell ships with its own version of Opendetex. To install it, go to the `texspell` folder and do:\n```\ngit submodule init\ngit submodule update\n```\n\n## Step by step\nTo install it simply do\n```\nsudo make install\n```\n\nIt will install both `texspell` and `opendetex`. If you want you can install each module separately:\n\n```\nsudo make install-texspell\nsudo make install-detex\n```\n\nIf you need to uninstall `texspell`:\n```\nsudo make uninstall\n```\nor\n```\nsudo make uninstall-texspell\nsudo make uninstall-detex\n```\n\n**Note:**\nIf you want to use the completion for zsh make sure that it is activated. Otherwise add those lines in your `.zshrc`:\n```\nautoload -U compinit\ncompinit\n```\n\n## Configuration\nDefaults variable will be load from `/etc/texspell.cfg`. The variable will be loaded from `$HOME/.config/texspell.cfg` exist if the file exist. You can also specify another config file with `--config`.\n\n## Development\nTo participate to the project make sure to also install `spellcheck` which is our linter for this project\n\n\n# Coding style\n\n* Variable names should use capital letters and underscores only\n* Function names should use lower case letters and underscores only\n* Functions should have docstring accordingly to what is already done\n* Functions should use local variables\n* Prefer creating function if a code is often re-used\n* Code is splitted into several sections and the appropriate one should be used when writing code\n* Only use \"\" instead of ''\n\n# todo-lists\n\n## V1.0 Add languageTool\nHunspell is great **but** for us it has 2 main drawback:\n1) Hunspell will try to correct words that will be present in the pdf\n2) Hunspell can only do word by word correction.\nWe want to switch to languageTool which is a more powerfull typechecker but we will need to rewrite a lot of the code to adapt it.\n\n\n* [ ] Add languageTool installation instruction\n* [ ] Test the [ngram](https://dev.languagetool.org/finding-errors-using-n-gram-data)\n* [ ] Parse Tex to txt\n* [ ] Correct txt\n* [ ] Associate corrected txt with line in the .tex\n* [ ] Add a config file\n* [ ] Add a mode to launch also the languagetool server\n* [ ] Add a mode to use a default server\n* [ ] Add a mode to use a specific server\n\n# Version\n## v0.1 - working prototype\n\n### Generating diff files\n\n* [x] have a working spell check that generate .diff files ?\n* [x] maybe find a better representation than .diff files ?\n* [x] add line number\n* [x] Propose multiple correction\n* [x] Diff reporting\n* [x] Do not generate empty files\n* [x] Temp files and report files are generated such that they do not overwrite any existing file (`mktemp` for e.g.) or, at-least, warn for it (\"Are you sure?: [Y/n]\")\n\n### Command line tools\n\n* [x] use a user-defined dictionary\n* [ ] allow to ignore errors in specific LaTeX env. (tikzpicture, ...) ?\n* [x] Add installation instruction\n* [x] Add completion on command line\n* [x] Add help\n* [x] Make hunspell shut up\n* [x] add verbose environment\n* [x] Use shasum to only check files that changed (optional)\n* [x] Do not explore hidden directories (only if specified)\n* [ ] Add mode so than `man` command can read only documentation ? No rly useful but could be nice\n* [x] Add color mode, e.g., by coloring errors in red and propositions in green\n\n### CI - Testing\n\n* [x] Add mock .tex to test the tool\n* [ ] Add unitary testing\n* [ ] Add pipeline to prevent failed test\n\n### Edit from diff files\n\n* [ ] (hard) possibility to jump from .diff file line to correspond file and line or to \"accept\" the modification (then .diff file is updated)\n* [ ] produce incremental dictionary (to avoid false-positive)\n* [ ] possibility to ignore so files (files or file patterns) from a file\n* [ ] find a good way to show (and maybe quickly edit) the spelling errors\n* [ ] add a hierarchical representation of errors in files (tree main -\u003e sections -\u003e ...) accordingly to file hierarchy\n* [ ] Easily ignore / naviguate from files (and know which error you are looking at)\n* [ ] Generate hidden file that reports last program execution (so that it can propose files that were only gen. by last exec.)\n\n\n## v0.2 - publish tools\n\n* [ ] setup environment (folders, etc.)\n* [ ] setup a requirements file\n* [x] make executable globally acessible on machine\n* [ ] publish tool as a packet that could be installed using apt for example\n\n\n## V0.3 - Ideas to sort\n* [ ] Interactive mode: print the errors one by one and choose accept/ignore/refuse\n* [ ] add machine learning (eg.: Writefull add-on) techniques to produces higher quality text\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeertmans%2Ftexspell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeertmans%2Ftexspell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeertmans%2Ftexspell/lists"}