Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Mar 2002 23:36:18 +0300 (MSK)
From:      Dmitry Morozovsky <marck@rinet.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   docs/36432: Proposal for doc/share/mk: make folded books using psutils
Message-ID:  <200203282036.g2SKaIM44289@woozle.rinet.ru>

next in thread | raw e-mail | index | archive | help

>Number:         36432
>Category:       docs
>Synopsis:       Proposal for doc/share/mk: make folded books using psutils
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-doc
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Mar 28 12:40:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Dmitry Morozovsky
>Release:        FreeBSD 4-STABLE i386
>Organization:
Cronyx Plus LLC (RiNet ISP)
>Environment:
System: FreeBSD 4-STABLE. Docs tree as of today.


>Description:

I suppose it would be useful to have ability to make folded printable books
by docproj (psbook and psnup binaries from print/psutils* port are required).

Personally, I have made handbook and many articles from docproj in folded
format, print them and have very good time reading well-formed books (or
brochures) ;-)

Patches for share/mk files are here. Proposed formats are folded.ps 
and folded.pdf respectively.

>How-To-Repeat:

- empty -

>Fix:


Index: doc.docbook.mk
===================================================================
RCS file: /home/ncvs/doc/share/mk/doc.docbook.mk,v
retrieving revision 1.62
diff -u -r1.62 doc.docbook.mk
--- doc.docbook.mk	2002/02/25 14:24:51	1.62
+++ doc.docbook.mk	2002/03/28 20:30:21
@@ -135,7 +135,7 @@
 JADEOPTS=	${JADEFLAGS} ${SGMLFLAGS} ${CATALOGS}
 
 KNOWN_FORMATS=	html html.tar html-split html-split.tar \
-		txt rtf ps pdf tex dvi tar pdb
+		txt rtf ps folded.ps pdf folded.pdf tex dvi tar pdb
 
 CSS_SHEET?=	${DOC_PREFIX}/share/misc/docbook.css
 PDFTEX_DEF?=	${DOC_PREFIX}/share/web2c/pdftex.def
@@ -191,6 +191,13 @@
 .if defined(PAPERSIZE)
 DVIPSOPTS?=	-t ${PAPERSIZE:L} ${DVIPSFLAGS}
 .endif
+PSBOOK?=	${PREFIX}/bin/psbook
+PSBOOKSIGSZ?=	16
+PSBMAXSIGPG?=	24
+PSBOOKOPTS?=	-s${PSBOOKSIGSZ}
+PSNUP?=		${PREFIX}/bin/psnup
+PSNUPOPTS?=	-2
+PS2PDF?=	${PREFIX}/bin/ps2pdf
 
 GZIP?=	-9
 GZIP_CMD?=	gzip -qf ${GZIP}
@@ -278,11 +285,19 @@
 CLEANFILES+= ${DOC}.aux ${DOC}.log
 
 .elif ${_cf} == "ps"
-CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.tex-ps
+CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.tex-ps ${DOC}.tex
 
+.elif ${_cf} == "folded.ps"
+CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.tex-ps ${DOC}.tex \
+	${DOC}.ps ${DOC}.ps.gz
+
 .elif ${_cf} == "pdf"
 CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.out ${DOC}.tex-pdf
 
+.elif ${_cf} == "folded.pdf"
+CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.tex-ps ${DOC}.tex \
+	${DOC}.ps ${DOC}.folded.ps
+
 .elif ${_cf} == "pdb"
 _docs+= ${.CURDIR:T}.pdb
 CLEANFILES+= ${.CURDIR:T}.pdb
@@ -436,6 +451,23 @@
 ${DOC}.ps: ${DOC}.dvi
 	${DVIPS} ${DVIPSOPTS} -o ${.TARGET} ${.ALLSRC}
 
+${DOC}.folded.ps: ${DOC}.ps
+	@TOTALPAGES=`grep '^%%Pages: ' ${.ALLSRC} | 	\
+		head -1 | sed 's/%%Pages://'`;		\
+	echo Total pages: $$TOTALPAGES;			\
+	if test $$TOTALPAGES -gt ${PSBMAXSIGPG}; then	\
+		echo Splitting by ${PSBOOKOPTS};	\
+		${PSBOOK} ${PSBOOKOPTS} ${.ALLSRC} |	\
+		${PSNUP} ${PSNUPOPTS} > ${.TARGET};	\
+	else						\
+		echo Splitting as on sig;		\
+		${PSBOOK} ${.ALLSRC} |			\
+		${PSNUP} ${PSNUPOPTS} > ${.TARGET};	\
+	fi; true
+
+${DOC}.folded.pdf: ${DOC}.folded.ps
+	${PS2PDF} ${.ALLSRC} ${.TARGET}
+	
 ${DOC}.tar: ${SRCS} ${LOCAL_IMAGES} ${LOCAL_CSS_SHEET}
 	${TAR} cf ${.TARGET} -C ${.CURDIR} ${SRCS} \
 		-C ${.OBJDIR} ${IMAGES} ${CSS_SHEET:T}
Index: doc.project.mk
===================================================================
RCS file: /home/ncvs/doc/share/mk/doc.project.mk,v
retrieving revision 1.12
diff -u -r1.12 doc.project.mk
--- doc.project.mk	2002/02/25 14:24:51	1.12
+++ doc.project.mk	2002/03/28 20:30:21
@@ -61,7 +61,7 @@
 # Master list of known target formats.  The doc.<format>.mk files implement 
 # the code to convert from their source format to one or more of these target
 # formats
-ALL_FORMATS=	html html.tar html-split html-split.tar txt rtf ps pdf tex dvi tar pdb
+ALL_FORMATS=	html html.tar html-split html-split.tar txt rtf ps folded.ps pdf folded.pdf tex dvi tar pdb
 
 # User-modifiable
 LOCALBASE?=	/usr/local
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-doc" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203282036.g2SKaIM44289>