From 8e75cdadaf0dc67b1fe9412a8245567d646fa3d9 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sun, 20 Apr 2014 22:59:20 +0000 Subject: psutils support in TLPaper.pm git-svn-id: svn://tug.org/texlive/trunk@33566 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/TeXLive/TLPaper.pm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'Master/tlpkg/TeXLive/TLPaper.pm') diff --git a/Master/tlpkg/TeXLive/TLPaper.pm b/Master/tlpkg/TeXLive/TLPaper.pm index f5c1e97d147..e206b7de681 100644 --- a/Master/tlpkg/TeXLive/TLPaper.pm +++ b/Master/tlpkg/TeXLive/TLPaper.pm @@ -58,6 +58,7 @@ my %paper_sub = ( "dvipdfmx" => \&paper_dvipdfmx, "dvipdfm" => \&paper_dvipdfm, "context" => \&paper_context, + "psutils" => \&paper_psutils, ); # Where to write to by default. @@ -68,6 +69,7 @@ my %default_paper_config_path_component = ( "dvipdfmx" => "dvipdfmx", "dvipdfm" => "dvipdfm", "context" => "tex/context/user", + "psutils" => "psutils", ); my %default_paper_config_name = ( @@ -77,6 +79,7 @@ my %default_paper_config_name = ( "dvipdfmx" => "dvipdfmx.cfg", "dvipdfm" => "config", "context" => "cont-sys.tex", + "psutils" => "paper.cfg", ); # Output is done to the components in this hash. @@ -152,6 +155,8 @@ my %dvipdfm_papersize = ( "tabloid" => 1, ); +my %psutils_papersize = ( "a4" => 1, "letter" => 1, ); + @@ -615,6 +620,33 @@ sub paper_context { $outfile, \@sizes, 'a4', '\setuppapersize[a4][a4]', $newpaper); } + +# psutils +# config file "psutils/paper.cfg" only contains two words: +# p +# +sub paper_psutils { + my $outtree = shift; + my $newpaper = shift; + + my ($outcomp, $filecomp) = setup_names("psutils"); + my $dftfile = $default_paper_config_name{"psutils"}; + my $outfile = "$outtree/$outcomp/$filecomp"; + my $inp = &find_paper_file("psutils", "other text files", $filecomp, $dftfile); + + return unless $inp; + + + my @sizes = keys %psutils_papersize; + return &paper_do_simple($inp, "psutils", '^\s*p', '^\s*p\s+(\w+)\s*$', + sub { + my ($ll,$np) = @_; + $ll =~ s/^\s*p\s+(\w+)\s*$/p $np\n/; + return($ll); + }, + $outfile, \@sizes, '(undefined)', 'p a4', $newpaper); +} + # paper_do_simple does the work for single line config files # (xdvi, dvipdfm, ...) -- cgit v1.2.3