Schalter für Latexvorlagen.
authorUdo Spallek <info@wissensvermittlung.com>
Tue, 28 Feb 2006 16:04:03 +0000 (16:04 +0000)
committerUdo Spallek <info@wissensvermittlung.com>
Tue, 28 Feb 2006 16:04:03 +0000 (16:04 +0000)
Der Ausdruck <%analyse%> in Latexvorlagen bewirkt,
dass die aus den Vorlagen generierten Latexdokumente
nicht geloescht, sondern im Verzeichnis user/
gespeichert werden.

Bitte nicht vergessen, den Schalter nach dem Bearbeiten
wieder 'um zu legen', weil der Latexlauf ne Menge Output
erzeugt, und das users/ Verzeichnis unuebersichtlich wird.
Wenn <%analyse%> nicht mehr gewuenscht ist,
kann man einfach <%noanalyse%> schreiben, oder den Schalter
<%analyse%> aus dem Quelltext loeschen.

Systemintern kann diese Variable als $form->{analysed}
auf 1 oder "" gesetzt werden.
(evtl. fuer eine Ueberarbeitung der Latex Template
Bearbeitung in Lx ganz praktisch, weil Latexausgaben
direkt Online angezeigt werden könnten...)

SL/Form.pm

index fe9d2b8..b7b76e4 100644 (file)
@@ -783,7 +783,16 @@ sub parse_template {
 
     $par = "";
     $var = $_;
-
+    # Switch <%analyse%> for template checking
+    # If <%analyse%> is set in the template, you'll find the 
+    # parsed output in the user Directory for analysing
+    # Latex errors
+    # <%analyse%> is a switch (allways off, on if set), not a Variable
+    # Set $form->{analysing}="" for system state: never analyse.
+    # Set $form->{analysing}="1" for system state: ever analyse.
+    $self->{analysing} = "1" if (/<%analyse%>/ && !defined $self->{analysing});    
+    
     $two_passes = 1 if (/\\pageref/);
 
     # { Moritz Bunkus
@@ -1108,12 +1117,14 @@ sub cleanup {
     close(FH);
   }
 
-  if ($self->{tmpfile}) {
+  if ($self->{analysing} eq "") {
+    if ($self->{tmpfile}) {
 
-    # strip extension
-    $self->{tmpfile} =~ s/\.\w+$//g;
-    my $tmpfile = $self->{tmpfile};
-    unlink(<$tmpfile.*>);
+      # strip extension
+      $self->{tmpfile} =~ s/\.\w+$//g;  
+      my $tmpfile = $self->{tmpfile};
+      unlink(<$tmpfile.*>);
+    }
   }
 
   chdir("$self->{cwd}");