diff options
Diffstat (limited to 'run_latex.py')
-rw-r--r-- | run_latex.py | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/run_latex.py b/run_latex.py index 2d7d618..9f4b75e 100644 --- a/run_latex.py +++ b/run_latex.py @@ -1,5 +1,20 @@ #!/usr/bin/env python +"""Build a LaTeX project. + +Two invocations are supported: + +1) run_latex.py [texlive] [latexrun] [jobname] [mainfile].tex [outfile].pdf [sources...] +2) run_latex.py [texlive] [latexrun] [jobname] [mainfile].tex -- [sources...] -- [command...] + +The first will build [outfile].pdf from [mainfile].tex and the [sources...]. +This is used to build the PDF file for the [name]_getpdf rules. + +The second will build the paper, place [jobname].bbl in the current directory, +then call [command...]. This is used to build the bbl file for the +[name]_getarxivable rules. +""" + import glob import os import shutil @@ -8,6 +23,9 @@ import sys texlive, latexrun, job_name, main_file, output_file = sys.argv[1:6] sources = sys.argv[6:] +if output_file == "--": + run_after = sources[sources.index("--"):][1:] + sources = sources[:sources.index("--")] env = dict(os.environ) # Generated files (eg. outputs of pdfcrop) are placed under bazel-out/*/bin. @@ -40,4 +58,13 @@ return_code = subprocess.call( if return_code != 0: sys.exit(return_code) -os.rename(job_name + ".pdf", output_file) + +if output_file != "--": + os.rename(job_name + ".pdf", output_file) +else: + # Run the run_after script. + os.rename("latex.out/" + job_name + ".bbl", job_name + ".bbl") + return_code = subprocess.call( + args=run_after, + env=env, + ) |