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 - 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
❓ 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.2.0.tar.gz
(10.9 kB
view hashes)
Built Distribution
Close
Hashes for latex_flatten-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56fda8968d443d91d46ab38342ab6f8c3b14e83dbff4d742de990a59f5106020 |
|
MD5 | 8e89f830be6b67dc3aedfdabc90683b1 |
|
BLAKE2b-256 | c45e6e01b22db330b292d745b85f02e29da7958c37daa536d4e943071e4bac26 |