{"id":20227440,"url":"https://github.com/fkemser/texlettercreator","last_synced_at":"2026-05-11T14:34:28.333Z","repository":{"id":244298358,"uuid":"757126578","full_name":"fkemser/TeXLetterCreator","owner":"fkemser","description":"A collection of shell scripts to interactively create and print TeX-based form letters.","archived":false,"fork":false,"pushed_at":"2024-09-13T21:54:51.000Z","size":9405,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-13T23:40:44.580Z","etag":null,"topics":["dialog","latex","sh","shell","tex"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/fkemser.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":"2024-02-13T21:20:57.000Z","updated_at":"2024-09-13T21:54:55.000Z","dependencies_parsed_at":"2024-06-13T23:04:20.362Z","dependency_job_id":"9a8fcd8f-3d0a-406d-a312-259050a9e36d","html_url":"https://github.com/fkemser/TeXLetterCreator","commit_stats":null,"previous_names":["fkemser/texlettercreator"],"tags_count":0,"template":false,"template_full_name":"fkemser/SHtemplate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fkemser%2FTeXLetterCreator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fkemser%2FTeXLetterCreator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fkemser%2FTeXLetterCreator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fkemser%2FTeXLetterCreator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fkemser","download_url":"https://codeload.github.com/fkemser/TeXLetterCreator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241670155,"owners_count":20000327,"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":["dialog","latex","sh","shell","tex"],"created_at":"2024-11-14T07:24:48.292Z","updated_at":"2026-05-11T14:34:27.997Z","avatar_url":"https://github.com/fkemser.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --\u003e\n\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\u003c!--\n*** Thanks for checking out the Best-README-Template. If you have a suggestion\n*** that would make this better, please fork the repo and create a pull request\n*** or simply open an issue with the tag \"enhancement\".\n*** Don't forget to give the project a star!\n*** Thanks again! Now go create something AMAZING! :D\n--\u003e\n\n\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** I'm using markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n*** See the bottom of this document for the declaration of the reference variables\n*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n--\u003e\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![GNU GPL v3.0 License][license-shield]][license-url]\n\u003c!-- [![LinkedIn][linkedin-shield]][linkedin-url] --\u003e\n\n\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003c!-- \u003ca href=\"https://github.com/fkemser/TeXLetterCreator\"\u003e\n    \u003cimg src=\"images/logo.png\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n  \u003c/a\u003e --\u003e\n\n\u003ch3 align=\"center\"\u003eTeXLetterCreator\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    A collection of shell scripts to interactively create and print TeX-based form letters.\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/fkemser/TeXLetterCreator\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/fkemser/TeXLetterCreator\"\u003eView Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/fkemser/TeXLetterCreator/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/fkemser/TeXLetterCreator/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#related-projects\"\u003eRelated Projects\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#testing-environment\"\u003eTesting Environment\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#tex-template\"\u003eTeX Template\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage-srctexsh\"\u003eUsage (/src/tex.sh)\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#acknowledgments\"\u003eAcknowledgments\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\nThis project provides a `dialog`-based interface to interactively create/print a letter based on a `TeX` form letter template by querying individual parameters, e.g. recipient's name and address.\n\n![Screenshot 11][screenshot11]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Built With\n\n[![LaTeX][LaTeX-shield]][LaTeX-url]\n[![Shell Script][Shell Script-shield]][Shell Script-url]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Related Projects\n\nThis work includes or is based on other projects:\n\n* [CUPSwrapper](https://github.com/fkemser/CUPSwrapper), a collection of shell scripts to interactively print and manage printers for local usage.\n* [GerLaTeXLetter](https://github.com/fkemser/GerLaTeXLetter), a LaTeX template for business letters (mostly) following German DIN 5008 standard, based on KOMA-Script class `scrlttr2`.\n* [SHtemplate](https://github.com/fkemser/SHtemplate), a template for POSIX-/Bourne-Shell(sh) projects.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Testing Environment\n\nThe project has been developed and tested on the following system:\n\n| Info | Description\n---: | ---\nOS | Debian GNU/Linux 12 (bookworm)\nKernel | 5.15.90.1-microsoft-standard-WSL2\nPackages | [texlive-latex-recommended (2022.20230122-3)](https://packages.debian.org/bookworm/texlive-latex-recommended)\n|| [texlive-luatex (2022.20230122-3)](https://packages.debian.org/bookworm/texlive-luatex) \n\nPlease also have a look at the corresponding sections in [CUPSwrapper](https://github.com/fkemser/CUPSwrapper#testing-environment) and [GerLaTeXLetter](https://github.com/fkemser/GerLaTeXLetter#testing-environment).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\n### Prerequisites\n\n\u003e :warning: Please follow each of the following setup instructions **before** continuing:\n\n* [CUPSwrapper](https://github.com/fkemser/CUPSwrapper#prerequisites), \n* [GerLaTeXLetter](https://github.com/fkemser/GerLaTeXLetter#prerequisites)\n\n### Installation\n\n1. Clone the repo\n\t```sh\n   git clone --recurse-submodules https://github.com/fkemser/TeXLetterCreator.git\n   ```\n2. Edit the repository configuration file. In case it is empty just keep it as it is, **do not delete it**.\n\t```sh\n   nano ./TeXLetterCreator/etc/tex.cfg.sh\n   ```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- TEX TEMPLATE --\u003e\n## TeX Template\n\nThis repository is shipped with a **sample template** (`/test/tex/letter.tex`), a modified version of [GerLaTeXLetter](https://github.com/fkemser/GerLaTeXLetter). **To customize the template** please edit the files within the `/tex` folder. For more information please have a look at [GerLaTeXLetter](https://github.com/fkemser/GerLaTeXLetter#customization).\n\n**In case you use your own TeX template please make sure that it is capable of using the system's environment variables**. This script will provide the following **additional environment variables** to the template:\n\n| Variable        | Description                                   | Example                                     |\n|-----------------|-----------------------------------------------|---------------------------------------------|\n| `arg_recp_addr` | Recipient's address (multiline, without name) | 123 Main Street\u003cbr\u003eAnytown, CA 12345\u003cbr\u003eUSA |\n| `arg_recp_name` | Recipient's name (one line)                   | Jane Doe                                    |\n\n**To introduce more variables** just modify the repository's run file `/src/tex.sh` as well as the sample template `/tex/letter.tex` (or your own one). For more information on `tex.sh`'s general structure you may have a look at [SHtemplate](https://github.com/fkemser/SHtemplate#srcrunsh-repository-run-file). For more information on `letter.tex` please have a look at [GerLaTeXLetter](https://github.com/fkemser/GerLaTeXLetter#customization).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- USAGE EXAMPLES --\u003e\n## Usage (/src/tex.sh)\n\nTo call the script interactively, run `/src/tex.sh` (without further arguments) from your terminal. To get help, run `/src/tex.sh -h`.  \n\n```sh\n================================================================================\n===============================     SYNOPSIS     ===============================\n================================================================================\n\nThere are multiple ways to run this script:\n\nInteractive mode (without any args):\n\u003e ./tex.sh\n\nClassic (script) mode:\n\u003e ./tex.sh [ OPTION ]... ACTION [ \u003cfile_in\u003e ]\n\nACTION := { -h|--help | --create | --print }\n\nOPTION := { [-i|--in \u003cfile_in\u003e] | [-o|--out \u003cfile_out\u003e] | [-a|--address \u003caddress\u003e] | [-n|--name \u003cname\u003e] }\n\n[ \u003cfile_in\u003e ] : LaTeX template file (.tex) to use\n\n--------------------------------------------------------------------------------\n--------------------------------     ACTION     --------------------------------\n--------------------------------------------------------------------------------\n\n-h|--help            Show this help message                                     \n\n--submenu \u003cmenu\u003e     Run a certain submenu interactively and exit               \n                                                                                \n                     \u003cmenu\u003e = { create | print }                                \n\n--create             Create letter and save as PDF file                         \n\n--print              Create letter and print                                    \n\n--------------------------------------------------------------------------------\n--------------------------------     OPTION     --------------------------------\n--------------------------------------------------------------------------------\n\n-i|--in \u003cfile_in\u003e          LaTeX template file (.tex) to use                    \n\n-o|--out \u003cfile_out\u003e        Output file (.pdf)                                   \n\n-a|--address \u003caddress\u003e     Recipient's delivery address (without name)          \n\n-n|--name \u003cname\u003e           Recipient's name                                     \n\n================================================================================\n===============================     EXAMPLES     ===============================\n================================================================================\n\n______________________ Interactive mode | Call main menu _______________________\n\n\u003e ./tex.sh\n\n________ Interactive mode | Print letter with pre-defined TeX template _________\n\n\u003e ./tex.sh --submenu print \"../tex/letter.tex\"\n\n_________________________________ Script mode __________________________________\n\n\u003e addr=\"\\\n123 Main Street\nAnytown, CA 12345\nUSA\"\n\u003e name=\"Jane Doe\"\n\u003e ./tex.sh --create --address \"${addr}\" --name \"${name}\" \"../tex/letter.tex\"\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e                     \n\n\n\n\u003c!-- ROADMAP --\u003e\n## Roadmap\n\nSee the [open issues](https://github.com/fkemser/TeXLetterCreator/issues) for a full list of proposed features (and known issues).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the **GNU General Public License v3.0 (or later)**. See [`LICENSE`][license-url] for more information.\n\n\u003e :warning: The license above does not apply to the files and folders within the library directory `/lib`. Please have a look at the `LICENSE` file located in the root directory of each library to get more information.\n\n\u003e :warning: The license above may not apply to some files within the TeX sample letter directory `/test/tex`. Please have a look at the `SPDX-FileCopyrightText` and `SPDX-License-Identifier` headers in each file to get more information.\n\n\u003e :warning: The license above does not apply to the sample logo file `/test/tex/logo.png`. For more information please have a look at [Logoipsum's terms of license](https://logoipsum.com/license).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nProject Link: [https://github.com/fkemser/TeXLetterCreator](https://github.com/fkemser/TeXLetterCreator)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- ACKNOWLEDGMENTS --\u003e\n## Acknowledgments\n\n###\n* [othneildrew/Best-README-Template](https://github.com/othneildrew/Best-README-Template)\n* [Ileriayo/markdown-badges](https://github.com/Ileriayo/markdown-badges)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/fkemser/TeXLetterCreator.svg?style=for-the-badge\n[contributors-url]: https://github.com/fkemser/TeXLetterCreator/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/fkemser/TeXLetterCreator.svg?style=for-the-badge\n[forks-url]: https://github.com/fkemser/TeXLetterCreator/network/members\n[stars-shield]: https://img.shields.io/github/stars/fkemser/TeXLetterCreator.svg?style=for-the-badge\n[stars-url]: https://github.com/fkemser/TeXLetterCreator/stargazers\n[issues-shield]: https://img.shields.io/github/issues/fkemser/TeXLetterCreator.svg?style=for-the-badge\n[issues-url]: https://github.com/fkemser/TeXLetterCreator/issues\n[license-shield]: https://img.shields.io/github/license/fkemser/TeXLetterCreator.svg?style=for-the-badge\n[license-url]: https://github.com/fkemser/TeXLetterCreator/blob/main/LICENSE\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://linkedin.com/in/linkedin_username\n\n[screenshot11]: res/screenshot11.gif\n\n[LaTeX-shield]: https://img.shields.io/badge/latex-%23008080.svg?style=for-the-badge\u0026logo=latex\u0026logoColor=white\n[LaTeX-url]: https://www.latex-project.org/\n[Shell Script-shield]: https://img.shields.io/badge/shell_script-%23121011.svg?style=for-the-badge\u0026logo=gnu-bash\u0026logoColor=white\n[Shell Script-url]: https://pubs.opengroup.org/onlinepubs/9699919799/","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffkemser%2Ftexlettercreator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffkemser%2Ftexlettercreator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffkemser%2Ftexlettercreator/lists"}