groff
[Top][All Lists]
Advanced

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

Re: [Groff] status of pdfmark macros


From: Keith Marshall
Subject: Re: [Groff] status of pdfmark macros
Date: Sat, 26 Feb 2005 02:26:18 +0000

On Friday 17 December 2004 5:04 pm, Werner LEMBERG wrote:
> > Given that I do have quite heavy constraints on my time, at the
> > moment, how would you like me to prioritise my efforts?
>
> Integration into the groff build system.  This is, `./configure; make;
> make install' at top-level should install a (yet-to-be-written)
> `pdfmark' script, the macro packages, and the pdfmark.pdf
> documentation file together with a small groff_pdfmark man page (and
> proper references in other man pages of the groff bundle).

Hi Werner, fellow groffers,

It's taken a while, but I have now produced a suitable script -- I've called 
it `pdfroff', since it's syntax closely follows groff's own, and it generates 
PDF output, regardless of whether `pdfmark.tmac' is used, or not.  I've even 
provided a man page to go with it, although it could probably benefit for an 
extra section, to explain how to create a `stylesheet' -- e.g. `cover.ms'.  
Of course, if any fellow groffers have any additional criticisms -- 
preferably constructive -- I will be pleased to consider them.

I've attached the update as a tarball containing the two new files, 
`pdfroff.sh' and `pdfroff.man', together with a patch against the CVS 
versions on which my additional modifications are based -- hopefully there 
will be no conflicts with any other interim changes.  Changes included in the 
patch are:--

        Provide `pdfroff' shell script, and manpage to document it;
        runs multiple groff passes, to format PDF documents.

        * contrib/pdfmark/pdfroff.sh: New shell script template;
        * contrib/pdfmark/pdfroff.man: Document it.

        Integrate `pdfmark' into normal groff build system;
        install macro `pdfmark' packages, build and install `pdfroff',
        and PDF format documentation.

        * Makefile.comm: Add PDFDOCDIR.
        * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
        pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
        (unstall_dirs): Add pdfdocdir.

        * aclocal.m4: (GROFF_APPRESDIR_OPTION): use AC_HELP_STRING instead of
        AS_HELP_STRING.
        (GROFF_GHOSTSCRIPT_PREFS): New function; support `--with-alt-gs'
        option, set ALT_GHOSTSCRIPT_PROGS.
        (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
        GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
        (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
        (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option, set
        ALT_AWK_PROGS.
        (GROFF_AWK_PATH): New function; support `--with-awk' option, force use
        of GROFF_AWK_PREFS.
        (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH and
        GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.

        * configure.ac: Add AC_PREREQ(2.56), GROFF_PDFDOC_PROGRAMS.
        Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
        also by modified GROFF_HTML_PROGRAMS).

        * contrib/pdfmark/*: Miscellaneous updates, per local `ChangeLog'.

The local changes, in contrib/pdfmark, may be described as:--

        Provide `pdfroff' shell script, and manpage to document it;
        runs multiple groff passes, to format PDF documents.

        * pdfroff.sh: New shell script template;
        * pdfroff.man: Document it.

        Integrate `pdfmark' into normal groff build system;
        install macro `pdfmark' packages, build and install `pdfroff',
        and PDF format documentation.

        * Makefile.sub: Rewritten.
        * pdfmark.tmac: Modified.
        (pdfhref): New macro operators, `D' and `Z';
        (pdf*href-D, pdf*href-Z): New macros: implement them.
        (pdf*href.mark.resolve, pdf*href.mark.emit, pdf*href.mark.flush):
        Modified macro algorithm, to eliminate inconsistencies between
        `grohtml' representations of `opminy' from differing groff versions.
        (pdf*href.mark, pdf*href.mark.release, pdf*href.mark.close):
        deleted, (redundant macros).
        (PDFHREF.LEADING): Default value changed (was 2.5p; now -1.0p).
        Global comment updates.

        * TODO: Updated.

(For your possible convenience, I've included the above as ChangeLog patches, 
in the overall patch file).

Notice that this patch provides full integration of the existing pdfmark 
components, to date, into the normal groff build system.  Also note, that my 
rewritten Makefile.sub no longer depends on the doc directory being processed 
before contrib/pdfmark.

If you are applying these patches piecemeal, please be aware that the changes 
to `pdfmark.tmac' are required, for proper co-operation with the `pdfroff' 
script.

Also notice that some of my additions to aclocal.m4, while being required to 
achieve a proper transformation of `pdfroff.sh' into an installable 
`pdfroff', also provide a proposed foundation for the `grohtml' changes we 
discussed just before Christmas -- the ALT_GHOSTSCRIPT_PROGS implementation 
could provide the basis for the selection of image generators in the 
`grohtml' DESC file.

--

Best regards,
Keith.

Attachment: groff-pdfmark-20050226.tar.bz2
Description: BZip2 compressed data


reply via email to

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