Combine LaTeX docs into a single PDF
Project description
This tool automates compiling LaTeX document collections (for working papers, proceedings, etc.) into a single combined PDF file using the pdfpages package.
Create an INI file giving the name and parts of your collection and build it with the latxepages command-line utility.
latxepages will start one parallel typesetting process per core for speedup.
Installation
This package runs under Python 2.7 and 3.3+, use pip to install:
$ pip install latexpages
The compilation requires a LaTeX distribution (e.g. TeX Live or MikTeX) and either latexmk or MikTeX’s texify utility being available on your system.
Usage
Create a working directory holding your plain-text INI file. Put all your documents into subdirectories with the same name as the corresponding .tex file:
collection/ collection.ini article1/ article1.tex references.bib article2/ article2.tex ...
Note: the directory names cannot contain spaces.
Edit the INI file to configure the parts, their order and various other options:
[make]
name = MY_COLL
directory = _output
[parts]
mainmatter =
article1
article2
The following will typeset all parts, copy their PDFs to the output directory, and combine them. By default, this also create a 2-up version:
$ latexpages collection.ini
Check the example directory in the source distribution for a working complete example.
Invocation
Check the usage of the latexpages command:
$ latexpages --help
usage: latexpages [-h] [--version] [-c latexmk|texify] [--keep]
filename [processes]
Compiles and combines LaTeX docs into a single PDF file
positional arguments:
filename .ini-style file configuring the parts and output options
processes number of parallel processes to use (default: one per
core)
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
-c latexmk|texify use latexmk.pl or texify (default: guess from platform)
--keep keep combination document(s) and their auxiliary files
Advanced options
Below are annotated INI file sections showing the default options for all available configuration settings.
The make section sets the names and name templates for the results:
[make]
name = COLL # name of the resulting PDF file
directory = _output # directory to copy/put the results
two_up = __%(name)s_2up # name of the 2-up version PDF file
make_two_up = true # create a 2-up version (yes/no)
# templates for the name of the copied part PDF files for each
# of the three possible groups (frontmatter, mainmatter, extras)
# available substitutions:
# (note that the percent-sign must be doubled here)
# %%(name)s name of the result file (see above)
# %%(part)s name of the part directory/filename
# %%(index0)d zero-based index inside group
# %%(index1)d one-based index inside group
frontmatter = _%%(name)s_%%(part)s
mainmatter = %%(name)s_%%(index1)02d_%%(part)s
extras = %(frontmatter)s
The parts section gives space-delimited lists of parts to compile and/or include:
[parts]
frontmatter = # include at the beginning, roman page numbering
mainmatter = # include after frontmatter, arabic page numbering
extras = # compile and copy only (e.g. a separate cover page)
use_dvips = # use latex -> dvips -> ps2pdf for these parts
# instead of pdflatex (e.g. pstricks usage)
# pull the first mainmatter part into the roman page numbering area
first_to_front = false
The substitute section fills the template that is used to create the combination document. Currently this allows to set the PDF meta data:
[substitute]
# options for \usepackage{hyperref}
author = # pdfauthor
title = # pdftitle
subject = # pdfsubject
Finally, the template section allows to customize the details of the combination document:
[template]
filename = # use a custom template
class = scrartcl # use this documentclass
# documentclass options for combination and 2-up version
options = paper=a5
options_two_up = paper=a4,landscape
# includepdfmerge options for combination and 2-up version
include = fitpaper
include_two_up = nup=2x1,openright
See also
License
latexpages is distributed under the MIT license.
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
File details
Details for the file latexpages-0.1.zip
.
File metadata
- Download URL: latexpages-0.1.zip
- Upload date:
- Size: 22.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e42754a19e59ac488aa2f599eeaf2578d59110028840cbbc6d5ac61bacff1ae8 |
|
MD5 | 93a061e24e6896eefd203ca5c1fbe3c3 |
|
BLAKE2b-256 | 101efa37702deb21f319c2eacd6721bf85ec05ec9dbc46e31ad75d79bb8d3a2d |