summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/man/man1/memoize-extract.1
blob: 916d402c7c03b14afbeb8f36434300bd9a5d3e45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
.\" Automatically generated by Pandoc 3.0.1
.\"
.\" Define V font for inline verbatim, using C font in formats
.\" that render this, and otherwise B font.
.ie "\f[CB]x\f[]"x" \{\
. ftr V B
. ftr VI BI
. ftr VB B
. ftr VBI BI
.\}
.el \{\
. ftr V CR
. ftr VI CI
. ftr VB CB
. ftr VBI CBI
.\}
.TH "memoize-extract" "1" "October 10, 2023" "memoize-extract of Memoize v1.0.0" "User Manual"
.nh
.SH NAME
.PP
memoize-extract.pl, memoize-extract.py - Extract extern pages out of the
PDF
.SH SYNOPSIS
.PP
\f[B]memoize-extract.pl\f[R] [\f[I]OPTIONS\f[R]] \f[I]document.mmz\f[R]
.PP
\f[B]memoize-extract.py\f[R] [\f[I]OPTIONS\f[R]] \f[I]document.mmz\f[R]
.SH DESCRIPTION
.PP
\f[B]memoize-extract\f[R] is a script accompanying Memoize, a TeX
package which allows the author to reuse the results of
compilation-intensive code such as TikZ pictures.
.PP
Memoize dumps the created externs (boxes containing the typeset material
to be reused) onto their own pages in the produced PDF file.
It is the job of \f[B]memoize-extract\f[R] to extract these extern pages
into separate PDF files.
At subsequent compilations, Memoize will include those extern files into
the document, without compiling their source again.
.PP
Memoize communicates with \f[B]memoize-extract\f[R] through file
\f[I]document.mmz\f[R].
When \f[I]document.tex\f[R] is compiled to produce
\f[I]document.pdf\f[R], Memoize produces \f[I]document.mmz\f[R], which
records which pages in the produced document are extern pages and to
which extern files they should be extracted.
Therefore, after compiling \f[I]document.tex\f[R], the externs should be
extracted by \f[B]memoize-extract\f[R] \f[I]document.mmz\f[R].
.PP
\f[I]document.mmz\f[R] also records the expected width and height of
each extern.
In case of a mismatch, \f[B]memoize-extract\f[R] refuses to extract the
page and removes the extern file if it already exist, and prints a
warning message to the standard error.
The script furthermore refuses to extract the page if a (c)c-memo
associated to the extern does not exist, and to write to any file whose
absolute path does not occur under the current directory or the
directory set by TEXMFOUTPUT (in \f[I]texmf.cnf\f[R] or as an
environment variable); TEXMFOUTPUT is also not allowed to point to the
root directory, except on Windows, where it can only point to a drive
root.
.PP
The Perl (.pl) and the Python (.py) version of the script are
functionally equivalent.
The Perl script requires library
PDF::API2 (https://metacpan.org/pod/PDF::API2), and the Python script
requires library pdfrw2 (https://pypi.org/project/pdfrw2).
.SH OPTIONS
.TP
\f[B]-P, --pdf\f[R] \f[I]filename.pdf\f[R]
The externs will be extracted from \f[I]filename.pdf\f[R].
By default, they are extracted from \f[I]document.pdf\f[R].
.TP
\f[B]-p, --prune\f[R]
Remove the extern pages from the PDF after extraction.
.TP
\f[B]-k, --keep\f[R]
Do not modify the \f[I]document.mmz\f[R] to mark the externs as
extracted.
By default, they are commented out to prevent double extraction.
.TP
\f[B]-f, --force\f[R]
Extract the extern even if the size-check fails.
.TP
\f[B]-l, --log\f[R] \f[I]filename\f[R]
Log size mismatches to \f[I]filename\f[R] rather than to the standard
error.
.TP
\f[B]-w, --warning-template\f[R] \f[I]string\f[R]
Wrap the size mismatch warning text into the given template:
\[rs]warningtext in the template will be replaced by the warning text.
.TP
\f[B]-q, --quiet\f[R]
Don\[cq]t describe what\[cq]s happening.
.TP
\f[B]-e, --embedded\f[R]
Prefix all messages to the standard output with the script name.
.TP
\f[B]-m, --mkdir\f[R]
A paranoid \f[I]mkdir -p\f[R].
(No extraction occurs, \f[I]document.mmz\f[R] is interpreted as a
directory name.)
.TP
\f[B]-h, --help\f[R]
Show help and exit.
.TP
\f[B]-V, --version\f[R]
Show the Memoize version number and exit.
.SH SEE ALSO
.PP
Memoize manual (https://ctan.org/pkg/memoize), section 6.6.1.