tweaks...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2023-03-10 14:03:10 +03:00
parent 24935c85f8
commit 570aec81b5

View File

@ -1,162 +1,157 @@
Support scripts Support scripts
=============== ===============
Scripts: Scripts:
- [`make-images.sh`](#make-imagessh) - [`make-images.sh`](#make-imagessh)
- [`cls2tex.sh`](#cls2texsh) - [`cls2tex.sh`](#cls2texsh)
`make-images.sh` `make-images.sh`
================ ----------------
Generate LaTeX block of pages from a directory tree. Generate LaTeX block of pages from a directory tree.
This was initially intended as a means to convert the exported directory This was initially intended as a means to convert the exported directory
tree from an image viewer where image/text sequencing was done, but it tree from an image viewer where image/text sequencing was done, but it
can also be used standalone. can also be used standalone.
Goals: Goals:
- Decouple layout, sequencing, images, processing and different texts - Decouple layout, sequencing, images, processing and different texts
to enable different people to work on them independently and in to enable different people to work on them independently and in
parallel, parallel,
- Automate the build process. - Automate the build process.
A typical project tree: A typical project tree:
``` ```
book/ book/
├── templates/ . . . . . . . . . . . . Global templates. ├── templates/ . . . . . . . . . . . . Global templates.
│ ├── imagepage.tex . . . . . . . . . Single page image template, │ ├── imagepage.tex . . . . . . . . . Single page image template,
│ ├── textpage.tex . . . . . . . . . Single page text template, │ ├── textpage.tex . . . . . . . . . Single page text template,
│   │ These are used to build spreads │   │ These are used to build spreads
│   │ when no explicit template matches. │   │ when no explicit template matches.
│ ├── blank-image.tex │ ├── blank-image.tex
│ ├── image-blank.tex │ ├── image-blank.tex
│ ├── image-image.tex │ ├── image-image.tex
│ ├── fullbleed.tex │ ├── fullbleed.tex
│ └── ... │ └── ...
├── pages/ . . . . . . . . . . . . . . Main block layout. ├── pages/ . . . . . . . . . . . . . . Main block layout.
│   ├── 00/ . . . . . . . . . . . . . . A basic spread. │   ├── 00/ . . . . . . . . . . . . . . A basic spread.
│   │   ├── tweaks.tex The spread template is built │   │   ├── tweaks.tex The spread template is built
│   │   └── 0-DSC02432.jpg automatically with tweaks.tex │   │   └── 0-DSC02432.jpg automatically with tweaks.tex
│   │   prepended. │   │   prepended.
│   ├── 01/ │   ├── 01/
│   │   ├── 0-DSC02439.jpg │   │   ├── 0-DSC02439.jpg
│   │   └── 1-intro.txt │   │   └── 1-intro.txt
│   ├── 02/ │   ├── 02/
│   │   ├── fullbleed.tpl . . . . . . . Explicitly use a global template. │   │   ├── fullbleed.tpl . . . . . . . Explicitly use a global template.
│   │   └── 1-DSC02511.jpg │   │   └── 1-DSC02511.jpg
│   ├── 03/ │   ├── 03/
│   │   ├── 0-DSC02509-0.jpg │   │   ├── 0-DSC02509-0.jpg
│   │   └── 1-DSC02506-0.jpg │   │   └── 1-DSC02506-0.jpg
│   └── ... │   └── ...
├── captions/ . . . . . . . . . . . . . Image captions. ├── captions/ . . . . . . . . . . . . . Image captions.
│   ├── DSC02432.txt │   ├── DSC02432.txt
│   ├── DSC02439.txt │   ├── DSC02439.txt
│   ├── DSC02511.txt │   ├── DSC02511.txt
│   └── ... │   └── ...
├── setup.tex . . . . . . . . . . . . . Book block setup. ├── setup.tex . . . . . . . . . . . . . Book block setup.
│ This is included by all top level │ This is included by all top level
│ .tex files like block.tex, │ .tex files like block.tex,
│ cover.tex, ...etc. │ cover.tex, ...etc.
├── block.tex . . . . . . . . . . . . . Block skeletal layout. ├── block.tex . . . . . . . . . . . . . Block skeletal layout.
│ This usually includes the titles, │ This usually includes the titles,
│ technical pages and sources the │ technical pages and sources the
│ ./block-pages.tex. │ ./block-pages.tex.
├── block-pages.tex . . . . . . . . . . The generated block content. ├── block-pages.tex . . . . . . . . . . The generated block content.
├── cover.tex . . . . . . . . . . . . . Cover layout. ├── cover.tex . . . . . . . . . . . . . Cover layout.
├── jacket.tex . . . . . . . . . . . . Dust jacket layout. ├── jacket.tex . . . . . . . . . . . . Dust jacket layout.
└── ... └── ...
``` ```
Generate the block: Generate the block:
```shell ```shell
$ make-images.sh ./pages > block-pages.tex $ make-images.sh ./pages > block-pages.tex
``` ```
Note that `make-images.sh` does not force a specific layout outside of Note that `make-images.sh` does not force a specific layout outside of
the `pages` directory, all paths are configurable. The way the root the `pages` directory, all paths are configurable. The way the root
files are structured is just one way to organize a book's source code files are structured is just one way to organize a book's source code
with minimal code duplication. with minimal code duplication.
For runtime help see: For runtime help see:
```shell ```shell
$ make-images.sh --help $ make-images.sh --help
``` ```
The process ### The process
-----------
### Layout
Layout ------
------
```
``` pages/
pages/ ├── <spread>/
├── <spread>/ │   ├── tweaks.tex
│   ├── tweaks.tex │   ├── layout.tex
│   ├── layout.tex │   ├── <template-name>.tpl
│   ├── <template-name>.tpl │   ├── 00-<image-name>.<ext>
│   ├── 00-<image-name>.<ext> │   ├── 01-<text>.txt
│   ├── 01-<text>.txt │   └── ...
│   └── ... └── ...
└── ... ```
```
### Image captions
Image captions
-------------- In general image captions are decoupled from the main layout to enable
writers and editors to work on them externally.
In general image captions are decoupled from the main layout to enable ```
writers and editors to work on them externally. captions/
``` ├── <image-name>.txt
captions/ └── ...
├── <image-name>.txt ```
└── ...
``` The captions folder name/location is controlled by the `$CAPTION_DIR`
environment variable.
The captions folder name/location is controlled by the `$CAPTION_DIR`
environment variable.
Inline captions are also supported:
```
Inline captions are also supported: pages/
``` ├── <spread>/
pages/ │   ├── ...
├── <spread>/ │   ├── 00-<image-name>.<ext>
│   ├── ... │   ├── 00-<image-name>.txt . . . . . . Local image caption
│   ├── 00-<image-name>.<ext> │   └── ...
│   ├── 00-<image-name>.txt . . . . . . Local image caption └── ...
│   └── ... ```
└── ... An inline caption must have the same filename as the corresponding image
``` but with a .txt extension.
An inline caption must have the same filename as the corresponding image
but with a .txt extension.
### Templates
Templates ```
--------- templates/
├── <template-name>.tex
``` └── ...
templates/ ```
├── <template-name>.tex
└── ...
``` ### Environment variables
Environment variables
---------------------
`cls2tex.sh`
Extract the documentation from photobook.cls which is used to build the
photobook.pdf reference manual.
`cls2tex.sh`
============
Extract the documentation from photobook.cls which is used to build the
photobook.pdf reference manual.