{"id":18507663,"url":"https://github.com/mihaiconstantin/paperer","last_synced_at":"2026-05-04T07:33:56.313Z","repository":{"id":163703005,"uuid":"639029290","full_name":"mihaiconstantin/paperer","owner":"mihaiconstantin","description":"`paperer` is a lightweight tool that simplifies the creation of new LaTeX manuscripts by scaffolding projects based on pre-defined or custom templates. No need to manually copy files, just start writing in seconds!","archived":false,"fork":false,"pushed_at":"2023-05-14T12:04:30.000Z","size":536,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-17T02:16:43.950Z","etag":null,"topics":["academic-writing","apa","automation","latex","latex-template","manuscript","scaffolding"],"latest_commit_sha":null,"homepage":"https://paperer.mihaiconstantin.com","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/mihaiconstantin.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2023-05-10T15:52:43.000Z","updated_at":"2024-04-07T01:30:21.000Z","dependencies_parsed_at":"2024-01-15T09:01:43.476Z","dependency_job_id":"6557f724-942b-40b7-aaaf-a38bf7a951de","html_url":"https://github.com/mihaiconstantin/paperer","commit_stats":{"total_commits":28,"total_committers":1,"mean_commits":28.0,"dds":0.0,"last_synced_commit":"6eba1a08c997679d03046d0f332682be59b4451a"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mihaiconstantin%2Fpaperer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mihaiconstantin%2Fpaperer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mihaiconstantin%2Fpaperer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mihaiconstantin%2Fpaperer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mihaiconstantin","download_url":"https://codeload.github.com/mihaiconstantin/paperer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254110452,"owners_count":22016392,"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":["academic-writing","apa","automation","latex","latex-template","manuscript","scaffolding"],"created_at":"2024-11-06T15:11:13.333Z","updated_at":"2026-05-04T07:33:56.286Z","avatar_url":"https://github.com/mihaiconstantin.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/mihaiconstantin/paperer\"\u003e\n        \u003cimg width=\"180px\" src=\"assets/logo-paperer.png\" alt=\"paperer logo\"/\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003e\n    Start Writing That Paper\n    \u003cbr\u003e\n    \u003csub\u003e...in seconds\u003c/sub\u003e\n\u003c/h1\u003e\n\n\u003c!-- badges: start --\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://www.repostatus.org/#active\"\u003e\u003cimg src=\"https://www.repostatus.org/badges/latest/active.svg\" alt=\"Repository status\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/mihaiconstantin/paperer/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/mihaiconstantin/paperer?display_name=tag\u0026sort=semver\" alt=\"GitHub version\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/mihaiconstantin/paperer/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/mihaiconstantin/paperer\" alt=\"GitHub issues\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003c!-- badges: end --\u003e\n\n`paperer` is a lightweight executable to quickly scaffold `LaTeX` projects.\nStarting a new manuscript can be a tedious process, and often requires copying\nfiles from previous projects, or searching for templates online. `paperer` aims\nto simplify this process by providing a simple executable that can be used to\nscaffold a new version-controlled manuscript in `LaTeX` based on a given\ntemplate. A template is simply a collection of files that make up a manuscript.\nCurrently, `paperer` provides a *mainly* `APA` template, but more templates are\nwelcomed as contributions (i.e., see the [Contributing](#contributing) section).\nAlternatively, you can use your own templates by specifying the source directory\nwhere to look for the template files (i.e., see the [Usage](#usage) section). In\na nutshell, the idea behind `paperer` is that any bit of friction is too much\nfriction\u0026mdash;therefore, just install it once and run it anytime you want to\nstart writing a new manuscript.\n\n`paperer` is build for `macOS` and other `Unix`-based operating systems.\nHowever, support for `Windows` may be added based on user demand.\n\n## Installation\n\n### Prerequisites\n\nWhile you can install `paperer` and scaffold a manuscript without any\nprerequisites, you will need a `LaTeX` distribution installed on your system to\ncompile the manuscript. Please check\n[tug.org/texlive](https://www.tug.org/texlive/) for more information on how to\ninstall `LaTeX` on your system.\n\n### Installing\n\nTo install `paperer`, simply run the following command:\n\n```bash\ncurl https://raw.githubusercontent.com/mihaiconstantin/paperer/main/install.sh | sudo bash\n```\n\nThe command above will perform the following steps:\n\n1. Clone the `mihaiconstantin/paperer` repository to `/usr/local/paperer`.\n2. Adjust permissions and create `paperer` executable from `/usr/local/paperer/paperer.sh`\n3. Create symbolic link in `/usr/local/bin` for `paperer -\u003e /usr/local/paperer`.\n\n### Uninstalling\n\nTo uninstall `paperer` simply run:\n\n```bash\npaperer --uninstall\n```\n\nThe `--uninstall` flag will reverse the installation steps described above.\n\n### Updating\n\nTo update `paperer` you can run:\n\n```bash\npaperer --update\n```\n\nThis `--update` flag will pull the latest changes from GitHub into your local\ncopy of the repository available at `/usr/local/paperer`.\n\n## Usage\n\nYou can start by print the help message using the `--help` or `-h` options:\n\n```bash\npaperer --help\n```\n\nThe help message will look as follows:\n\n```txt\nUsage: paperer [option]\n\nOptions:\n   -d, --directory=DIR    The directory DIR where to prepare the paper without the trailing slash.\n   -t, --template=TPL     The template TPL to use for scaffolding. The default is 'apa'.\n                          Currently included templates with 'paperer' are: 'apa'.\n                          However, custom templates can be used by specifying the source folder.\n   -s, --source=DIR       Source directory where to look for the template TPL for scaffolding.\n                          The default is the 'templates' folder of the 'paperer' installation.\n                          This option is useful if you want to use your own templates.\n   --update               Update 'paperer' from GitHub.\n   --uninstall            Uninstall 'paperer'.\n   --help                 Display this help message.\n\nDescription:\n   - Repository: https://github.com/mihaiconstantin/paperer\n   - Mihai Constantin (mihai@mihaiconstantin.com)\n```\n\nThen, to prepare a new manuscript at path `/path/to/manuscript`, simply run:\n\n```bash\npaperer --directory=/path/to/manuscript\n```\n\nThis option will create a new directory at `/path/to/manuscript` and scaffold\nthe `LaTeX` files associated with the default `apa` template. The scaffolding\nprocess for the `apa` template will result in the following structure:\n\n```txt\nmanuscript\n├── README.md\n├── archive\n├── build\n├── graphics\n├── library.bib\n├── manuscript.code-workspace\n├── manuscript.tex\n└── sections\n    ├── _footnotes.tex\n    ├── _outline.tex\n    ├── _sections.tex\n    ├── abstract.tex\n    ├── introduction.tex\n    └── section-one.tex\n```\n\nCheck out the document [`apa-sample.pdf`](./samples/apa-sample.pdf) in\n`samples/` directory for an example of the resulting manuscript. Also, check out\nthe `--template` and `--source` flags to specify your own local templates.\n\n## Release Notes\n\nSee the [CHANGELOG](CHANGELOG.md) file.\n\n## Contributing\n\nAny contributions, suggestions, or bug reports are welcome and greatly\nappreciated. Please open an\n[issue](https://github.com/mihaiconstantin/paperer/issues) or submit a [pull\nrequest](https://github.com/mihaiconstantin/paperer/pulls).\n\nOne way to contribute is to provide a new template for a different style of\nmanuscript. To do so, please open a [pull request]() as follows:\n\n1. Create a new directory in the `templates/`.\n2. Add a sample of the resulting document in the `samples/` directory, following\n   the naming convention `\u003ctemplate-name\u003e-sample.pdf`.\n3. Adjust the the function `display_help` in `paperer.sh` to include the new\n   template in the help message.\n\nAnother way to contribute is by helping with translating the `bash` scripts\n`install.sh` and `paperer.sh` to other `PowerShell` or `Batch` scripts for\n`Windows`.\n\n## License\n\n`paperer` is licensed under the [MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmihaiconstantin%2Fpaperer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmihaiconstantin%2Fpaperer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmihaiconstantin%2Fpaperer/lists"}