[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PDF book improvements
From: |
Alejandro Colomar |
Subject: |
Re: PDF book improvements |
Date: |
Sun, 13 Aug 2023 01:36:30 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.1 |
On 2023-08-12 23:46, Alejandro Colomar wrote:
> Hi Deri,
>
> My end goal is to be able to embed the creation of the PDF book in the
> Makefiles. To that end, as a first step, I'd like to reuse part of
> what we already have in the Makefile. Currently, we process all files
> with -Tpdf, which I guess we'll be able to reuse.
>
> $ make build-pdf -kij >/dev/null 2>&1
> $ touch man2/gettimeofday.2
> $ make build-pdf V=1 | sed '/^[[:upper:]]/s/^/\n/'
>
> PRECONV .tmp/man/man2/gettimeofday.2.tbl
> preconv man2/gettimeofday.2 >.tmp/man/man2/gettimeofday.2.tbl
>
> TBL .tmp/man/man2/gettimeofday.2.eqn
> tbl <.tmp/man/man2/gettimeofday.2.tbl >.tmp/man/man2/gettimeofday.2.eqn
>
> EQN .tmp/man/man2/gettimeofday.2.pdf.troff
> ! (eqn -Tpdf <.tmp/man/man2/gettimeofday.2.eqn 2>&1
> >.tmp/man/man2/gettimeofday.2.pdf.troff) \
> | grep ^ >&2
>
> TROFF .tmp/man/man2/gettimeofday.2.pdf.set
> ! (troff -Tpdf -wbreak -man <.tmp/man/man2/gettimeofday.2.pdf.troff
> 2>&1 >.tmp/man/man2/gettimeofday.2.pdf.set) \
> | grep ^ >&2
>
> GROPDF .tmp/man/man2/gettimeofday.2.pdf
> gropdf <.tmp/man/man2/gettimeofday.2.pdf.set
> >.tmp/man/man2/gettimeofday.2.pdf
>
> What part of this "pipeline" can we reuse? I guess we can reuse the
> .pdf.troff files. The .pdf.set files probably cannot be reused for
> the single book, as they'll have the page numbers and so on already
> set, right?
>
> So, I'm imagining that we could cat(1) your front cover with all
> these files, and then process with troff(1) and gropdf(1). Does
> that make sense?
>
> Could we also reuse the .pdf.set files and only run gropdf(1) on
> the catenation of them?
I added a script to sort these files, as you do with your sortman()
perl function. I called it sortman too :)
$ cat scripts/sortman
#!/bin/sh
# Copyright 2023, Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: GPL-3.0-or-later
export LC_COLLATE=en_US.UTF-8;
sed -E '/\/intro./ s/.*\.([1-8])$/\10\t&/' \
| sed -E '/\/intro./!s/.*\.([1-8])$/\11\t&/' \
| sed -E '/\/intro./!s/.*\.([1-8].+)/\1\t&/' \
| sort \
| cut -f2;
We'll probably need this to sort the files in the shell.
>
> Cheers,
> Alex
>
--
<http://www.alejandro-colomar.es/>
GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5
OpenPGP_signature
Description: OpenPGP digital signature