groff-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[groff] 01/01: gideal: new project for integrating ideal to groff; just


From: Bernd Warken
Subject: [groff] 01/01: gideal: new project for integrating ideal to groff; just for preliminary, not really working
Date: Mon, 16 Jun 2014 16:40:57 +0000

bwarken pushed a commit to branch master
in repository groff.

commit 972f14acc72b63df9631129ba123c7442871fe25
Author: Bernd Warken <address@hidden>
Date:   Mon Jun 16 18:40:48 2014 +0200

    gideal: new project for integrating ideal to groff; just for preliminary, 
not really working
---
 ChangeLog                   |    6 +
 Makefile.in                 |    3 +-
 contrib/gideal/ChangeLog    |   36 +++++
 contrib/gideal/Makefile.sub |   66 +++++++++
 contrib/gideal/gideal.man   |  335 +++++++++++++++++++++++++++++++++++++++++++
 contrib/gideal/gideal.pl    |  203 ++++++++++++++++++++++++++
 contrib/gideal/ideal.man    |  279 +++++++++++++++++++++++++++++++++++
 7 files changed, 927 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 18a89e3..60c44b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-06-16  Bernd Warken  <address@hidden>
+
+       * contrib/gideal: New project for installing `ideal' for `groff'.
+
+       * Makefile.in: Add `gideal' for `OTHERDIRS'.
+
 2014-06-15  Bernd Warken  <address@hidden>
 
        * src/roff/grog/grog.pl, src/roff/grog/subs.pl: Repair argument
diff --git a/Makefile.in b/Makefile.in
index 65ae1fc..dd927c7 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -2,7 +2,7 @@
 #   Free Software Foundation, Inc.
 #      Written by James Clark (address@hidden)
 #
-# Last update: 30 Mar 2014
+# Last update: 16 Jun 2014
 #
 # This file is part of groff.
 #
@@ -675,6 +675,7 @@ OTHERDIRS=\
   contrib/chem \
   contrib/eqn2graph \
   contrib/gdiffmk \
+  contrib/gideal \
   contrib/glilypond \
   contrib/gperl \
   contrib/grap2graph \
diff --git a/contrib/gideal/ChangeLog b/contrib/gideal/ChangeLog
new file mode 100644
index 0000000..21d7e39
--- /dev/null
+++ b/contrib/gideal/ChangeLog
@@ -0,0 +1,36 @@
+2014-06-16  Bernd Warken  <address@hidden>
+
+       * Project: Project `gideal' with starting version 0.9 without real
+       running.
+
+       * gideal.pl: Preprocessor for the `ideal language' for `groff'.
+       This program doesn't work yet, it just displays all `ideal' lines
+       in another way.
+
+       * gideal.man: Man-page 1 for the preprocessor `gideal'.
+
+       * ideal.man: This should be the man-page 7 for the `ideal'
+       language in `groff'.  This language must first be included.
+
+       * Makefile.sub: Taken over from `gperl' and changed.  No libdir is
+       necessary now.
+
+       * ChangeLog: This file is a contrib change-log for only
+       `gideal'.
+________________________________________________________________________
+License
+
+Copyright (C) 2014
+       Free Software Foundation, Inc.
+Written by Bernd Warken <address@hidden>.
+
+Copying and distribution of this file, with or without modification,
+are permitted provided the copyright notice and this notice are
+preserved.
+
+This file is part of `gideal', which is part of the `groff' project.
+
+####### Emacs settings
+Local Variables:
+mode: change-log
+End:
diff --git a/contrib/gideal/Makefile.sub b/contrib/gideal/Makefile.sub
new file mode 100644
index 0000000..01e60aa
--- /dev/null
+++ b/contrib/gideal/Makefile.sub
@@ -0,0 +1,66 @@
+# Makefile.sub for `gideal' (preprocessor for added Perl parts)
+
+# File position: <groff-source>/contrib/gideal/Makefile.sub
+
+# Copyright (C) 2014
+#   Free Software Foundation, Inc.
+# Written by Bernd Warken <address@hidden>.
+
+# Last update: 16 Jun 2014
+
+# This file is part of `gideal' which is part of `groff'.
+
+# `groff' is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+
+# `groff' is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see
+# <http://www.gnu.org/licenses/gpl-2.0.html>.
+
+########################################################################
+
+MAN1=gideal.n
+
+MAN7=ideal.n
+
+MOSTLYCLEANADD=gideal $(MAN1) $(MAN7)
+
+# not all make programs have $(RM) predefined.
+RM=rm -f
+
+all: gideal
+
+gideal: gideal.pl
+       sed -f "$(SH_DEPS_SED_SCRIPT)" \
+            -e "s|@g@|$(g)|g" \
+           -e "s|@BINDIR@|$(DESTDIR)$(bindir)|g" \
+           -e "s|@VERSION@|$(version)$(revision)|g" \
+           -e "$(SH_SCRIPT_SED_CMD)" \
+           $(srcdir)/gideal.pl >$@; \
+       chmod +x $@
+
+.PHONY: install_data
+install_data: gideal
+       -test -d $(DESTDIR)$(bindir) || $(mkinstalldirs) $(DESTDIR)$(bindir)
+       $(RM) $(DESTDIR)$(bindir)/gideal
+       $(INSTALL_SCRIPT) gideal $(DESTDIR)$(bindir)/gideal
+
+.PHONY: uninstall_sub
+uninstall_sub:
+       $(RM) $(DESTDIR)$(bindir)/gideal
+
+
+########################################################################
+# Emacs settings
+########################################################################
+#
+# Local Variables:
+# mode: makefile
+# End:
diff --git a/contrib/gideal/gideal.man b/contrib/gideal/gideal.man
new file mode 100644
index 0000000..5badfc7
--- /dev/null
+++ b/contrib/gideal/gideal.man
@@ -0,0 +1,335 @@
+.\" t
+.TH GIDEAL @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
+.SH NAME
+gideal \[em] \f[I]groff\f[] preprocessor for the \f[I]ideal\f[] language
+.
+.\" The .SH was moved to this place in order to appease `apropos'.
+.
+.\" --------------------------------------------------------------------
+.\" Legalese
+.\" --------------------------------------------------------------------
+.
+.ig
+gideal.1 - man page for the ideal roff preprocessor
+.
+Source file position:  <groff_source_top>/contrib/gideal/gideal.man
+Installed position:    $prefix/share/man/man1/gideal.1
+.
+Last update: 16 Jun 2014
+..
+.
+.de authors
+This file was written by Bernd Warken
+.MT address@hidden
+.ME .
+..
+.
+.de copying
+Copyright \(co 2014
+.RS
+.ft CI
+Free Software Foundation, Inc.
+.ft R
+.RE
+.
+.P
+This file is part of
+.IR \%gideal ,
+which is part of
+.IR \%groff ,
+a free software project.
+.
+You can redistribute it and/or modify it under the terms of the
+.nh
+.ft CI
+GNU General Public License
+.ft R
+.hy
+as published by the
+.nh
+.ft CI
+Free Software Foundation version\~2
+.ft R
+.hy
+(\\f[CI]GPL2\\f[R]).
+.
+.P
+The license text is available in the internet at
+.UR http://www.gnu.org/licenses/gpl-2.0.html
+.UE .
+..
+.
+.
+.\" --------------------------------------------------------------------
+.\" Setup
+.\" --------------------------------------------------------------------
+.
+.\" ds Ellipsis "\&.\|.\|.\&\"
+.
+.
+.\" --------------------------------------------------------------------
+.\" Macro definitions
+.\" --------------------------------------------------------------------
+.
+.\" --------------------------------------------------------------------
+.\" .FONT (<font name> <text> [<font name> <text> ...])
+.\"
+.\" Print in different fonts: R, I, B, CR, CI, CB
+.\"
+.de FONT
+.  if (\\n[.$] = 0) \{\
+.      nop \&\f[P]\&
+.      return
+.  \}
+.  ds result \&
+.  while (\\n[.$] >= 2) \{\
+.      as result \,\f[\\$1]\\$2
+.      if !"\\$1"P .as result \f[P]
+.      shift 2
+.  \}
+.  if (\\n[.$] = 1) .as result \,\f[\\$1]
+.  nh
+.  nop \\*[result]\&
+.  hy
+..
+.
+.\" --------------------------------------------------------------------
+.\" .Topic  ([<indent>])
+.\"
+.\" A bulleted paragraph
+.\"
+.de Topic
+.  ie \\n[.$]=0 \
+.    ds @indent 2m\"
+.  el \
+.    ds @indent \\$1\"
+.  IP \[bu] address@hidden
+.  rm @indent
+..
+.
+.\" --------------------------------------------------------------------
+.\" .UL (<text to underline> [<append>])
+.\"
+.\" Underline $1 and append $2 without underline
+.\"
+.de UL
+.  if t \}\
+.    nop \Z'\\$1'\v'.25m'\D'l \w'\\$1'u 0'\v'-.25m'\\$2
+.    return
+.  \}
+.  ul 1
+\\$1\c
+\\$2
+..
+.
+.
+.\" --------------------------------------------------------------------
+.\" End of macro definitions.
+.\" --------------------------------------------------------------------
+.
+.
+.\" --------------------------------------------------------------------
+.SH SYNOPSIS
+.\" --------------------------------------------------------------------
+.
+.SY gideal
+.OP \-
+.OP \-\-
+.OP \fI\%filespec \[Ellipsis]
+.YS
+.
+.SY gideal
+.BR \-h | \-\-help
+.YS
+.
+.SY gideal
+.BR \-v | \-\-version
+.YS
+.
+.
+.\" --------------------------------------------------------------------
+.SH DESCRIPTION
+..\" --------------------------------------------------------------------
+.
+.BR ideal (@MAN7EXT@)
+is a
+.I roff language
+for drawing pictures.
+.
+.
+.P
+.B gideal
+is a
+.I groff preprocessor
+for using this language within
+.I groff files
+(to be done).
+.
+.
+.\" --------------------------------------------------------------------
+.SH OPTIONS
+.\" --------------------------------------------------------------------
+.
+In
+.BR gideal ,
+there are the following kinds of options:
+.Topic
+.I breaking options
+.Topic
+.I filespec options
+.
+.
+.\" --------------------------------------------------------------------
+.SS "Breaking Options"
+.\" --------------------------------------------------------------------
+.
+.I Breaking options
+are used to display a corresponding information, but then the whole
+program run is stopped and finished.
+.
+.
+.P
+The breaking options
+.B \-v
+or
+.B \-\-version
+prints information on the version number.
+.
+.
+.P
+The breaking options
+.B \-h
+or
+.B \-\-help
+prints usage information.
+.
+.
+.P
+Both of these options automatically end the
+.B grog
+program.
+.
+Other options are then ignored, and no
+.B groff
+command line is generated.
+.
+.
+.\" --------------------------------------------------------------------
+.SS "Filespec Options"
+.\" --------------------------------------------------------------------
+.
+Each argument that does not start with a minus
+.B \-
+character is interpreted as a file name.
+.
+.
+.P
+As usual, the single minus character argument
+.B \-
+means to integrate
+.IR "standard input" .
+.
+.
+.P
+The double minus
+.B \-\-
+argument means noting special by itself, but means that all following
+arguments will be interpreted as file names, even if the called file
+name starts with a minus
+.B \-
+character.
+.
+.
+.\" --------------------------------------------------------------------
+.SH "IDEAL PARTS"
+.\" --------------------------------------------------------------------
+.
+Within a roff file, an
+.I ideal part
+is started with the command
+.BR .IS .
+.
+.
+.P
+this part is ended with the command
+.B .IE
+or
+.BR .IF .
+.
+.
+.P
+The text between these requests is handled by the preprocessor
+.BR gideal .
+.
+.
+.\" --------------------------------------------------------------------
+.SH HISTORY
+.\" --------------------------------------------------------------------
+.
+The roff preprocessor and the roff language
+.I ideal
+were invented by
+.I Christopher J. Wyk
+in 1981 at AT&T.
+.
+.
+.\" --------------------------------------------------------------------
+.SH "SEE ALSO"
+.\" --------------------------------------------------------------------
+.
+.TP
+.BR ideal (@MAN7EXT@)
+for information about the
+.I ideal language
+in
+.IR groff .
+.
+.
+.TP
+.B Unix8 preprocessor
+freely available documentation for the
+.IR "ideal preprocessor" .
+.
+The
+.I preprocessor
+there is called
+.BR ideal ,
+not
+.B gideal
+as in
+.IR groff .
+.br
+.UR http://man.cat-v.org/unix_8th/1/ideal
+.UE .
+.
+.
+.TP
+.BR groff (@MAN1EXT@),
+.TQ
+.BR groff (@MAN7EXT@)
+Information about the
+.I groff
+system.
+.
+.
+.\" --------------------------------------------------------------------
+.SH "AUTHORS"
+.\" --------------------------------------------------------------------
+.
+.authors
+.
+.
+.\" --------------------------------------------------------------------
+.SH "COPYING"
+.\" --------------------------------------------------------------------
+.
+.copying
+.
+.
+.\" --------------------------------------------------------------------
+.\" Emacs settings
+.\" --------------------------------------------------------------------
+.
+.\" Local Variables:
+.\" mode: nroff
+.\" End:
diff --git a/contrib/gideal/gideal.pl b/contrib/gideal/gideal.pl
new file mode 100755
index 0000000..a51b7bd
--- /dev/null
+++ b/contrib/gideal/gideal.pl
@@ -0,0 +1,203 @@
+#!/usr/bin/env perl
+
+# groff ideal
+
+# Source file position: <groff-source>/contrib/gideal/gideal.pl
+# Installed position: <prefix>/bin/gideal
+
+# Copyright (C) 2014
+#   Free Software Foundation, Inc.
+
+# Written by Bernd Warken <address@hidden>.
+
+my $Latest_Update = '16 Jun 2014';
+my $version = '0.9';
+
+# This file is part of `gideal', which is part of `groff'.
+
+# `groff' is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+
+# `groff' is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see
+# <http://www.gnu.org/licenses/gpl-2.0.html>.
+
+########################################################################
+
+use strict;
+use warnings;
+
+# temporary dir and files
+use File::Temp qw/ tempfile tempdir /;
+
+# needed for temporary dir
+use File::Spec;
+
+# for `copy' and `move'
+use File::Copy;
+
+# for fileparse, dirname and basename
+use File::Basename;
+
+# current working directory
+use Cwd;
+
+# $Bin is the directory where this script is located
+use FindBin;
+
+# for running the ideal parts with the `IS' and `I[EF]' programs and
+# getting output also useful for shell programs
+use IPC::System::Simple qw(capture capturex run runx system systemx);
+
+# Perl package for complex numbers
+use Math::Complex;
+
+
+########################################################################
+# system variables
+########################################################################
+
+$\ = "\n";    # adds newline at each print
+$/ = "\n";    # newline separates input
+$| = 1;       # flush after each print or write command
+
+
+########################################################################
+# read-only variables with double-@ construct
+########################################################################
+
+my $before_make;        # script before run of `make'
+{
+  my $at = '@';
+  $before_make = 1 if '@VERSION@' eq "${at}VERSION${at}";
+}
+
+my %at_at;
+my $gideal_dir;
+
+if ($before_make) {
+  my $gideal_source_dir = $FindBin::Bin;
+  $at_at{'BINDIR'} = $gideal_source_dir;
+  $at_at{'G'} = '';
+} else {
+  $at_at{'BINDIR'} = '@BINDIR@';
+  $at_at{'G'} = '@g@';
+}
+
+
+########################################################################
+# options
+########################################################################
+
+foreach (@ARGV) {
+  if ( /^(-h|--h|--he|--hel|--help)$/ ) {
+    print q(Usage for the `gideal' program:);
+    print 'gideal [-] [--] [filespec...] normal file name arguments';
+    print 'gideal [-h|--help]            gives usage information';
+    print 'gideal [-v|--version]         displays the version number';
+    print q(This program is a `groff' preprocessor that handles ideal ) .
+      q(parts in `roff' files.);
+    exit;
+  } elsif ( /^(-v|--v|--ve|--ver|--vers|--versi|--versio|--version)$/ ) {
+    print q(`gideal' version ) . $version . ' of ' . $Latest_Update;
+    exit;
+  }
+}
+
+
+#######################################################################
+# temporary file
+#######################################################################
+
+my $out_file;
+{
+  my $template = 'gideal_' . "$$" . '_XXXX';
+  my $tmpdir;
+  foreach ($ENV{'GROFF_TMPDIR'}, $ENV{'TMPDIR'}, $ENV{'TMP'}, $ENV{'TEMP'},
+           $ENV{'TEMPDIR'}, 'tmp', $ENV{'HOME'},
+           File::Spec->catfile($ENV{'HOME'}, 'tmp')) {
+    if ($_ && -d $_ && -w $_) {
+      eval { $tmpdir = tempdir( $template,
+                                CLEANUP => 1, DIR => "$_" ); };
+      last if $tmpdir;
+    }
+  }
+  $out_file = File::Spec->catfile($tmpdir, $template);
+}
+
+
+########################################################################
+# input
+########################################################################
+
+my $nr = 0;
+my @ideal;
+
+my $ideal_mode = 0;
+foreach (<>) {
+  chomp;
+  my $line = $_;
+  my $is_start = $line =~ /^[.']\s*IS(|\s+.*)$/;       # start .IS
+  my $is_end = $line =~ /^[.']\s*(I[EF])(|\s+.*)$/;    # stop .IE/.IF
+
+  # .IE below ideal picture (after), .IF back at starting point (before)
+  my $end_mode = $1;
+
+  if ( $is_start ) {
+    if ( $ideal_mode ) {
+      print STDERR
+       'Within a running ideal part, you called another .IS!';
+      next;
+    } else {   # new start
+      $ideal_mode = 1;
+      open OUT, '>', $out_file;
+      @ideal = ();
+      next;
+    }
+  }
+
+  if ( $is_end ) {
+    $ideal_mode = 0;
+    close OUT;
+    &do_ideal();
+    next;
+  }
+
+  if ( $ideal_mode ) { # normal `ideal' line, store in @ideal
+    push @ideal, $line;
+    next;
+  } else {             # not related to `ideal', so print to STDOUT
+    print $line;
+    next;
+  }
+  next;
+}
+
+
+########################################################################
+# &do_ideal()
+########################################################################
+
+sub do_ideal {
+    $nr++;
+    print '### ideal part number ' . $nr . ':';
+    foreach (@ideal) {
+      print $nr . '# ' . $_;
+    }
+    @ideal = ();
+} # &do_ideal()
+
+
+1;
+########################################################################
+### Emacs settings
+# Local Variables:
+# mode: CPerl
+# End:
diff --git a/contrib/gideal/ideal.man b/contrib/gideal/ideal.man
new file mode 100644
index 0000000..5b975ba
--- /dev/null
+++ b/contrib/gideal/ideal.man
@@ -0,0 +1,279 @@
+.\" t
+.TH IDEAL @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
+.SH NAME
+ideal \[em] the groff \f[I]ideal\f[] language
+.
+.\" The .SH was moved to this place in order to appease `apropos'.
+.
+.\" --------------------------------------------------------------------
+.\" Legalese
+.\" --------------------------------------------------------------------
+.
+.ig
+ideal.7 - man page for the ideal roff language
+.
+Source file position:  <groff_source_top>/contrib/gideal/ideal.man
+Installed position:    $prefix/share/man/man7/ideal.7
+.
+Last update: 16 Jun 2014
+..
+.
+.de authors
+This file was written by Bernd Warken
+.MT address@hidden
+.ME .
+..
+.
+.de copying
+Copyright \(co 2014
+.RS
+.ft CI
+Free Software Foundation, Inc.
+.ft R
+.RE
+.
+.P
+This file is part of
+.IR \%ideal ,
+which is part of
+.IR \%groff ,
+a free software project.
+.
+You can redistribute it and/or modify it under the terms of the
+.nh
+.ft CI
+GNU General Public License
+.ft R
+.hy
+as published by the
+.nh
+.ft CI
+Free Software Foundation version\~2
+.ft R
+.hy
+(\\f[CI]GPL2\\f[R]).
+.
+.P
+The license text is available in the internet at
+.UR http://www.gnu.org/licenses/gpl-2.0.html
+.UE .
+..
+.
+.
+.\" --------------------------------------------------------------------
+.\" Setup
+.\" --------------------------------------------------------------------
+.
+.char \[Ellipsis] \f[S]\N'188'\fP
+.
+.
+.\" --------------------------------------------------------------------
+.\" Macro definitions
+.\" --------------------------------------------------------------------
+.
+.\" --------------------------------------------------------------------
+.\" .FONT (<font name> <text> [<font name> <text> ...])
+.\"
+.\" Print in different fonts: R, I, B, CR, CI, CB
+.\"
+.de FONT
+.  if (\\n[.$] = 0) \{\
+.      nop \&\f[P]\&
+.      return
+.  \}
+.  ds result \&
+.  while (\\n[.$] >= 2) \{\
+.      as result \,\f[\\$1]\\$2
+.      if !"\\$1"P .as result \f[P]
+.      shift 2
+.  \}
+.  if (\\n[.$] = 1) .as result \,\f[\\$1]
+.  nh
+.  nop \\*[result]\&
+.  hy
+..
+.
+.\" --------------------------------------------------------------------
+.\" .Topic  ([<indent>])
+.\"
+.\" A bulleted paragraph
+.\"
+.de Topic
+.  ie \\n[.$]=0 \
+.    ds @indent 2m\"
+.  el \
+.    ds @indent \\$1\"
+.  IP \[bu] address@hidden
+.  rm @indent
+..
+.
+.\" --------------------------------------------------------------------
+.\" .UL (<text to underline> [<append>])
+.\"
+.\" Underline $1 and append $2 without underline
+.\"
+.de UL
+.  if t \}\
+.    nop \Z'\\$1'\v'.25m'\D'l \w'\\$1'u 0'\v'-.25m'\\$2
+.    return
+.  \}
+.  ul 1
+\\$1\c
+\\$2
+..
+.
+.
+.\" --------------------------------------------------------------------
+.\" End of macro definitions.
+.\" --------------------------------------------------------------------
+.
+.
+.\" --------------------------------------------------------------------
+.SH DESCRIPTION
+..\" --------------------------------------------------------------------
+.
+.BR ideal (@MAN7EXT@)
+is a
+.I roff
+language for drawing pictures.
+.
+.BR gideal (@MAN1EXT@)
+is the corresponding
+.I groff
+preprocessor for using this language within
+.I groff files
+(to be done).
+.
+.
+.\" --------------------------------------------------------------------
+.SH "IDEAL PARTS"
+.\" --------------------------------------------------------------------
+.
+Within a roff file, an
+.I ideal part
+is started with the command
+.BR .IS .
+.
+.
+.P
+this part is ended with the command
+.B .IE
+or
+.BR .IF .
+.
+.
+.P
+The text between these requests is handled by the preprocessor
+.BR gideal (@MAN1EXT@).
+.
+.
+.\" --------------------------------------------------------------------
+.SH HISTORY
+.\" --------------------------------------------------------------------
+.
+The roff preprocessor and the roff language
+.I ideal
+were invented by
+.I Christopher J. Wyk
+in 1981 at AT&T.
+.
+.
+.P
+The
+.I ideal language
+is based on
+.IR "complex numbers" .
+.
+These are well documented at the documentation of the
+.UR http://\:search.cpan.org/\:~zefram/\:Math-Complex-1.59/\:lib/\:Math\
+/\:Complex.pm
+Math::Complex Perl package
+.UE .
+.
+This documentation is more about the complex mathematics, but also a
+bit about related Perl examles.
+.
+.
+.\" --------------------------------------------------------------------
+.SH "SEE ALSO"
+.\" --------------------------------------------------------------------
+.
+.TP
+.BR gideal (@MAN1EXT@)
+for information about the corresponding groff preprocesor
+.
+.
+.TP
+.B Unix8 preprocessor
+Freely available documentation for the
+.IR "ideal preprocessor" .
+.
+The
+.I preprocessor
+there is called
+.BR ideal ,
+not
+.BR gideal (@MAN1EXT@)
+as in
+.IR groff .
+.br
+.UR http://man.cat-v.org/unix_8th/1/ideal
+.UE .
+.
+.
+.TP
+.B ACM articles for buying
+.
+.RS
+.
+.TP
+.B p99-van_wyk.pdf.gz
+.nf
+A Graphics Typesetting Language
+Christopher J. Van Wyk
+.fi
+.UR http://dl.acm.org/citation.cfm?id=806460
+.UE
+.
+.TP
+.B p163-van_wyk.pdf.gz
+.nf
+A High-Level Language for Specifying Pictures
+Christopher J. Van Wyk
+.fi
+.UR http://dl.acm.org/citation.cfm?id=357303
+.UE
+.
+.RE
+.
+.
+.TP
+.BR groff (@MAN1EXT@),
+.TQ
+.BR groff (@MAN7EXT@)
+Information about the
+.I groff
+system.
+.
+.
+.\" --------------------------------------------------------------------
+.SH "AUTHORS"
+.\" --------------------------------------------------------------------
+.
+.authors
+.
+.
+.\" --------------------------------------------------------------------
+.SH "COPYING"
+.\" --------------------------------------------------------------------
+.
+.copying
+.
+.
+.\" --------------------------------------------------------------------
+.\" Emacs settings
+.\" --------------------------------------------------------------------
+.
+.\" Local Variables:
+.\" mode: nroff
+.\" End:



reply via email to

[Prev in Thread] Current Thread [Next in Thread]