@@ -183,8 +183,17 @@ sub draw {
183183			system  " cd $working_dir  && " 
184184				. WeBWorK::PG::IO::externalCommand(' latex' 
185185				. "  --interaction=nonstopmode image-dvisvgm.tex > latex.stdout 2> /dev/null" 
186- 			move(" $working_dir /image-dvisvgm.dvi" " $working_dir /image.dvi" 
187- 			chmod (oct (664), " $working_dir /image.dvi" 
186+ 
187+ 			if  (-r  " $working_dir /image-dvisvgm.dvi" 
188+ 				move(" $working_dir /image-dvisvgm.dvi" " $working_dir /image.dvi" 
189+ 				chmod (oct (664), " $working_dir /image.dvi" 
190+ 			} else  {
191+ 				warn  ' The dvi file was not created.' 
192+ 				if  (open (my  $err_fh , ' <' " $working_dir /latex.stdout" 
193+ 					while  (my  $error  = <$err_fh >) { warn  $error ; }
194+ 					close ($err_fh );
195+ 				}
196+ 			}
188197		} else  {
189198			warn  " Can't open $working_dir /image-dvisvgm.tex for writing." 
190199			return  ' ' 
@@ -200,47 +209,36 @@ sub draw {
200209			system  " cd $working_dir  && " 
201210				. WeBWorK::PG::IO::externalCommand(' latex2pdf' 
202211				. "  --interaction=nonstopmode image.tex > latex.stdout 2> /dev/null" 
203- 			chmod (oct (664), " $working_dir /image.pdf" 
212+ 
213+ 			if  (-r  " $working_dir /image.pdf" 
214+ 				chmod (oct (664), " $working_dir /image.pdf" 
215+ 			} else  {
216+ 				warn  ' The pdf file was not created.' 
217+ 				if  (open (my  $err_fh , ' <' " $working_dir /latex.stdout" 
218+ 					while  (my  $error  = <$err_fh >) { warn  $error ; }
219+ 					close ($err_fh );
220+ 				}
221+ 			}
204222		} else  {
205223			warn  " Can't open $working_dir /image.tex for writing." 
206224			return  ' ' 
207225		}
208226	}
209227
210228	#  Make derivatives of the dvi
211- 	if  (($ext  eq  ' svg' $ext  eq  ' tgz' $svgMethod  eq  ' dvisvgm' 
212- 		if  (-r  " $working_dir /image.dvi" 
213- 			$self -> use_svgMethod($working_dir );
214- 		} else  {
215- 			warn  " The dvi file was not created." 
216- 			if  (open (my  $err_fh , " <" " $working_dir /latex.stdout" 
217- 				while  (my  $error  = <$err_fh >) {
218- 					warn  $error ;
219- 				}
220- 				close ($err_fh );
221- 			}
222- 		}
229+ 	if  (($ext  eq  ' svg' $ext  eq  ' tgz' $svgMethod  eq  ' dvisvgm' -r  " $working_dir /image.dvi" 
230+ 		$self -> use_svgMethod($working_dir );
223231	}
224232
225233	#  Make derivatives of the pdf
226- 	if  (($svgMethod  ne  ' dvisvgm' $ext  ne  ' svg' $ext  ne  ' pdf' 
227- 		if  (-r  " $working_dir /image.pdf" 
228- 			if  (($ext  eq  ' svg' $ext  eq  ' tgz' $svgMethod  ne  ' dvisvgm' 
229- 				$self -> use_svgMethod($working_dir );
230- 			}
231- 			if  ($ext  eq  ' tgz' 
232- 				$self -> use_convert($working_dir , " png" 
233- 			} elsif  ($ext  ne  ' svg' $ext  ne  ' pdf' 
234- 				$self -> use_convert($working_dir , $ext );
235- 			}
236- 		} else  {
237- 			warn  " The pdf file was not created." 
238- 			if  (open (my  $err_fh , " <" " $working_dir /latex.stdout" 
239- 				while  (my  $error  = <$err_fh >) {
240- 					warn  $error ;
241- 				}
242- 				close ($err_fh );
243- 			}
234+ 	if  (($svgMethod  ne  ' dvisvgm' $ext  ne  ' svg' $ext  ne  ' pdf' -r  " $working_dir /image.pdf" 
235+ 		if  (($ext  eq  ' svg' $ext  eq  ' tgz' $svgMethod  ne  ' dvisvgm' 
236+ 			$self -> use_svgMethod($working_dir );
237+ 		}
238+ 		if  ($ext  eq  ' tgz' 
239+ 			$self -> use_convert($working_dir , ' png' 
240+ 		} elsif  ($ext  ne  ' svg' $ext  ne  ' pdf' 
241+ 			$self -> use_convert($working_dir , $ext );
244242		}
245243	}
246244
0 commit comments