Subject: Re: zsh manual - missing bookmarks in pdf file?
From: "Jun T." <[email-masked]>
To: "[email-masked]" <[email-masked]>
Date: Fri, 4 Mar 2016 12:33:18 +0900
List-Id: Zsh Workers List <zsh-workers.zsh.org>

On 2016/03/03, at 23:39, Greg Klanderman <[email-masked]> wrote:

> Looking at the Makefile, maybe pdfetex vs texi2pdf?

No, texi2pdf is just a simple wrapper script which calls
'texi2dvi --pdf', which in tern calls pdfetex.

>>>>>> On March 3, 2016 Jun T <[email-masked]> wrote:
>> I don't know how the US version was created.

It seems zsh_us.pdf was created from zsh.dvi (so it is not
surprising that it has no bookmarks).

In order to create a US-sized PDF with bookmarks, we need to modify
zsh.texi because a command @afourpaper is embedded in it and
it seems there is no texinfo command to cancel it (or to change the
paper size to US letter).

The patch below removes the @afourpaper from zsh.texi, and
add it by "-t @afourpaper" when A4 output is required.

A few minor points to discuss:
(1) A4 and US versions are named zsh_a4.pdf and zsh_us.pdf,
    as in the download page. Other possibility is
    zsh.a4.pdf and zsh.us.pdf (as intro.{a4,us}.pdf).
    Also we can use zsh.pdf for A4 version.
(2) 'make pdf' creates both zsh_a4.pdf and zsh_us.pdf.
    Is it better to create just on of them by default?
(3) zsh.dvi is for A4 paper, as before.
(4) Is it really necessary to have both A4 and US?
    Or just A4 is enough?

diff --git a/Doc/Makefile.in b/Doc/Makefile.in
index d589991..e61777b 100644
--- a/Doc/Makefile.in
+++ b/Doc/Makefile.in
@@ -93,16 +93,24 @@ dvi: zsh.dvi
 .PHONY: dvi
 
 zsh.dvi: $(sdir)/zsh.texi
-	$(TEXI2DVI) $(sdir)/zsh.texi
+	$(TEXI2DVI) -t '@afourpaper' $(sdir)/zsh.texi
 
-pdf: zsh.pdf intro.a4.pdf intro.us.pdf
+pdf: zsh_a4.pdf zsh_us.pdf intro.a4.pdf intro.us.pdf
 .PHONY: pdf
 
-zsh.pdf: $(sdir)/zsh.texi
+zsh_a4.pdf: $(sdir)/zsh.texi
 	if [ x$(TEXI2PDF) != x ]; then \
-	  $(TEXI2PDF) $(sdir)/zsh.texi; \
+	  $(TEXI2PDF) -t '@afourpaper' -o $@ $(sdir)/zsh.texi; \
 	else \
-	  PDFTEX=$(PDFETEX) $(TEXI2DVI) --pdf $(sdir)/zsh.texi; \
+	  PDFTEX=$(PDFETEX) \
+	    $(TEXI2DVI) --pdf -t '@afourpaper' -o $@ $(sdir)/zsh.texi; \
+	fi
+
+zsh_us.pdf: $(sdir)/zsh.texi
+	if [ x$(TEXI2PDF) != x ]; then \
+	  $(TEXI2PDF) -o $@ $(sdir)/zsh.texi; \
+	else \
+	  PDFTEX=$(PDFETEX) $(TEXI2DVI) --pdf -o $@ $(sdir)/zsh.texi; \
 	fi
 
 # Use roff2ps / ps2pdf because pdfroff produces doubled output.
diff --git a/Doc/ztexi.yo b/Doc/ztexi.yo
index e878345..7d52e6e 100644
--- a/Doc/ztexi.yo
+++ b/Doc/ztexi.yo
@@ -53,7 +53,6 @@ def(texinfo)(2)(\
   NOTRANS(\input texinfo.tex)+NL()\
   NOTRANS(@c %**start of header)+NL()\
   NOTRANS(@iftex)+NL()\
-  NOTRANS(@afourpaper)+NL()\
   NOTRANS(@setchapternewpage off)+NL()\
   NOTRANS(@end iftex)+NL()\
   NOTRANS(@setfilename )ARG1+NL()\