local($t_affil, $t_authoraddr, $t_keywords); sub do_cmd_htmllink { &do_cmd_htmladdnormallink; } # Only difference here is a space after $title. sub make_head_and_body { local($title) = @_; "\n$title \n\n

\n"; } &ignore_commands( <<_IGNORED_CMDS_); paper # {} # {} # {} #{} invited # {} # {} # {} #{} reference altaffilmark # {} sessiontype # {} instructions # {} firstauthor # {} authoraddress # {} authorphone # {} authoremail # {} aindex # {} #index # {} makeaindex printaindex cleardoublepage null admininfo _IGNORED_CMDS_ sub make_abstract { local($_) = @_; join('',"

Abstract:

\n$_

\n"); } # STScI: add the references environment and the figure environment. # # In both cases, just push the contents of the environment back out to # be processed as ordinary text. We rely on special text to recognize # the psfig command or the AASTeX commands for including a PostScript # figure: plotone or plottwo sub do_env_references { local($_) = @_; join('',"

References:

\n$_

\n"); } sub do_env_participants { local($_) = @_; join('',"

Participant List

\n$_

\n"); } sub do_cmd_psfig { local($_) = @_; s/$next_pair_pr_rx//o; local($args) = $&; $args = &revert_to_raw_tex($args); $args =~ s/ //g; # psfig does not like spaces !! join('',&process_in_latex_icon("\\psfig$args"),"

$_"); } sub do_cmd_plotone { local($_) = @_; s/$next_pair_pr_rx//o; local($args) = $&; $args = &revert_to_raw_tex($args); join('',&process_in_latex_icon("\\plotone$args"),"

$_"); } sub do_cmd_plottwo { local($_) = @_; s/$next_pair_pr_rx//o; local($arg1) = $&; $arg1 = &revert_to_raw_tex("$arg1"); s/$next_pair_pr_rx//o; $arg2 = $&; $arg2 = &revert_to_raw_tex("$arg2"); join('',&process_in_latex_icon("\\plottwo$arg1$arg2"),"

$_"); } # STScI: Changed for AASTeX, since several \author commands is allowed. sub do_cmd_author { local($_) = @_; s/$next_pair_pr_rx//o; ($t_author) = $&; join('', "

$t_author
", $_); } # STScI: Commands for AASTeX sub do_cmd_affil { local($_) = @_; s/$next_pair_pr_rx//o; ($t_affil) = $&; join('', "$t_affil
", $_); } sub do_cmd_authoraddr { local($_) = @_; s/$next_pair_pr_rx//o; ($t_authoraddr) = $&; join('', "$t_authoraddr

\n", $_); } sub do_cmd_keywords { local($_) = @_; s/$next_pair_pr_rx//o; ($t_keywords) = $&; join('', "

Keywords: $t_keywords

\n", $_); } sub do_cmd_altaffiltext { local($_) = @_; s/$next_pair_pr_rx//o; local($br_id, $footnote) = ($1, $2); &process_footnote($footnote) if $footnote; $_; } sub do_cmd_altaffilmark { local($_) = @_; # &get_next_optional_argument; # Don't use ()'s for the optional argument! s/\\altaffiltext\{[^}]*\}\s*$any_next_pair_pr_rx//o; local($br_id, $footnote) = ($1, $2); if ($footnote) { &process_footnote($footnote); $_ = join('',&make_href("$footfile#$br_id",$footnote_mark),$_);} else { print "\nCannot find \\footnotetext";}; $_; } sub do_cmd_adassI { local($_) = @_; join('',"in Astronomical Data Analysis Software and Systems I, ASP Conf. Ser., Vol. 25, eds. D.M. Worrall, C. Biemesderfer, & J. Barnes (San Francisco, ASP), p. $_"); } sub do_cmd_adassII { local($_) = @_; join('',"in Astronomical Data Analysis Software and Systems II, ASP Conf. Ser., Vol. 52, eds. R.J. Hanisch, R.J.V. Brissenden, & J. Barnes (San Francisco, ASP), p. $_"); } sub do_cmd_adassIII { local($_) = @_; s/$next_pair_pr_rx//o; local($arg1) = $&; s/$next_pair_pr_rx//o; local($arg2) = $&; join('',"in Astronomical Data Analysis Software and Systems III, ASP Conf. Ser., Vol.~61, eds. D.~R. Crabtree, R.~J. Hanisch, & J. Barnes (San Francisco, ASP), p. $arg1"); } sub do_cmd_adassIV { local($_) = @_; &process_ref($cross_ref_mark,$cross_ref_visible_mark); } sub do_cmd_acknowledgments { local($_) = @_; join('',"

Acknowledgments:

\n$_

\n"); } sub do_cmd_acknowledgements { &do_cmd_acknowledgments; } # A number of Journal abbreviations: sub do_cmd_aap { join('',"A&A@_"); } sub do_cmd_aapr { join('',"ARA&A@_"); } sub do_cmd_aaps { join('',"A&AS@_"); } sub do_cmd_aj { join('',"AJ@_"); } sub do_cmd_ao { join('',"Appl. Optics@_"); } sub do_cmd_apj { join('',"ApJ@_"); } sub do_cmd_apjl { join('',"ApJ@_"); } sub do_cmd_apjs { join('',"ApJS@_"); } sub do_cmd_apss { join('',"Ap&SS@_"); } sub do_cmd_araa { join('',"ARA&A@_"); } sub do_cmd_azh { local($_) = @_; join('',"AZh$_"); } sub do_cmd_baas { local($_) = @_; join('',"BAAS$_"); } sub do_cmd_jrasc { local($_) = @_; join('',"JRASC$_"); } sub do_cmd_memras { local($_) = @_; join('',"MmRAS$_"); } sub do_cmd_mnras { local($_) = @_; join('',"MNRAS$_"); } sub do_cmd_pra { local($_) = @_; join('',"Phys. Rev. A$_"); } sub do_cmd_prb { local($_) = @_; join('',"Phys. Rev. B$_"); } sub do_cmd_prc { local($_) = @_; join('',"Phys. Rev. C$_"); } sub do_cmd_prd { local($_) = @_; join('',"Phys. Rev. D$_"); } sub do_cmd_prl { local($_) = @_; join('',"Phys. Rev. Lett.$_"); } sub do_cmd_pasp { local($_) = @_; join('',"PASP$_"); } sub do_cmd_pasj { local($_) = @_; join('',"PASJ$_"); } sub do_cmd_qjras { local($_) = @_; join('',"QJRAS$_"); } sub do_cmd_skytel { local($_) = @_; join('',"S&T$_"); } sub do_cmd_solphys { local($_) = @_; join('',"Solar Phys.$_"); } sub do_cmd_sovast { local($_) = @_; join('',"Soviet Ast.$_"); } sub do_cmd_ssr { local($_) = @_; join('',"Space Sci. Rev.$_"); } sub do_cmd_zap { local($_) = @_; join('',"ZAp$_"); } sub do_cmd_astap { &do_cmd_aap ; } sub do_cmd_apjlett { &do_cmd_apjl ; } # special symbols sub do_cmd_deg { join('',"^o@_"); } sub do_cmd_sun { join('',"o@_"); } sub do_cmd_fd { join('',".d@_"); } sub do_cmd_fh { join('',".h@_"); } sub do_cmd_fm { join('',".m@_"); } sub do_cmd_fs { join('',".s@_"); } sub do_cmd_fdg { join('', ".o", @_); } sub do_cmd_farcm { join('',".'@_"); } sub do_cmd_farcs { join('',".''@_"); } sub do_cmd_micron { local($_) = @_; join('',"micron$_"); } sub do_cmd_onehalf { join('',"1/2@_"); } sub do_cmd_onethird { join('',"1/3@_"); } sub do_cmd_twothirds { join('',"2/3@_"); } sub do_cmd_onequarter { join('',"1/4@_"); } sub do_cmd_threequarters { join('',"3/4@_"); } sub do_cmd_ubvr { join('',"UBVR@_"); } sub do_cmd_ub { join('',"U-B@_"); } sub do_cmd_bv { join('',"B-V@_"); } sub do_cmd_vr { join('',"V-R@_"); } sub do_cmd_ur { join('',"U-R@_"); } sub do_cmd_ion { local($_) = @_; s/$next_pair_pr_rx//o; local($element) = $&; s/$next_pair_pr_rx//o; $number = $2; join('',$element,&roman($number),$_); } # A roman numeral subroutine for the \ion macro: sub roman{ local( $num ) = @_ ; $thousands = ( $num - $num%1000 )/1000 ; $num = $num - 1000*$thousands ; $hundreds = ( $num - $num%100 )/100 ; $num = $num - 100*$hundreds ; $tens = ( $num - $num%10 )/10 ; $ones = $num - 10*$tens ; $rom = "M" x $thousands ; if ( $hundreds < 5 ) { $rom = $rom . "C" x $hundreds ; } elsif ( $hundreds < 9 ) { $rom = $rom . "D" . "C" x ( $hundreds - 5 ) ; } else { $rom = $rom . "CM" ; } if ( $tens < 4 ) { $rom = $rom . "X" x $tens ; } elsif ( $tens == 4 ) { if ( $ones == 9 ) { $rom = $rom . "IL" ; $ones = 0 ; } else { $rom = $rom . "XL" ; } } elsif ( $tens < 9 ) { $rom = $rom . "L" . "X" x ( $tens - 5 ) ; } else { if ( $ones == 9 ) { $rom = $rom . "IC" ; $ones = 0 ; } else { $rom = $rom . "XC" ; } } if ( $ones < 4 ) { $rom = $rom . "I" x $ones ; } elsif ( $ones == 4 ) { $rom = $rom . "IV" ; } elsif ( $ones < 9 ) { $rom = $rom . "V" . "I" x ( $ones - 5 ) ; } else { $rom = $rom . "IX" ; } return( $rom ); } # Added for ADASS sub do_cmd_fortran { local($_) = @_; join('',"FORTRAN$_"); } sub do_cmd_us { local($_) = @_; join('',"\\_$_"); } sub add_aidx { print "\nDoing the author index ..."; local($key, $str, @keys, $aindex, $level, $count, @previous, @current); @keys = keys %aindex; @keys = sort keysort @keys; $level = 0; foreach $key (@keys) { @current = split(/!/, $key); $count = 0; while ($current[$count] eq $previous[$count]) { $count++; } while ($count > $level) { $aindex .= "

\n"; $level++; } while ($count < $level) { $aindex .= "
\n"; $level--; } foreach $term (@current[$count .. $#current-1]) { # need to "step in" a little $aindex .= "
" . $term . "\n
\n"; $level++; } $str = $current[$#current]; $str =~ s/\#\#\#\d+$//o; # Remove the unique id's $aindex .= $aindex{$key} . # If it's the same string don't start a new line (&index_key_eq(join('',@current), join('',@previous)) ? ", " . $cross_ref_visible_mark . "\n" : "
" . $str . "\n"); @previous = @current; } while ($count < $level) { $aindex .= "
\n"; $level--; } s/$aidx_mark/
$aindex<\/DL>/o; } # IGNORE the contents of this environment - We construct our own aindex sub do_env_theaindex { ""; } # $idx_mark will be replaced with the real index at the end sub do_cmd_tex2htmlaindex { local($_) = @_; $TITLE = $aidx_title; $aidxfile = $CURRENT_FILE; join('','

' , &make_section_heading($aidx_title, "H2"), $aidx_mark, $_); } 1;