Module Name:    src
Committed By:   uwe
Date:           Sat Nov 30 00:28:27 UTC 2019

Modified Files:
        src/distrib/notes: Makefile.inc
        src/distrib/notes/common: macros

Log Message:
Improve table of contents.

For .txt and .more drop meaningless page numbers, those formats are
not paginated (with all due respect to line printers, 80s are over).

For .ps use actual formatting with proportional font and properly
aligned page numbers.  Thanks to kre@ for his help with some of the
darker corners of troff (with all due respect to my 80s self, he/I
should have paid more attention).


To generate a diff of this commit:
cvs rdiff -u -r1.51 -r1.52 src/distrib/notes/Makefile.inc
cvs rdiff -u -r1.53 -r1.54 src/distrib/notes/common/macros

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/notes/Makefile.inc
diff -u src/distrib/notes/Makefile.inc:1.51 src/distrib/notes/Makefile.inc:1.52
--- src/distrib/notes/Makefile.inc:1.51	Thu Nov 28 00:06:39 2019
+++ src/distrib/notes/Makefile.inc	Sat Nov 30 00:28:27 2019
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.inc,v 1.51 2019/11/28 00:06:39 uwe Exp $
+#	$NetBSD: Makefile.inc,v 1.52 2019/11/30 00:28:27 uwe Exp $
 #
 
 # Ross Harvey <r...@netbsd.org>
@@ -103,9 +103,9 @@ ${TARG}.more: ${SRCS} ${TOC.more} ${DIST
 	${TOOL_GROFF} ${ARGS_MORE} -mdoc      ${MAIN} > $@
 
 
-# Rules to build the table of contents (.toc) files.
-# They are generated twice to take into account the
-# space taken by the TOC itself.
+# Rules to build the table of contents (.toc) files.  For the
+# PostScript version it's generated twice to take into account the
+# space taken by the TOC itself.  Other versions are not paginated.
 
 ${TARG}.PostScript.toc: ${SRCS}
 	${TOOL_GROFF} -dTOC=1 ${ARGS_PS} -mdoc ${MAIN} > /dev/null
@@ -116,8 +116,6 @@ ${TARG}.PostScript.toc: ${SRCS}
 ${TARG}.ASCII.toc: ${SRCS}
 	${TOOL_GROFF} -dTOC=1 ${ARGS_TXT} -mdoc ${MAIN} > /dev/null
 	mv -f $@.tmp $@
-	${TOOL_GROFF} -dTOC=1 ${ARGS_TXT} -mdoc ${MAIN} > /dev/null
-	mv -f $@.tmp $@
 
 ${TARG}.HTML.toc: ${SRCS}
 	${TOOL_GROFF} -dTOC=1 ${ARGS_HTML} -mdoc ${MAIN} > /dev/null
@@ -126,8 +124,6 @@ ${TARG}.HTML.toc: ${SRCS}
 ${TARG}.more.toc: ${SRCS}
 	${TOOL_GROFF} -dTOC=1 ${ARGS_MORE} -mdoc ${MAIN} > /dev/null
 	mv -f $@.tmp $@
-	${TOOL_GROFF} -dTOC=1 ${ARGS_MORE} -mdoc ${MAIN} > /dev/null
-	mv -f $@.tmp $@
 
 
 release: check_RELEASEDIR .WAIT ${TARGS}

Index: src/distrib/notes/common/macros
diff -u src/distrib/notes/common/macros:1.53 src/distrib/notes/common/macros:1.54
--- src/distrib/notes/common/macros:1.53	Fri Nov 29 16:33:44 2019
+++ src/distrib/notes/common/macros	Sat Nov 30 00:28:27 2019
@@ -1,4 +1,4 @@
-.\"	$NetBSD: macros,v 1.53 2019/11/29 16:33:44 uwe Exp $
+.\"	$NetBSD: macros,v 1.54 2019/11/30 00:28:27 uwe Exp $
 .\"
 .\" Copyright (c) 1999-2004 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -342,11 +342,42 @@
 .if rHTML <a name="\\$*"></a>
 .if dTOC .mktoc \\n[To-toc-level] \\$@
 ..
+.
+.\" .Tc and .Ti for PostScript
+.
+.ie '\*[format]'PostScript' \{\
+.de Ti
+.nr Ti-toc-level \\$1
+.nr Ti-page \\$2
+.shift 2
+.nr Ti-indent (\\n[Tc-saved-indent]+(3n*\\n[Ti-toc-level]))
+.in \\n[Ti-indent]u
+\\$* \c
+'nr Ti-eol-pos (\\n(.l-\\n(.i-\\n(.k)
+'ta (\\n[Ti-eol-pos]u-\w'099'u)R (\\n[Ti-eol-pos]u)R
+\a\t\\n[Ti-page]
+.br
+..
+.
+.de Tc
+.nr Tc-saved-indent \\n(.i
+.tm ...reading \*[toc-file]
+.\" Use so-real here because toc-file is in objdir not .CURDIR
+.so-real \*[toc-file]
+.in \\n[Tc-saved-indent]u
+..
+.\}
+.
 .\"  .Tc and .Ti for HTML
-.ie rHTML \{\
+.
+.el .ie rHTML \{\
 .de Ti
-\h'3n*\\$1u' <a href="#\\$3">\\$3</a>
+.nr Ti-toc-level \\$1
+.\"nr Ti-page \\$2
+.shift 2
+\h'3n*\\n[Ti-toc-level]u' <a href="#\\$*">\\$*</a>
 ..
+.
 .de Tc
 .tm ...reading \*[toc-file]
 .nf
@@ -355,16 +386,20 @@
 .fi
 ..
 .\}
-.\"  .Tc and .Ti for text and postscript
+.
+.\" .Tc and .Ti for unpaginated text
+.
 .el \{\
 .de Ti
-\h'3n*\\$1u' \\$3\a\\$2
+.nr Ti-toc-level \\$1
+.\"nr Ti-page \\$2
+.shift 2
+\h'3n*\\n[Ti-toc-level]u'\\$*
+.br
 ..
 .de Tc
 .Bd -literal
-.ta (\n(.lu)R
 .tm ...reading \*[toc-file]
-.       Pp
 .\" Use so-real here because toc-file is in objdir not .CURDIR
 .so-real \*[toc-file]
 .Ed

Reply via email to