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
Hartill, 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_hlink_stamp()
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.