Local LaTeX project scaffolder
Project description
newtex-cli
Scaffold local LaTeX projects from reusable templates.
1. Installation
pipx install newtex-cli
2. Configuration
By default, acm is bundled inside the package and resolves to package://acm.
You can run newtex <project-name> acm immediately after pipx install.
2.1 Local environment file
Create .env.local in the project root:
NEWTEX_DEFAULT_TEMPLATE=acm
NEWTEX_TEMPLATE_ACM_PATH=/path/to/your/acm-template
2.2 Global template config (recommended)
Configure templates once and use newtex from anywhere:
newtex --template-set acm=/absolute/path/or/url/to/template
newtex --set-default-template acm
newtex --templates-list
This writes to ~/.config/newtex/templates.yml.
3. CLI Commands
3.1 Command reference
| Command | Description |
|---|---|
newtex --help |
Show CLI help |
newtex --tests |
Run the full test suite |
newtex --publish-check |
Validate build/upload prerequisites |
newtex --template-set <alias>=<path-or-url> |
Add or update a global template alias |
newtex --template-set <alias>=<path-or-url> --template-description "..." |
Add alias with description |
newtex --set-default-template <alias> |
Set the global default template alias |
newtex --templates-list |
Show configured global templates |
newtex |
Start interactive project creation |
newtex <project-name> <template> |
Create a project in non-interactive mode |
newtex <project-name> <template> --no-git |
Skip git init |
newtex <project-name> <template> --track-pdf |
Keep compiled PDFs tracked |
newtex <project-name> <template> --no-vscode |
Exclude shared .vscode/ settings |
newtex <project-name> <template> --open |
Open generated project in VS Code |
3.2 Quick examples
newtex --help
newtex
newtex exlang-paper acm
newtex exlang-paper acm --no-git
newtex exlang-paper acm --track-pdf
newtex exlang-paper acm --no-vscode
newtex exlang-paper acm --open
Advanced commands
newtex --tests
newtex --publish-check
newtex --template-set acm=/absolute/path/to/template
newtex --set-default-template acm
newtex --templates-list
4. Notes
- Project names must be lowercase kebab-case (example:
exlang-paper). - If a template path is invalid, the CLI exits with an error message.
- Template sources support three modes:
- local directory path (copied as-is)
package://<name>(copied from bundled package resources)- remote template URL (scaffolded via Copier)
5. Build & Publish
5.1 Build distributions
python -m pip install -e ".[publish]"
newtex --publish-check
python -m build
5.2 Upload to PyPI
You need a PyPI account to publish public packages.
Set token-based auth (recommended):
export TWINE_USERNAME=__token__
export TWINE_PASSWORD=<your-pypi-api-token>
python -m twine upload dist/*
5.3 Install on another Mac
pipx install newtex-scaffold
Then configure templates on that machine:
newtex --template-set acm=/absolute/path/or/url/to/template
newtex --set-default-template acm
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file newtex_cli-0.1.2.tar.gz.
File metadata
- Download URL: newtex_cli-0.1.2.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30df5995397b299506188f796fdb13e86c75764b82020a0ef215a2c248aee87f
|
|
| MD5 |
31ae8aa01c49fa238e93c8662806c8bf
|
|
| BLAKE2b-256 |
8c0d665d3ec82efdc1bd83d0bfabefeb597516fa4adc2f2d7cdab075ce415648
|
File details
Details for the file newtex_cli-0.1.2-py3-none-any.whl.
File metadata
- Download URL: newtex_cli-0.1.2-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ac9974d75b18adef520e99ae5546a722d0168fb6ef88e108a58cf420c2505ea
|
|
| MD5 |
d81d68758743a0426b01072688c864ac
|
|
| BLAKE2b-256 |
1926c6d3abdc8439b3794073323aec8188bb80d1e13be2b1d87a66d0c6fba0a1
|