# -*- Perl -*- # Support routines for dbtotexi # # $Id: dbtotexi.sup 2.0 1995/04/01 21:09:46 norm Exp $ # # ############################################################################## if ($VERBOSE) { my($VERSION) = '$Id: dbtotexi.sup 2.0 1995/04/01 21:09:46 norm Exp $'; # ' my($REQNAME) = (split(/\s+/, $VERSION))[1]; my($vers) = (split(/\s+/, $VERSION))[2]; print STDERR "$REQNAME version $vers.\n"; } ############################################################################## require 'sgmls3l.pl'; $PI_FILE = ""; $PI_CHAPTER = ""; $PI_CHAPTER_NUMBER = ""; $PI_CHAPTER_PAGE = ""; sub generate_tag_instances { local($_); foreach $_ ('BOOKBIBLIO', 'DOCINFO', 'EXAMPLE', 'FIGURE', 'FORMALPARA', 'GLOSSARY', 'GLOSSDIV', 'PART', 'REFERENCE', 'SERIESINFO', 'SIDEBAR', 'TABLE', 'INFORMALTABLE', 'ARTHEADER', 'SECT1', 'SECT2', 'SECT3', 'SECT4', 'SECT5', 'REFSECT1', 'REFSECT2', 'REFSECT3', 'LOT', 'TOC', 'NOTE', 'CAUTION', 'IMPORTANT', 'TIP', 'WARNING') { &gen_titled($_) if !&ispackage($_); } foreach $_ ('REFNAME', 'REFPURPOSE') { &gen_asarg($_) if !&ispackage($_); } foreach $_ ('APPENDIX', 'CHAPTER', 'PREFACE') { &gen_chapter($_) if !&ispackage($_); } foreach $_ ('LITERALLAYOUT', 'COMPUTEROUTPUT', 'PROGRAMLISTING', 'SYNOPSIS') { &gen_obeyspaces($_) if !&ispackage($_); } foreach $_ ('PRIMARY', 'SECONDARY', 'TERTIARY', 'SEE', 'SEEALSO') { &gen_index_term($_) if !&ispackage($_); } foreach $_ (keys %TAGS) { my($tag) = $WHENTREE{$_}; $tag = $tag->{'*tag'} if ref $tag eq 'HASH'; if ($tag =~ /^\./) { # this is a dot macro &gen_dottag ($_) if !&ispackage($_); } else { # this is an inline macro &gen_inline ($_) if !&ispackage($_); } } } sub sig_handler { local($sig) = @_; $SIG{'INT'} = 'IGNORE'; $SIG{'KILL'} = 'IGNORE'; $SIG{'HUP'} = 'IGNORE'; print STDERR "Terminated by SIG$sig...\n"; exit 101; } ######################################################################## sub PI_lb { my($self, $markup, $args) = @_; if (($self->{'PARENT'})->{'TAG'} ne 'TITLE') { &WARNING("The processing instruction is only meaningful in titles."); return undef; } $markup->markup("<\001lb>"); return ""; } sub PI_html { my($self, $markup, $args) = @_; $markup->markup("<" . $args . ">"); return ""; } sub PI_tex { my($self, $markup, $args) = @_; return ""; } sub PI_source_file { my($self, $markup, $args) = @_; $markup->markup("\@comment source file: $args"); $PI_SOURCE_FILE = $args; return ""; } sub PI_formatter_file { my($self, $markup, $args) = @_; $markup->markup("\@comment file: $args"); $PI_FILE = $args; return ""; } sub PI_chapter { my($self, $markup, $args) = @_; $PI_CHAPTER = $args; return undef; } sub PI_chapter_number { my($self, $markup, $args) = @_; $PI_CHAPTER_NUMBER = $args; return undef; } sub PI_chapter_page { my($self, $markup, $args) = @_; $PI_CHAPTER_PAGE = $args; return undef; } sub PI_page_number { my($self, $markup, $args) = @_; return ""; } sub PI_part { my($self, $markup, $args) = @_; return ""; } sub PI_figure_height { my($self, $markup, $args) = @_; $PI_FIGURE_HEIGHT = $args; return undef; } sub PI_graphic_args { my($self, $markup, $args) = @_; $PI_GRAPHIC_ARGS = $args; return undef; } sub PI_numbered_sections { my($self, $markup, $args) = @_; $PI_NUMBERED_SECTIONS = $args; return undef; } sub PI_table_above_rule_space { my($self, $markup, $args) = @_; $TABLE_ABOVE_RULE_SPACE = $args . "p"; return undef; } sub PI_table_below_rule_space { my($self, $markup, $args) = @_; $TABLE_BELOW_RULE_SPACE = $args . "p"; return undef; } sub PI_table_frame_rule { my($self, $markup, $args) = @_; $TABLE_FRAME_RULE = $TABLE_SINGLE_HORIZ_RULE if $args =~ /^single/i; $TABLE_FRAME_RULE = $TABLE_DOUBLE_HORIZ_RULE if $args =~ /^double/i; return undef; } sub PI_no_hyphen { my($self, $markup, $args) = @_; $markup->text($args); return ""; } sub PI_bye { my($self, $markup, $args) = @_; $sgmlsParse::IGNORE_ALL_MARKUP = 1; return ""; } 1;