| 
									
										
										
										
											1999-03-18 16:42:28 +00:00
										 |  |  | # LaTeX2HTML support for the ltxmarkup package.  Doesn't do indexing. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | package main; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sub ltx_next_argument{ | 
					
						
							|  |  |  |     my $param; | 
					
						
							|  |  |  |     $param = missing_braces() | 
					
						
							|  |  |  |       unless ((s/$next_pair_pr_rx/$param=$2;''/eo) | 
					
						
							|  |  |  | 	      ||(s/$next_pair_rx/$param=$2;''/eo)); | 
					
						
							|  |  |  |     return $param; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sub do_cmd_macro{ | 
					
						
							|  |  |  |     local($_) = @_; | 
					
						
							|  |  |  |     my $macro = ltx_next_argument(); | 
					
						
							| 
									
										
										
										
											2000-04-03 04:51:13 +00:00
										 |  |  |     return "<tt class='macro'>\$macro</tt>" . $_; | 
					
						
							| 
									
										
										
										
											1999-03-18 16:42:28 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sub do_cmd_env{ | 
					
						
							|  |  |  |     local($_) = @_; | 
					
						
							|  |  |  |     my $env = ltx_next_argument(); | 
					
						
							| 
									
										
										
										
											2000-04-03 04:51:13 +00:00
										 |  |  |     return "<tt class='environment'>\$env</tt>" . $_; | 
					
						
							| 
									
										
										
										
											1999-04-28 16:33:04 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sub ltx_process_params{ | 
					
						
							|  |  |  |     # Handle processing of \p and \op for parameter specifications for | 
					
						
							|  |  |  |     # envdesc and macrodesc.  It's done this way to avoid defining do_cmd_p() | 
					
						
							|  |  |  |     # and do_cmd_op() functions, which would be interpreted outside the context | 
					
						
							|  |  |  |     # in which these commands are legal, and cause LaTeX2HTML to think they're | 
					
						
							|  |  |  |     # defined.  This way, other uses of \p and \op are properly flagged as | 
					
						
							|  |  |  |     # unknown macros. | 
					
						
							|  |  |  |     my $s = @_[0]; | 
					
						
							|  |  |  |     $s =~ s%\\op<<(\d+)>>(.+)<<\1>>%<tt>[</tt><var>$2</var><tt>]</tt>%; | 
					
						
							|  |  |  |     while ($s =~ /\\p<<(\d+)>>(.+)<<\1>>/) { | 
					
						
							|  |  |  | 	$s =~ s%\\p<<(\d+)>>(.+)<<\1>>%<tt>{</tt><var>$2</var><tt>}</tt>%; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     return $s; | 
					
						
							| 
									
										
										
										
											1999-03-18 16:42:28 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sub do_env_macrodesc{ | 
					
						
							|  |  |  |     local($_) = @_; | 
					
						
							|  |  |  |     my $macro = ltx_next_argument(); | 
					
						
							| 
									
										
										
										
											1999-04-28 16:33:04 +00:00
										 |  |  |     my $params = ltx_process_params(ltx_next_argument()); | 
					
						
							| 
									
										
										
										
											2000-04-03 04:51:13 +00:00
										 |  |  |     return "\n<dl class='macrodesc'>" | 
					
						
							|  |  |  |          . "\n<dt><b><tt class='macro'>\$macro</tt></b>" | 
					
						
							| 
									
										
										
										
											1999-04-28 16:42:29 +00:00
										 |  |  |          . "\n    $params" | 
					
						
							| 
									
										
										
										
											1999-03-18 16:42:28 +00:00
										 |  |  | 	 . "\n<dd>" | 
					
						
							|  |  |  | 	 . $_ | 
					
						
							|  |  |  | 	 . "</dl>"; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sub do_env_envdesc{ | 
					
						
							|  |  |  |     local($_) = @_; | 
					
						
							|  |  |  |     my $env = ltx_next_argument(); | 
					
						
							| 
									
										
										
										
											1999-04-28 16:33:04 +00:00
										 |  |  |     my $params = ltx_process_params(ltx_next_argument()); | 
					
						
							| 
									
										
										
										
											2000-04-03 04:51:13 +00:00
										 |  |  |     return "\n<dl class='envdesc'>" | 
					
						
							|  |  |  |          . "\n<dt><tt>\begin{<b class='environment'>$env</b>}</tt>" | 
					
						
							| 
									
										
										
										
											1999-04-28 16:42:29 +00:00
										 |  |  |          . "\n    $params" | 
					
						
							| 
									
										
										
										
											2000-04-03 04:51:13 +00:00
										 |  |  |          . "\n<br /><tt>\end{<b class='environment'>$env</b>}</tt>" | 
					
						
							| 
									
										
										
										
											1999-03-18 16:42:28 +00:00
										 |  |  | 	 . "\n<dd>" | 
					
						
							|  |  |  | 	 . $_ | 
					
						
							|  |  |  | 	 . "</dl>"; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 1;				# Must end with this, because Perl is bogus. |