.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29) .\" .\" 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" '' . 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 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. .\" .\" 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 .\" .\" 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 "TEXDIRFLATTEN 1" .TH TEXDIRFLATTEN 1 "2017-07-03" "texdirflatten-v1.3" "User Contributed Perl Documentation" .\" 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" texdirflatten \- Collects all components of a (La)TeX file in a single output directory \-\- i.e., flattens its hierarchy. .SH "SYNOPSIS" .IX Header "SYNOPSIS" texdirflatten [\-1|\-\-onetex] [\-f|\-\-file input.tex] [\-o outputdir] [\-\-imgexts .ext1,.ext2,...] [\-\-debug] [\-V|\-\-version] [\-?|\-\-help] .SH "DESCRIPTION" .IX Header "DESCRIPTION" This Perl script parses a LaTeX file recursively, scanning all child files, and collects details of any included and other data files, such as graphics and BiBTeX bibliography files. These component files, are then all put into a single directory (thus \*(L"flattening\*(R" the document's directory tree). This is useful in distributing manuscripts to collaborators or in submitting to journals. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-\-file\fR, \fB\-f\fR \fIinput.tex\fR" 4 .IX Item "--file, -f input.tex" Specifies input (La)TeX file. .IP "\fB\-\-onetex\fR, \fB\-1\fR" 4 .IX Item "--onetex, -1" If specified, produces a single TeX file by expanding all \einput and \&\einclude commands in place. .IP "\fB\-\-output\fR, \fB\-o\fR \fIoutputdir\fR" 4 .IX Item "--output, -o outputdir" Directory to collect all files. \fBtexdirflatten\fR will copy each source file, graphics and bibliography file to this directory. It will be created if it is unexistent. If unspecified, it defaults to \f(CW\*(C`flat/\*(C'\fR. .IP "\fB\-\-imgexts\fR \fI.ext1,.ext2[,...]\fR" 4 .IX Item "--imgexts .ext1,.ext2[,...]" Prepends to the prioritized list of image extensions to search when trying to find the image to copy to output folder. The first file with the extension found will be copied and search stopped. Default order is \f(CW"", ".eps", ".pdf", ".pstex"\fR (note that it includes files with no extension). If using pdflatex, one may want to add \s-1PDF\s0 before \s-1EPS\s0 with \f(CW\*(C`\-\-imgexts .pdf\*(C'\fR. Don't forget the dot before the extension! .IP "\fB\-\-debug\fR" 4 .IX Item "--debug" Enables copious amounts of debugging output \- useful if something is going wrong. .IP "\fB\-\-version\fR, \fB\-V\fR" 4 .IX Item "--version, -V" Displays the current version number and the usage and exits. .IP "\fB\-\-help\fR, \fB\-?\fR" 4 .IX Item "--help, -?" Show this manual page. .SH "EXAMPLES" .IX Header "EXAMPLES" The following example scans \f(CW\*(C`manuscript.tex\*(C'\fR in the current directory and gathers it and all its components in the \f(CW\*(C`submit_01/\*(C'\fR directory: .PP .Vb 1 \& $ texdirflatten \-f manuscript.tex \-o submit_01 .Ve .SH "CAVEATS" .IX Header "CAVEATS" Please take backups before running this command. No warranties whatsoever provided. .PP You may need to run \f(CW\*(C`epstopdf\*(C'\fR on \s-1EPS\s0 files if you are using \f(CW\*(C`pdflatex\*(C'\fR: .PP .Vb 1 \& $ for i in *.eps; do epstopdf $i; done .Ve .SH "BUGS" .IX Header "BUGS" Bug reports and patches are welcome. .SH "AUTHOR" .IX Header "AUTHOR" Cengiz Gunay users.sf.net> .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyleft 2003\-2017, Cengiz Gunay .PP This library is free software; you may redistribute it and/or modify it under the same terms as Perl itself.