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
\bibliography
with contents of.bbl
file (--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-figures
and--sequential-figures
operate only withinfigure
environments. 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
\includegraphics
ed 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
latexmk
orpdflatex -recorder
once - Run this script next to (or on) the
.tex
file.
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
latex_flatten-0.3.0.tar.gz
(11.7 kB
view hashes)
Built Distribution
Close
Hashes for latex_flatten-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16d7ed0f4d21e59075f8597104313adb6ba1f0e89baa0295e79bdf649f4030c7 |
|
MD5 | 90fc9fd06ed96d0c616b8667b1326c5b |
|
BLAKE2b-256 | 71632f4bd4263a5c2cb0a51d5558046d3e6c6f5271ddd79150548980a4da41c0 |