NAME

TeX::AutoTeX::Process - orchestrate the system calls for tex, dvips, etc.

DESCRIPTION

The Process object is instantiated to oversee processing after a a temporary directory has been create containing the paper source inside. Processing of individual files is handled by TeX::AutoTeX::File.

HISTORY

AutoTeX automatic TeX processing system
Copyright (c) 1994-2006 arXiv.org and contributors

AutoTeX is supplied under the GNU Public License and comes
with ABSOLUTELY NO WARRANTY; see COPYING for more details.

AutoTeX is an automatic TeX processing system designed to
process TeX/LaTeX/AMSTeX/etc source code of papers submitted
to the arXiv.org (nee xxx.lanl.gov) e-print archive. The
portable part of this code has been extracted and is made
available in the hope that it will be useful to other projects
and that the input of others will benefit arXiv.org.

Code developed and contributed to by Tanmoy Bhattacharya, Rob
Harthill, Mark Doyle, Thorsten Schwander, and Simeon Warner.
Refactored to separate generic code from arXiv.org specific code
by Stephen Marsh, Michael Fromerth, and Simeon Warner 2005/2006.

Major cleanups and algorithmic improvements/corrections by
Thorsten Schwander 2006 - 2011

SUBROUTINES/METHODS

new() -- Structure of Process Object

go, do the processing
log, TeX::AutoTeX::Log object
temp_dir, the temp directory we create to muck about in branch, the tex branch we will be using
stamp, the stamp, e.g. 'arXiv:hep-th/9901001 v1 10 Sep 2001' to be added to the processed file
use_stamp, a flag, determines whether stamp will be added
tex_env_path, location of binaries within chroot
decryption_key, key to be used to decrypt encrypted files
dvi_flags, the flags that should be passed to dvips
add_dvi_flag, push the provided parameter onto the array of dvips options
dvi_flags_tostring, convert the array of parameters for dvips to a string suitable for the command-line
nohypertex, a flag, prevents hyperlinking
made_pdf, ref to array which stores the names of the pdfs generated by pdf(la)tex, initialized empty
warnings, a hash in which warnings are stored during processing that may then be accessed via get_warning()
Call this to process the paper
Creates a new Process object.
Call as TeX::AutoTex::Process->('log'=>$log,'temp_dir'=>...);

returns undef if processing was successful, true (an error string) otherwise

process_files()

Process the files in the current directory

If a pdf is generated, stores its filename(s) in @{$self->{made_pdf}} so that the calling code can then act appropriately.

clean_times()

Sets the timestamps on all the files to the current time.

process_of_type(@types)

Process files if there are ones of the list of types passed to this subroutine.

file_list()

Returns an array of File objects representing the files currently present in the working directory. The directory contents changes with each processing stage, so this is called repeatedly to get a fresh view of the directory.

parse_readme()

Parses the readme file.

set_dvi_flags(@flags)

Accessors for process specific dvi_flags

set_use_stamp(BOOLEAN)

Allows one to change whether or not the stamp will be added to output

Toggle whether or not the stamp will be hyperlinked

get_stamp()

Returns the stamp that should be placed on PostScript files, or undefined if we aren't to use a stamp on this paper.

get_warning($type)

Accessor method for any warnings that have been written into the $self->{warnings} hash during processing. The argument specifies which type of warning. (Could be extended to return all types of warning if $type not specified.)

BUGS AND LIMITATIONS

Please report bugs to www-admin

AUTHOR

See history above. Current maintainer: Thorsten Schwander for arXiv.org

LICENSE AND COPYRIGHT

Copyright (c) 2007 - 2011 arxiv.org http://arxiv.org/help/contact

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.