diff options
author | Karl Berry <karl@freefriends.org> | 2010-04-10 22:08:00 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-04-10 22:08:00 +0000 |
commit | 963b665a04c33ddcfe04234426c8bca1942589bf (patch) | |
tree | 2416c1045ecd8aaa916a512cf7a05cd4055661f9 /Master/texmf | |
parent | 5406b8e0ea1d596600f773e766975256e4087c51 (diff) |
add bundledoc 3.0 (10apr10)
git-svn-id: svn://tug.org/texlive/trunk@17794 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf')
-rw-r--r-- | Master/texmf/doc/man/man1/arlatex.1 | 279 | ||||
-rw-r--r-- | Master/texmf/doc/man/man1/arlatex.man1.pdf | bin | 0 -> 10122 bytes | |||
-rw-r--r-- | Master/texmf/doc/man/man1/bundledoc.1 | 505 | ||||
-rw-r--r-- | Master/texmf/doc/man/man1/bundledoc.man1.pdf | bin | 0 -> 22617 bytes |
4 files changed, 784 insertions, 0 deletions
diff --git a/Master/texmf/doc/man/man1/arlatex.1 b/Master/texmf/doc/man/man1/arlatex.1 new file mode 100644 index 00000000000..8ef4f1d12b0 --- /dev/null +++ b/Master/texmf/doc/man/man1/arlatex.1 @@ -0,0 +1,279 @@ +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) +.\" +.\" 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 "ARLATEX 1" +.TH ARLATEX 1 "2010-04-09" " " "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 +\&\fI.tex\fR 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 LaTeX2e's \f(CW\*(C`filecontents*\*(C'\fR environment. +\&\f(CW\*(C`filecontents*\*(C'\fR refuses to overwrite an existing file. However, it +also refuses to create a file that exists \fIanywhere\fR that LaTeX can +find it. That is, if the user running \fBlatex\fR on an +\&\fBarlatex\fR\-generated \fI.tex\fR file already has a +\&\fI/usr/share/texmf/tex/latex/whatever/whatever.sty\fR file then +\&\f(CW\*(C`filecontents*\*(C'\fR will refuse to create a \fIwhatever.sty\fR file, even in +a different directory. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIbundledoc\fR\|(1), \fIlatex\fR\|(1), \fIshar\fR\|(1), \fItar\fR\|(1), \fIzip\fR\|(1) +.SH "AUTHOR" +.IX Header "AUTHOR" +Scott Pakin, \fIscott+bdoc@pakin.org\fR diff --git a/Master/texmf/doc/man/man1/arlatex.man1.pdf b/Master/texmf/doc/man/man1/arlatex.man1.pdf Binary files differnew file mode 100644 index 00000000000..94cba9ba66a --- /dev/null +++ b/Master/texmf/doc/man/man1/arlatex.man1.pdf diff --git a/Master/texmf/doc/man/man1/bundledoc.1 b/Master/texmf/doc/man/man1/bundledoc.1 new file mode 100644 index 00000000000..9f649f1d96f --- /dev/null +++ b/Master/texmf/doc/man/man1/bundledoc.1 @@ -0,0 +1,505 @@ +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) +.\" +.\" 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 "2010-04-09" " " "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[\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 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\-\-\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 diff --git a/Master/texmf/doc/man/man1/bundledoc.man1.pdf b/Master/texmf/doc/man/man1/bundledoc.man1.pdf Binary files differnew file mode 100644 index 00000000000..685ee26b787 --- /dev/null +++ b/Master/texmf/doc/man/man1/bundledoc.man1.pdf |