Flatten your LaTeX document
Project description
🗜️ Flatten the file structure of a LaTeX document
✨ What can it do?
- replace
\input{FILE}with contents ofFILE - point all
\includegraphics{PATH}next to the .tex file - replace
\bibliographywith contents of.bblfile (--replace-bib, needed e.g. for PLoS) - Rename figure filenames like
fig3.pdf(--sequential-figures) - Hide figures by commenting
\includegraphics{}(--hide-figures, needed for PLoS) - copy all source files next to the LaTeX file (
--inplace) - modify your LaTeX file in-place (
--inplace) - make a new folder with the flattened LaTeX project structure (
--outdir MYDIR) - make a ZIP file with the flattened LaTeX project structure (
--zip)
These steps are necessary for some Journals (e.g. Springer, PLoS, etc.).
With latex-flatten, one can work flexibly on a manuscript with a nested structure and included files and flatten the project only before submission.
📝 TODO - Known Issues - Planned Features
- Have
--hide-figuresand--sequential-figuresoperate only withinfigureenvironments. The currently don't know whether they're manipulating an actual figure or just a random included graphic anywhere. - Use relative (not absolute) symlinks for linking to
--outdir. - Find input files from
TEXINPUTS - 🐛 If the same graphic file is
\includegraphicsed multiple times, it will only land once in the outdir or ZIP.
❓ Usage
You can run this tool if you have nix installed:
nix run gitlab:nobodyinperson/latex-flatten
# or with arguments (note the lonely double dash --)
nix run gitlab:nobodyinperson/latex-flatten -- --help
Otherwise, you can install it like any other Python package, e.g. with pip or better pipx:
pipx install latex-flatten
# latest development version
pipx install git+https://gitlab.com/nobodyinperson/latex-flatten
This installs the latex-flatten command:
# will operate on all *.tex documents in this folder
latex-flatten
# specific document
latex-flatten myfile.tex
# Make a ZIP for PLoS submission
latex-flatten --plos --zip
# Make a new folder with flattened LaTeX structure (to check compilation, etc.)
latex-flatten --outdir FLATTENED
# Make a flat ZIP from your LaTeX project
latex-flatten --zip
# Be moreo chatty, useful for debugging
latex-flatten -vvv
# Help
latex-flatten --help
🛠️ Workflow
- Compile LaTeX successfully with
latexmkorpdflatex -recorderonce - Run this script next to (or on) the
.texfile.
Before using --inplace, you should probably back up your files or git-track them to see the differences and revert in case something unexpected happens.
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 latex_flatten-0.3.0.tar.gz.
File metadata
- Download URL: latex_flatten-0.3.0.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.6 Linux/6.1.65
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
671cd00d1289f86df5dfb80e80daf16fa1ddf8d222567f978e956306f3ad601d
|
|
| MD5 |
4e3471e63862f9ad6a2f03362046bcec
|
|
| BLAKE2b-256 |
d8967d8050ef723035597c8ff2083faa88c400b8c71db6437bf553b37e8e168c
|
File details
Details for the file latex_flatten-0.3.0-py3-none-any.whl.
File metadata
- Download URL: latex_flatten-0.3.0-py3-none-any.whl
- Upload date:
- Size: 23.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.6 Linux/6.1.65
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16d7ed0f4d21e59075f8597104313adb6ba1f0e89baa0295e79bdf649f4030c7
|
|
| MD5 |
90fc9fd06ed96d0c616b8667b1326c5b
|
|
| BLAKE2b-256 |
71632f4bd4263a5c2cb0a51d5558046d3e6c6f5271ddd79150548980a4da41c0
|