> What about to export a whole hirarchy of schemas in gschem and get a linked 
> (aka clickable) PDF? It's a bit nasty to print every single scheet at once 
> and then get them someway together.


Makefile bits:

        gschem -p -o $@ -s ./print.scm $<
        gschem -p -o $@ -s ./print.scm $<
        gschem -p -o $@ -s ./print.scm $<
        ./psmerge $(PS) > clock.ps
        ps2pdf $< $@

It would be sweet if gschem had an option to print the whole page
manager stack that way, or read from a project file (like gsch2pcb
does).

-------------------- my print.scm --------------------
;; $Id: print.scm,v 1.3 2006/08/30 11:06:16 ahvezda Exp $
;;
;; This file may be used to print gschem schematics from the
;; command line.  Typical usage is:
;;
;;   gschem -p -o mysch.ps -s /path/to/this/file/print.scm mysch.sch
;;
;; The schematic in "mysch.sch" will be printed to the file "mysch.ps"

; light background
(load "/envy/dj/geda/share/gEDA/gschem-lightbg")

(output-orientation "landscape")
(output-type "extents no margins")
(output-color "enabled")
(output-text "ps")

; You need call this after you call any rc file function
(gschem-use-rc-values)

; filename is specified on the command line
(gschem-postscript "dummyfilename")

(gschem-exit)

-------------------- psmerge --------------------
#!/usr/bin/perl
# -*- perl -*-

$need_prolog = 1;

$pageno = 0;

for $ps (@ARGV) {
    open(PS, $ps);
    $print = $need_prolog ? 1 : 0;
    while (<PS>) {
        if (/%%Page: \d/) {
            $pageno++;
            $_ = "%%Page: $pageno\n";
            $print = 1;
        }
        $print = 0 if /^%%End$/;

        print if $print;
    }
    close PS;
    $need_prolog = 0;
}

print "%%End\n";


_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev

Reply via email to