\" -*- mode: troff; coding: utf-8 -*-
\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
\"
\" Standard preamble:
\" ========================================================================
de Sp \" Vertical space (when we can't use .PP)
if t .sp .5v
if n .sp
.
de Vb \" Begin verbatim text
ft CW
nf
ne \\$1
.
de Ve \" End verbatim text
ft R
fi
.
\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
ie n \{\
ds C` ""
ds C' ""
'br\}
el\{\
ds C`
ds C'
'br\}
\"
\" Escape single quotes in literal strings from groff's Unicode transform.
ie \n(.g .ds Aq \(aq
el .ds Aq '
\"
\" If the F register is >0, we'll generate index entries on stderr for
\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
\" entries marked with X<> in POD. Of course, you'll have to process the
\" output yourself in some meaningful fashion.
\"
\" Avoid warning from groff about undefined register 'F'.
de IX
.
nr rF 0
if \n(.g .if rF .nr rF 1
if (\n(rF:(\n(.g==0)) \{\
if \nF \{\
de IX
tm Index:\\$1\t\\n%\t"\\$2"
.
if !\nF==2 \{\
nr % 0
nr F 2
\}
\}
\}
rr rF
\" ========================================================================
\"
IX Title "ARLATEX 1"
TH ARLATEX 1 2025-02-26 v1.1 "User Commands"
\" For nroff, turn off justification. Always turn off hyphenation; it makes
\" way too many mistakes in technical documents.
if n .ad l
nh
SH NAME
arlatex \- archive a number of ancillary LaTeX files into a master
\&.tex file
SH SYNOPSIS
IX Header "SYNOPSIS"
arlatex
[\fB\-\-outfile\fR=\fIfilename\fR\fI.tex\fR]
\&\fB\-\-document\fR=\fIfilename\fR\fI.tex\fR
\&\fIfilename\fR
\&...
PP
arlatex
\&\fB\-\-version\fR
PP
arlatex
\&\fB\-\-help\fR
SH DESCRIPTION
IX Header "DESCRIPTION"
\&\fBarlatex\fR is an archiving program like \fBshar\fR, \fBtar\fR, \fBzip\fR, etc.
Unlike those other archivers, however, \fBarlatex\fR is designed
specifically for use with LaTeX. \fBarlatex\fR takes the name of a
master \fI.tex\fR file and a number of ancillary files used by that
master file (e.g., \fI.tex\fR, \fI.sty\fR, \fI.cls\fR, and \fI.eps\fR files).
From these, \fBarlatex\fR outputs a single file that, when it's run
through \fBlatex\fR, both regenerates the ancillary files and compiles
the document into a \fI.dvi\fR file.
PP
\&\fBarlatex\fR has a few advantages over other archiving programs:
IP \(bu 4
The \fI.tex\fR files produced by \fBarlatex\fR are in a plain-text format.
They are therefore perfectly portable and trivial to e\-mail to
colleagues.
IP \(bu 4
\&\fBarlatex\fR needs only LaTeX to run. There is no dependence on any
external tools.
IP \(bu 4
There is no explicit extraction step. As the generated document is
run through \fBlatex\fR, it extracts the ancillary files and builds the
document in the same step. The user running \fBlatex\fR may not even
notice that additional files are being produced.
PP
\&\fBarlatex\fR works by writing a number of \f(CW\*(C`\ebegin{filecontents*}\*(C'\fR\ ...
\&\f(CW\*(C`\eend{filecontents*}\*(C'\fR blocks to the output file, followed by the
contents of the master file. (In fact, any LaTeX comments at the
beginning of the master file are hoisted to the top of the generated
file. This enables the author to draw attention, if so desired, to
the fact that ancillary files will be generated.) The
\&\f(CW\*(C`filecontents*\*(C'\fR environment, part of standard LaTeX2e, writes its
contents verbatim to a specified file.
SH OPTIONS
IX Header "OPTIONS"
IP \fB\-\-version\fR 4
IX Item "--version"
Output the \fBarlatex\fR script's version number.
IP \fB\-\-help\fR 4
IX Item "--help"
Output brief \fBarlatex\fR usage information.
IP "\fB\-\-document\fR=\fI.tex file\fR" 4
IX Item "--document=.tex file"
Specify the master document. The output from \fBarlatex\fR is this file
with all of the other files named on the command line prepended to it.
Note that \f(CW\*(C`\-\-document\*(C'\fR is a \fImandatory\fR parameter; \fBarlatex\fR will
abort with an error message if \f(CW\*(C`\-\-document\*(C'\fR is not specified.
IP "\fB\-\-outfile\fR=\fI.tex file\fR" 4
IX Item "--outfile=.tex file"
Specify the output file. The output file looks just like the master
document, but with a number of \f(CW\*(C`filecontents*\*(C'\fR environments preceding
the \f(CW\*(C`\edocumentclass\*(C'\fR line. If \f(CW\*(C`\-\-outfile\*(C'\fR is not specified, output
will be written to the standard output device.
SH EXAMPLES
IX Header "EXAMPLES"
Suppose you have a paper called \fIpaper.tex\fR that loads a custom
package with \f(CW\*(C`\eusepackage{mypackage}\*(C'\fR. You want to submit the paper
to a conference, but you want to be absolutely certain that
\&\fImypackage.sty\fR doesn't get lost as your paper is shuttled from
person to person. Here's how \fBarlatex\fR can be of use:
PP
Vb 1
\& arlatex \-\-document=paper.tex mypackage.sty \-\-outfile=paper\-submit.tex
Ve
PP
When \fIpaper\-submit.tex\fR is processed with \fBlatex\fR, it builds just
like the original \fIpaper.tex\fR, except that it additionally creates a
\&\fImypackage.sty\fR in the current directory:
PP
Vb 5
\& This is TeX, Version 3.14159 (Web2C 7.3.1)
\& (paper\-submit.tex
\& LaTeX2e <1999/12/01> patch level 1
\& Babel <v3.6Z> and hyphenation patterns for american, french, german,
\& ngerman, italian, nohyphenation, loaded.
\&
\& LaTeX Warning: Writing file \`./mypackage.sty\*(Aq.
\&
\& (/usr/share/texmf/tex/latex/base/article.cls
\& Document Class: article 1999/09/10 v1.4a Standard LaTeX document class
\& (/usr/share/texmf/tex/latex/base/size12.clo)) (mypackage.sty)
\& .
\& .
\& .
Ve
PP
As another example, here's how you could bundle together all of the
files needed to build a large document for longevity:
PP
Vb 4
\& arlatex \-\-document=thesis.tex abstract.tex introduction.tex
\& background.tex approach.tex experiments.tex relatedwork.tex
\& conclusions.tex before.eps after.eps fast.eps slow.eps
\& podunkUthesis.cls \-\-outfile=thesis\-all.tex
Ve
PP
As the number of files to archive together increases it becomes more
cumbersome to run \fBarlatex\fR manually. Fortunately, using \fBarlatex\fR
with \fBbundledoc\fR is straightforward. \fBbundledoc\fR finds all of the
files needed to build the document, and \fBarlatex\fR combines them into
a single file. The following are examples of the \f(CW\*(C`bundle:\*(C'\fR line you
might use in a \fBbundledoc\fR configuration file:
IP Unix: 1
IX Item "Unix:"
Vb 2
\& bundle: (arlatex \-\-document=$BDBASE.tex $BDINPUTS \e
\& \-\-outfile=$BDBASE\-all.tex)
Ve
IP Windows: 1
IX Item "Windows:"
Vb 2
\& bundle: arlatex \-\-document=%BDBASE%.tex %BDINPUTS% \e
\& \-\-outfile=%BDBASE%\-all.tex
Ve
PP
See the \fBbundledoc\fR documentation for more information.
SH CAVEATS
IX Header "CAVEATS"
\&\fBarlatex\fR makes use of LaTeX's \f(CW\*(C`filecontents*\*(C'\fR environment. It
passes \f(CW\*(C`filecontents*\*(C'\fR the \f(CW\*(C`overwrite\*(C'\fR option to indicate that
existing files with the same name should be overwritten. Be
forewarned that building the generated file will overwrite the files
used to create it.
PP
It is best to avoid bundling binary files (e.g., included graphics)
with \fBarlatex\fR. These typically do not extract cleanly.
SH "SEE ALSO"
IX Header "SEE ALSO"
\&\fBbundledoc\fR\|(1), \fBlatex\fR\|(1), \fBshar\fR\|(1), \fBtar\fR\|(1), \fBzip\fR\|(1)
SH AUTHOR
IX Header "AUTHOR"
Scott Pakin, \
[email protected]\fR