diff options
author | Karl Berry <karl@freefriends.org> | 2013-04-07 18:26:53 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-04-07 18:26:53 +0000 |
commit | b04c2e1a42573e9735547702356c7b9a769a6855 (patch) | |
tree | c0753443f39500a062d7698fe6b94359c813f871 /Master/texmf-dist/doc/man/man1/bundledoc.1 | |
parent | fb0bf13304a356f197bfc1add17f98c07e96f17b (diff) |
texmf -> texmf-dist: doc
git-svn-id: svn://tug.org/texlive/trunk@29714 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/man/man1/bundledoc.1')
-rw-r--r-- | Master/texmf-dist/doc/man/man1/bundledoc.1 | 516 |
1 files changed, 516 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/man/man1/bundledoc.1 b/Master/texmf-dist/doc/man/man1/bundledoc.1 new file mode 100644 index 00000000000..c96c0fc8ec6 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/bundledoc.1 @@ -0,0 +1,516 @@ +.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" +.\" 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 +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'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 turned on, 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. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "BUNDLEDOC 1" +.TH BUNDLEDOC 1 "2011-05-02" "v3.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" +bundledoc \- bundle all the files needed by a LaTeX document +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +bundledoc +[\fB\-\-version\fR] +[\fB\-\-help\fR] +[\fB\-\-\fR[\fBno\fR]\fBverbose\fR] +[\fB\-\-texfile\fR=\fIfile\fR] +[\fB\-\-directory\fR=\fIdirectory\fR] +[\fB\-\-\fR[\fBno\fR]\fBlocalonly\fR] +[\fB\-\-exclude\fR=\fIstring\fR] +[\fB\-\-include\fR=\fIfilespec\fR] +[\fB\-\-manifest\fR=\fIfile\fR] +[\fB\-\-\fR\fBlistdeps\fR=[yes|no|only|rel]...] +[\fB\-\-\fR[\fBno\fR]\fBkeepdirs\fR] +[\fB\-\-config\fR=\fIfile\fR] +\&\fI.dep file\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBbundledoc\fR is a post-processor for the \fBsnapshot\fR package that +bundles together all the classes, packages, and files needed to build +a given LaTeX document. It reads the \fI.dep\fR file that \fBsnapshot\fR +produces, finds each of the files mentioned therein, and packages them +into a single archive file (e.g., a \fI.tar.gz\fR file), suitable for +moving across systems, transmitting to a colleague, etc. +.PP +As the simplest example possible, consider a LaTeX file called, say, +\&\fIhello.tex\fR: +.PP +.Vb 2 +\& \eRequirePackage{snapshot} % Needed by bundledoc +\& \edocumentclass[11pt]{article} +\& +\& \ebegin{document} +\& Hello, world! +\& \eend{document} +.Ve +.PP +The \f(CW\*(C`\eRequirePackage{snapshot}\*(C'\fR causes a \fIhello.dep\fR file to be produced. +When \fBbundledoc\fR is then given \f(CW\*(C`hello.dep\*(C'\fR as an argument, it locates the +dependent files \*(-- \fIsnapshot.sty\fR, \fIarticle.cls\fR, and \fIsize11.clo\fR \*(-- +and bundles them into a single archive file, along with \fIhello.tex\fR and a +\&\fI\s-1MANIFEST\s0\fR file (described in \*(L"\s-1OPTIONS\s0\*(R", below). +.SH "OPTIONS" +.IX Header "OPTIONS" +In the following descriptions, \fIsomefile\fR refers to the name of your +main LaTeX document (no extension). +.PP +\&\fBbundledoc\fR requires the name of the dependency file produced by +\&\fBsnapshot\fR (normally \fIsomefile\fR\fI.dep\fR). The following options may +also be given: +.IP "\fB\-\-version\fR" 4 +.IX Item "--version" +Output the \fBbundledoc\fR script's version number. This overrides all +of the remaining options. +.IP "\fB\-\-help\fR" 4 +.IX Item "--help" +Give a brief usage message. This overrides all of the remaining options. +.ie n .IP "\fB\-\-\fR[\fBno\fR]\fBverbose\fR (default: ""noverbose"")" 4 +.el .IP "\fB\-\-\fR[\fBno\fR]\fBverbose\fR (default: \f(CWnoverbose\fR)" 4 +.IX Item "--[no]verbose (default: noverbose)" +\&\fBbundledoc\fR normally does not output anything except error messages. +With \f(CW\*(C`\-\-verbose\*(C'\fR, it outputs copious status messages. +.IP "\fB\-\-texfile\fR=\fImain .tex file\fR (default: \fIsomefile\fR\fI.tex\fR)" 4 +.IX Item "--texfile=main .tex file (default: somefile.tex)" +\&\fBsnapshot\fR's dependency file does not list the main LaTeX file (the +one that gets passed to \fBlatex\fR). In order for \fBbundledoc\fR to find +and bundle that file, \fBbundledoc\fR assumes it has the same name as the +\&\fBsnapshot\fR dependency file but with a \fI.tex\fR extension. If this is +not the case, then use \f(CW\*(C`\-\-texfile\*(C'\fR to specify the correct filename. +.IP "\fB\-\-directory\fR=\fIarchive directory\fR (default: \fIsomefile\fR)" 4 +.IX Item "--directory=archive directory (default: somefile)" +When \fBbundledoc\fR creates an archive (e.g., a \fI.tar\fR or \fI.zip\fR file) +containing the document's files, it puts all of them in a directory to +avoid cluttering the current directory with files. If the given +dependency file is called \fIsomefile\fR\fI.dep\fR then the resulting +archive will, by default, store all the dependent files in a +\&\fIsomefile\fR directory. To change the directory name use the +\&\f(CW\*(C`\-\-directory\*(C'\fR option. +.ie n .IP "\fB\-\-\fR[\fBno\fR]\fBlocalonly\fR (default: ""nolocalonly"")" 4 +.el .IP "\fB\-\-\fR[\fBno\fR]\fBlocalonly\fR (default: \f(CWnolocalonly\fR)" 4 +.IX Item "--[no]localonly (default: nolocalonly)" +Although \fBbundledoc\fR normally archives all of the files named in the +\&\fI.dep\fR file, the \f(CW\*(C`\-\-localonly\*(C'\fR option tells \fBbundledoc\fR to exclude +all files located in a directory other than the \fI.tex\fR file's +directory or one of its subdirectories. +.IP "\fB\-\-exclude\fR=\fIstring\fR (default: \fInone\fR)" 4 +.IX Item "--exclude=string (default: none)" +While \f(CW\*(C`\-\-localonly\*(C'\fR causes files outside of the \fI.tex\fR file's +directory tree to be omitted from the archive, \f(CW\*(C`\-\-exclude\*(C'\fR provides +finer-grained control over files to omit from the archive. The +\&\f(CW\*(C`\-\-exclude\*(C'\fR option, which can be specified repeatedly on the command +line, causes all files whose name contains \fIstring\fR to be omitted +from the archive. +.IP "\fB\-\-include\fR=\fIfilespec\fR (default: \fInone\fR)" 4 +.IX Item "--include=filespec (default: none)" +The \f(CW\*(C`\-\-include\*(C'\fR option, which can be specified repeatedly on the +command line, instructs \fBbundledoc\fR to include in the archive all of +the files matching \fIfilespec\fR, even if they're not referenced in the +\&\fI.dep\fR file. +.IP "\fB\-\-manifest\fR=\fImanifest file\fR (default: \fI\s-1MANIFEST\s0\fR)" 4 +.IX Item "--manifest=manifest file (default: MANIFEST)" +In addition to the dependent files, \fBbundledoc\fR includes in the +archive file one extra file called, by default, ``\fI\s-1MANIFEST\s0\fR''. +\&\fI\s-1MANIFEST\s0\fR is a text file that lists the original filenames of all +the dependencies. To change the filename from ``\fI\s-1MANIFEST\s0\fR'' to +something else, use the \f(CW\*(C`\-\-manifest\*(C'\fR option. As a special case, +\&\f(CW\*(C`\-\-manifest=""\*(C'\fR tells \fBbundledoc\fR not to include a manifest file at +all. +.ie n .IP "\fB\-\-listdeps\fR=[yes|no|only|rel]...] (default: ""no"")" 4 +.el .IP "\fB\-\-listdeps\fR=[yes|no|only|rel]...] (default: \f(CWno\fR)" 4 +.IX Item "--listdeps=[yes|no|only|rel]...] (default: no)" +\&\f(CW\*(C`\-\-listdeps\*(C'\fR accepts one or more of \f(CW\*(C`yes\*(C'\fR, \f(CW\*(C`no\*(C'\fR, \f(CW\*(C`only\*(C'\fR, or \f(CW\*(C`rel\*(C'\fR +as a comma-separated list. As long as \f(CW\*(C`no\*(C'\fR does not appear in this +list, \fBbundledoc\fR outputs all of the main LaTeX file's dependencies. +If the list contains \f(CW\*(C`rel\*(C'\fR, then \fBbundledoc\fR outputs the list of +dependencies with relative pathnames. If the list contains \f(CW\*(C`only\*(C'\fR, +then \fBbundledoc\fR exits after displaying the list, without producing +an archive. +.ie n .IP "\fB\-\-\fR[\fBno\fR]\fBkeepdirs\fR (default: ""nokeepdirs"")" 4 +.el .IP "\fB\-\-\fR[\fBno\fR]\fBkeepdirs\fR (default: \f(CWnokeepdirs\fR)" 4 +.IX Item "--[no]keepdirs (default: nokeepdirs)" +Normally, the archive file that \fBbundledoc\fR produces contains a +single directory \*(-- and subdirectories, if the document refers +explicitly to them \*(-- in which all the dependent files lie. If +\&\f(CW\*(C`\-\-keepdirs\*(C'\fR is specified, all the dependent files are stored with +their original pathnames. For example, if \fIsomefile.tex\fR depends on +\&\fIfigures/somefigure.eps\fR, \fIarticle.cls\fR, and \fIsnapshot.sty\fR, then +the \fIsomefile\fR archive will normally contain the following files: +.RS 4 +.IP "\(bu" 4 +\&\fIsomefile/somefile.tex\fR +.IP "\(bu" 4 +\&\fIsomefile/figures/somefigure.eps\fR +.IP "\(bu" 4 +\&\fIsomefile/article.cls\fR +.IP "\(bu" 4 +\&\fIsomefile/snapshot.sty\fR +.IP "\(bu" 4 +\&\fIsomefile/MANIFEST\fR +.RE +.RS 4 +.Sp +However, \f(CW\*(C`\-\-keepdirs\*(C'\fR will cause the \fIsomefile\fR archive to contain +the following sorts of filenames instead: +.IP "\(bu" 4 +\&\fIhome/me/mydocs/somefile.tex\fR +.IP "\(bu" 4 +\&\fIhome/me/mydocs/figures/somefigure.eps\fR +.IP "\(bu" 4 +\&\fIusr/share/texmf/tex/latex/base/article.cls\fR +.IP "\(bu" 4 +\&\fIusr/share/texmf/tex/latex/snapshot/snapshot.sty\fR +.RE +.RS 4 +.Sp +\&\f(CW\*(C`\-\-directory\*(C'\fR is not used when \f(CW\*(C`\-\-keepdirs\*(C'\fR is in effect. In +addition, no manifest file is written to the archive file as it +contains redundant information. +.RE +.IP "\fB\-\-config\fR=\fIconfiguration file\fR (default: <none>)" 4 +.IX Item "--config=configuration file (default: <none>)" +The \f(CW\*(C`\-\-config\*(C'\fR option is used to point \fBbundledoc\fR to the +appropriate configuration (\fI.cfg\fR) file for your TeX distribution and +operating system. \fBbundledoc\fR comes with a few configuration files +and it's easy to write more. See \*(L"\s-1CONFIGURATION\s0 \s-1FILES\s0\*(R" (below) for +a description of the configuration file format. +.SH "CONFIGURATION FILES" +.IX Header "CONFIGURATION FILES" +.SS "Format" +.IX Subsection "Format" +Configuration files follow a fairly simple format. Lines beginning with +\&\f(CW\*(C`#\*(C'\fR are comments. Blank lines are ignored. All other lines are of the +form: +.PP +.Vb 1 +\& variable: value +.Ve +.PP +The current version of \fBbundledoc\fR recognizes the following variables: +.IP "\fBbundle\fR" 4 +.IX Item "bundle" +The command to use to bundle a set of files into a single archive file +.IP "\fBsink\fR" 4 +.IX Item "sink" +The affix to a command to discard its output +.IP "\fBfind\fR" 4 +.IX Item "find" +The command to find a file within the TeX tree(s). +.PP +Values that are too long for one line can be split across multiple lines +by using \f(CW\*(C`\e\*(C'\fR as the line-continuation symbol. +.PP +There are two environment variables that \fBbundledoc\fR makes available +for use by configuration-file commands: \f(CW\*(C`BDBASE\*(C'\fR, which is set to +\&\fIsomefile\fR (as in \*(L"\s-1OPTIONS\s0\*(R"), and \f(CW\*(C`BDINPUTS\*(C'\fR, which is set to a +space-separated list of files that a command is to operate upon. That +is, when the command associated with \f(CW\*(C`bundle\*(C'\fR is running, \f(CW\*(C`BDINPUTS\*(C'\fR +contains the list of all the files that are to be archived. In +contrast, when the command associated with \f(CW\*(C`find\*(C'\fR is running, +\&\f(CW\*(C`BDINPUTS\*(C'\fR contains the name of the file to search for. +.SS "Examples" +.IX Subsection "Examples" +The following configuration file parallels \fBbundledoc\fR's default +values of the various configuration-file variables, which represents a +kpathsea-based TeX distribution running on a generic Unix system, +which doesn't necessarily have any of the \s-1GNU\s0 tools, such as \fBgzip\fR +or \s-1GNU\s0 \fBtar\fR: +.PP +.Vb 2 +\& # "Default" configuration file +\& # By Scott Pakin <scott+bdoc@pakin.org> +\& +\& bundle: (tar \-cvf \- $BDINPUTS | compress > $BDBASE.tar.Z) +\& sink: > /dev/null 2>&1 +\& find: kpsewhich \-progname=latex $BDINPUTS +.Ve +.PP +The parentheses in the \f(CW\*(C`bundle:\*(C'\fR line tell the Unix shell to run the +command in a subshell. This is to make the \f(CW\*(C`sink:\*(C'\fR affix work +properly (i.e., so there aren't two \f(CW\*(C`>\*(C'\fR's in the same command). +.PP +Notice how the commands treat \f(CW\*(C`BDBASE\*(C'\fR and \f(CW\*(C`BDINPUTS\*(C'\fR like any other +environment variables in a Unix shell, using \f(CW\*(C`$\*(C'\fR to take their value. +Other operating systems use different conventions for referring to +environment variables. For instance, a configuration file for a +Windows-based TeX distribution would use \f(CW\*(C`%BDBASE%\*(C'\fR and \f(CW\*(C`%BDINPUTS%\*(C'\fR +instead. +.PP +The value for \f(CW\*(C`sink:\*(C'\fR is specific to an operating system. The value +for \f(CW\*(C`find:\*(C'\fR is specific to a TeX distribution. \f(CW\*(C`bundle:\*(C'\fR is where +the most opportunity for customization lies. You can use \f(CW\*(C`bundle:\*(C'\fR +to specify your favorite archive format. For example, you can produce +a shar file on Unix with something like: +.PP +.Vb 1 +\& bundle: (shar \-\-archive\-name="$BDBASE" $BDINPUTS > $BDBASE.sh) +.Ve +.PP +or a \s-1CAB\s0 file on Microsoft Windows with something like: +.PP +.Vb 1 +\& bundle: cabarc \-r \-p N %BDBASE%.cab %BDINPUTS% +.Ve +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Assume that \fImyfile.dep\fR was produced from \fImyfile.tex\fR by following +the instructions in the Description section. The +following command produces a \fI.zip\fR file with the MikTeX TeX +distribution running on Microsoft Windows: +.PP +.Vb 1 +\& bundledoc \-\-config=miktex.cfg myfile.dep +.Ve +.PP +(In practice, it's probably necessary to specify to \f(CW\*(C`\-\-config\*(C'\fR the +complete path to \fBbundledoc\fR's \fImiktex.cfg\fR configuration file.) +.PP +The following builds a \fI.tar.gz\fR archive with the TeX Live +distribution running on a Unix-like operating system. \fBbundledoc\fR +will produce verbose output describing its operations. All files not +in the same directory tree as \fImyfile.tex\fR and all files containing +\&\*(L".fd\*(R" or \*(L".sty\*(R" in their names are omitted. However, all \fI.bib\fR +files in the current directory will be included in the archive even +though none of them are referenced by \fImyfile.dep\fR. Finally, no +\&\fI\s-1MANIFEST\s0\fR file will be produced. +.PP +.Vb 3 +\& bundledoc \-\-config=texlive\-unix.cfg \-\-verbose \-\-localonly \e +\& \-\-exclude=.fd \-\-exclude=.cfg \-\-include="*.bib" \-\-manifest="" \e +\& myfile.dep +.Ve +.SH "FILES" +.IX Header "FILES" +The user must have previously installed \fIsnapshot.sty\fR and used it to +produce a dependency file for his document. Besides that, the set of +external files needed by \fBbundledoc\fR is system-specific and depends on the +configuration file used. (See \*(L"\s-1CONFIGURATION\s0 \s-1FILES\s0\*(R", above.) +.PP +\&\fBbundledoc\fR currently comes with two configuration files: +.IP "\fItexlive\-unix.cfg\fR" 4 +.IX Item "texlive-unix.cfg" +Configuration file for TeX Live installations on Unix or Linux. TeX +Live is a kpathsea-based TeX distribution that runs on various flavors +of Unix and Microsoft Windows. \fItexlive\-unix.cfg\fR assumes you have +\&\fBgzip\fR and uses it to produce a \fI.tar.gz\fR archive file. The +configuration file has \fBbundledoc\fR use \fBkpsewhich\fR to find LaTeX +files. +.IP "\fImiktex.cfg\fR" 4 +.IX Item "miktex.cfg" +Configuration file for MikTeX installations. MikTeX is a popular TeX +distribution for Microsoft Windows. \fImiktex.cfg\fR assumes you have +\&\fBzip\fR and uses it to produce a \fI.zip\fR archive file. The +configuration file has \fBbundledoc\fR use the rather nonstandard +\&\fBinitexmf\fR to find LaTeX files. +.SH "NOTES" +.IX Header "NOTES" +.SS "Including and excluding files" +.IX Subsection "Including and excluding files" +The \f(CW\*(C`\-\-localonly\*(C'\fR, \f(CW\*(C`\-\-exclude\*(C'\fR, and \f(CW\*(C`\-\-include\*(C'\fR options provide +control over the archive's contents. \f(CW\*(C`\-\-exclude\*(C'\fR and \f(CW\*(C`\-\-include\*(C'\fR +can be specified repeatedly on the command line. The order in which +these options are specified is immaterial; \fBbundledoc\fR processes file +inclusions and exclusions in the following order: +.IP "1." 4 +All files referenced by the \fI.dep\fR file are added to the list of +files to archive. +.IP "2." 4 +If \f(CW\*(C`\-\-localonly\*(C'\fR is specified, all files not found in the \fI.tex\fR +file's directory are removed from the list. +.IP "3." 4 +For each \f(CW\*(C`\-\-exclude\*(C'\fR string specified, all files containing that +string are removed from the list. +.IP "4." 4 +For each \f(CW\*(C`\-\-include\*(C'\fR file specification, the set of files designated +by its expansion are added to the list. +.SS "Issues When Running Under Microsoft Windows" +.IX Subsection "Issues When Running Under Microsoft Windows" +First, because \fBbundledoc\fR is a Perl script, you should do one of the +following to run it under Windows: +.IP "\(bu" 4 +\&\f(CW\*(C`perl bundledoc\*(C'\fR +.IP "\(bu" 4 +Rename \fIbundledoc\fR to \fIbundledoc.pl\fR and run \f(CW\*(C`bundledoc.pl\*(C'\fR. (This +is assuming you have a file association set up for \fI.pl\fR.) +.IP "\(bu" 4 +Run the \fBpl2bat\fR script (if you have it) to convert \fIbundledoc\fR to +\&\fIbundledoc.bat\fR, then run \f(CW\*(C`bundledoc\*(C'\fR. +.PP +Second, Windows uses a multi-rooted filesystem (i.e., multiple drive +letters). I wouldn't be surprised if bad things were to happen if the +files to be bundled are scattered across drives. In addition, Windows +supports ``\s-1UNC\s0'' filenames, which have no drive letter at all, just a +machine and share name. \s-1UNC\s0 filenames are also untested waters for +\&\fBbundledoc\fR. Be careful! +.SS "Testing Status" +.IX Subsection "Testing Status" +I have tested \fBbundledoc\fR only with Perl v5.6.0 and later and only on +the following platforms: +.IP "\(bu" 4 +Linux + TeX Live +.IP "\(bu" 4 +Linux + teTeX +.IP "\(bu" 4 +Windows \s-1NT\s0 + MiKTeX +.IP "\(bu" 4 +Solaris + ??? (something kpathsea-based) +.PP +It is my hope that \fBbundledoc\fR works on many more platforms than +those. I tried to make the program itself fairly independent of the +operating system; only the configuration files should have to change +to run \fBbundledoc\fR on a different system. +.SS "Future Work" +.IX Subsection "Future Work" +I'd like \fBbundledoc\fR to work on as wide a variety of TeX +distributions as possible. If your platform is significantly +different from the ones listed in \*(L"Testing Status\*(R" (e.g., if you're +running MacOS) and you need to create a substantially different +configuration file from \fItexlive\-unix.cfg\fR and \fImiktex.cfg\fR, please +send it to me at the address listed in \*(L"\s-1AUTHOR\s0\*(R" so I can include it +in a future version of \fBbundledoc\fR. (I make no promises, though). +.PP +Once \fBbundledoc\fR works on all the major operating systems and TeX +distributions it would be really convenient if I could get +\&\fBbundledoc\fR to detect the platform it's running on and automatically +select an appropriate configuration file. +.PP +Finally, it would be handy for \fBbundledoc\fR to include fonts in the +archive file. At a minimum, it should include \fI.tfm\fR files, but it +would be even better if it included \fI.mf\fR, \fI.pfb\fR, \fI.ttf\fR, and +other common font formats, as well. +.SS "Acknowledgments" +.IX Subsection "Acknowledgments" +Thanks to Fabien Vignes-Tourneret for suggesting what became the +\&\f(CW\*(C`\-\-localonly\*(C'\fR option and for a discussion that led to the +\&\f(CW\*(C`\-\-exclude\*(C'\fR and \f(CW\*(C`\-\-include\*(C'\fR options; and to Marius Kleiner for +updating \fBbundledoc\fR to properly handle document subdirectories. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIgzip\fR\|(1), \fIkpsewhich\fR\|(1), \fIlatex\fR\|(1), \fIperl\fR\|(1), \fIzip\fR\|(1), the \fBsnapshot\fR +documentation +.SH "AUTHOR" +.IX Header "AUTHOR" +Scott Pakin, \fIscott+bdoc@pakin.org\fR |