[LON-CAPA-cvs] cvs: loncom /xml londefdef.pm

foxr foxr@source.lon-capa.org
Tue, 31 Mar 2009 10:12:46 -0000


foxr		Tue Mar 31 10:12:46 2009 EDT

  Modified files:              
    /loncom/xml	londefdef.pm 
  Log:
  Factor out the creation of the LaTeX header code .. hope is to centralize this 
  across LonCAPA.
  
  
Index: loncom/xml/londefdef.pm
diff -u loncom/xml/londefdef.pm:1.398 loncom/xml/londefdef.pm:1.399
--- loncom/xml/londefdef.pm:1.398	Tue Jan 20 12:01:00 2009
+++ loncom/xml/londefdef.pm	Tue Mar 31 10:12:45 2009
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Tags Default Definition Module 
 #
-# $Id: londefdef.pm,v 1.398 2009/01/20 12:01:00 foxr Exp $
+# $Id: londefdef.pm,v 1.399 2009/03/31 10:12:45 foxr Exp $
 # 
 #
 # Copyright Michigan State University Board of Trustees
@@ -176,47 +176,8 @@
     if ($target eq 'web' || $target eq 'edit' || $target eq 'webgrade' ) {
 	# start_body() takes care of emitting the <html> 
     } elsif ($target eq 'tex') {
-	$currentstring .= 
-	    '\documentclass[letterpaper,twoside]{article}\raggedbottom';
-	if (($env{'form.latex_type'}=~'batchmode') ||
-            (!$env{'request.role.adv'})) {$currentstring .='\batchmode';} 
-	$currentstring .= '\newcommand{\keephidden}[1]{}'.
-                          '\renewcommand{\deg}{$^{\circ}$}'.
-			  '\usepackage{multirow}'.
-                          '\usepackage{longtable}'.
-                          '\usepackage{textcomp}'.
-                          '\usepackage{makeidx}'.
-                          '\usepackage[dvips]{graphicx}'.
-			  '\usepackage{wrapfig}'.
-			  '\usepackage{picins}'.
-			  '\usepackage[T1]{fontenc}'."\n".
-                          '\usepackage{lmodern}'."\n".
-			  '\usepackage[postscript]{ucs}'."\n".
-			  '\usepackage[utf8x]{inputenc}'."\n".
-			  '\usepackage{pifont}' ."\n".
-			  '\usepackage{latexsym}'."\n".
-                          '\usepackage{epsfig}'.
-			  "\\usepackage{xtab}\n".
-			  "\\usepackage{tabularx}\n".
-			  "\\usepackage{booktabs}\n".
-			  "\\usepackage{array}\n".
-			  "\\usepackage{colortbl}\n".
-			  "\\usepackage{xcolor}\n".
-                          '\usepackage{calc}'.
-                          '\usepackage{amsmath}'.
-                          '\usepackage{amssymb}'.
-                          '\usepackage{amsfonts}'.
-                          '\usepackage{amsthm}'.
-                          '\usepackage{amscd}';
-
-        if($env{'form.pdfFormFields'} eq 'yes') {
-            $currentstring .= '\usepackage{hyperref}'.
-                              '\usepackage{eforms}'.
-                              '\usepackage{tabularx}';
-        } 
 
-        $currentstring .= '\newenvironment{choicelist}{\begin{list}{}{\setlength{\rightmargin}{0in}\setlength{\leftmargin}{0.13in}\setlength{\topsep}{0.05in}\setlength{\itemsep}{0.022in}\setlength{\parsep}{0in}\setlength{\belowdisplayskip}{0.04in}\setlength{\abovedisplayskip}{0.05in}\setlength{\abovedisplayshortskip}{-0.04in}\setlength{\belowdisplayshortskip}{0.04in}}}{\end{list}}'.
-                          '\renewenvironment{theindex}{\begin{list}{}{{\vskip 1mm \noindent \large\textbf{Index}} \newline \setlength{\rightmargin}{0in}\setlength{\leftmargin}{0.13in}\setlength{\topsep}{0.01in}\setlength{\itemsep}{0.1in}\setlength{\parsep}{-0.02in}\setlength{\belowdisplayskip}{0.01in}\setlength{\abovedisplayskip}{0.01in}\setlength{\abovedisplayshortskip}{-0.04in}\setlength{\belowdisplayshortskip}{0.01in}}}{\end{list}}';
+	$currentstring .= &latex_header();
     }
     return $currentstring;
 }
@@ -4796,6 +4757,59 @@
 }
 
 
+#
+#   This sub provides the typical LaTeX prefix matter for tex output:
+#
+sub latex_header
+{
+    my $currentstring = '';
+
+    $currentstring .= 
+	'\documentclass[letterpaper,twoside]{article}\raggedbottom';
+    if (($env{'form.latex_type'}=~'batchmode') ||
+	(!$env{'request.role.adv'})) {$currentstring .='\batchmode';} 
+    $currentstring .= '\newcommand{\keephidden}[1]{}'.
+	'\renewcommand{\deg}{$^{\circ}$}'.
+	'\usepackage{multirow}'.
+	'\usepackage{longtable}'.
+	'\usepackage{textcomp}'.
+	'\usepackage{makeidx}'.
+	'\usepackage[dvips]{graphicx}'.
+	'\usepackage{wrapfig}'.
+	'\usepackage{picins}'.
+	'\usepackage[T1]{fontenc}'."\n".
+	'\usepackage{lmodern}'."\n".
+	'\usepackage[postscript]{ucs}'."\n".
+	'\usepackage[utf8x]{inputenc}'."\n".
+	'\usepackage{pifont}' ."\n".
+	'\usepackage{latexsym}'."\n".
+	'\usepackage{epsfig}'.
+	"\\usepackage{xtab}\n".
+	"\\usepackage{tabularx}\n".
+	"\\usepackage{booktabs}\n".
+	"\\usepackage{array}\n".
+	"\\usepackage{colortbl}\n".
+	"\\usepackage{xcolor}\n".
+	'\usepackage{calc}'.
+	'\usepackage{amsmath}'.
+	'\usepackage{amssymb}'.
+	'\usepackage{amsfonts}'.
+	'\usepackage{amsthm}'.
+	'\usepackage{amscd}';
+    
+    if($env{'form.pdfFormFields'} eq 'yes') {
+	$currentstring .= '\usepackage{hyperref}'.
+	    '\usepackage{eforms}'.
+	    '\usepackage{tabularx}';
+    } 
+    
+        $currentstring .= '\newenvironment{choicelist}{\begin{list}{}{\setlength{\rightmargin}{0in}\setlength{\leftmargin}{0.13in}\setlength{\topsep}{0.05in}\setlength{\itemsep}{0.022in}\setlength{\parsep}{0in}\setlength{\belowdisplayskip}{0.04in}\setlength{\abovedisplayskip}{0.05in}\setlength{\abovedisplayshortskip}{-0.04in}\setlength{\belowdisplayshortskip}{0.04in}}}{\end{list}}'.
+                          '\renewenvironment{theindex}{\begin{list}{}{{\vskip 1mm \noindent \large\textbf{Index}} \newline \setlength{\rightmargin}{0in}\setlength{\leftmargin}{0.13in}\setlength{\topsep}{0.01in}\setlength{\itemsep}{0.1in}\setlength{\parsep}{-0.02in}\setlength{\belowdisplayskip}{0.01in}\setlength{\abovedisplayskip}{0.01in}\setlength{\abovedisplayshortskip}{-0.04in}\setlength{\belowdisplayshortskip}{0.01in}}}{\end{list}}';
+    
+    return $currentstring;
+
+}
+
 =pod
 
 =head1 NAME