Package: context Version: 2008.01.28-1 Severity: important Tags: patch upstream thanks When using mptopdf on a .mp file containing only one figure and thus using beginfig(-1) to have no numbering of the resulting file at all, the PDF is not created. This is because mpost produces a .ps file in this case, while mptopdf.pl expects a suffix containing one or more digits or being .mps. Example input .mp file: ########################## input metauml; beginfig(-1); Begin.b; End.e; e.w = b.e + (15,0); drawObjects(b,e); clink(transition)(b, e); endfig; end ########################## The attached patch fixes this bug. Please note, that now the resulting file has the same name as the input .mp file with "s/.mp$/.pdf/" - not including the intermediate suffix as it is done with the figure numbers. It is now also done like this, if the intermediate output file has the suffix .mps, while I don't know when and why this may occur. Best regards, Martin
diff -Naur old/usr/share/texmf/scripts/context/perl/mptopdf.pl new/usr/share/texmf/scripts/context/perl/mptopdf.pl --- old/usr/share/texmf/scripts/context/perl/mptopdf.pl 2008-05-11 20:27:25.000000000 +0200 +++ new/usr/share/texmf/scripts/context/perl/mptopdf.pl 2008-05-11 20:27:34.000000000 +0200 @@ -120,7 +120,9 @@ foreach my $file (@files) { $_ = $file ; - if (s/\.(\d+|mps)$// && -e $file) { + if (s/\.(\d+|mps|ps)$// && -e $file) { + my $suffix = $1 ; + my $pdf = basename($_).".pdf" ; if ($miktex) { $command = "pdftex -undump=mptopdf" ; } else { @@ -132,15 +134,17 @@ $command = "$command \\\\relax $file" ; } system($command) ; - my $pdfsrc = basename($_).".pdf"; - rename ($pdfsrc, "$_-$1.pdf") ; - if (-e $pdfsrc) { - CopyFile ($pdfsrc, "$_-$1.pdf") ; + if ($suffix =~ m/\.\d+$/) { + rename ($pdf, "$_-$suffix.pdf") ; + if (-e $pdf) { + CopyFile ($pdf, "$_-$suffix.pdf") ; + } + $pdf = "$_-$suffix.pdf" ; } if ($done) { $report .= " +" ; } - $report .= " $_-$1.pdf" ; + $report .= " $pdf" ; ++$done ; } }
Attachment:
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil