---
name: "caspar-typesetting"
section: "7"
platform: "linux"
package: "caspar"
version: "20240818-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/caspar-typesetting"
---

# caspar-typesetting(7)

caspar-typesetting - Makefile snippets for common typesetting tasks In a Makefile, write

```
  include caspar/mk/docbook.mk
```

```

```

or

```
  include caspar/mk/pod.mk
```

```

```

or

```
  include caspar/mk/markdown.mk
```

```

```

. The caspar *docbook.mk*, *pod.mk* and *markdown.mk* files are Makefile snippets for common typesetting tasks, like typesetting LaTeX (see \[3\]), DocBook XML, DocBook SGML (see \[2\]), POD (see \[1\]) and Markdown (see \[4\]) documents. You just have to type `make`, instead of stuff like `jade -t tex -d` `caspar/print.dsl /usr/share/sgml/declaration/xml.dcl foobar.dbx`. In a directory where you maintain .dbx (Docbook XML) or .tex (LaTeX) files, do

```
   $ echo include caspar/mk/docbook.mk > Makefile
   $ vi karenina.dbx
   $ make karenina.view
   $ make karenina.print
   $ vi svejk.tex
   $ make svejk.view
   $ make svejk.print
   $ make
   $ make clean
```

```

```

Other targets: `filename.ps`, `filename.pdf`, `filename.2ps`, `filename.html`, `filename.printbig`, `filename.dvi`.

Variables you might like to set in your Makefile: `XMLDCL` (default is `/usr/share/sgml/declaration/xml.dcl`; if you're not on a Debian GNU/Linux system, you'll likely have to adjust this), `HTML_DSL`, `PRINT_DSL`.

In a directory where you maintain .pod files, do

```
   $ echo include caspar/mk/pod.mk > Makefile
   $ vi lire.pod
   $ perldoc ./lire.pod
   $ make lire.pdf
   $ make
   $ less lire.overstrike-txt
   $ make clean
```

```

```

Other targets: `filename.ps`, `filename.html`, `filename.txt`, ... (Similar to the ones supplied by *docbook.mk*).

In a directory where you maintain CommonMark .md files, do

```
   $ echo include caspar/mk/markdown.mk > Makefile
   $ vi lire.md
   $ make lire.html
   $ make
   $ make clean
```

```

```

.

Some examples: Overriding the caspar-supplied DSSSL files: Create your own print.dls and html.dsl, in the same directory as your Docbook XML files. Your Makefile should read:

```
 PRINT_DSL = print.dsl
 HTML_DSL = html.dsl
 include caspar/mk/docbook.mk
```

```

```

Overriding the standard html-to-text convertor:

```
 $ W3M=lynx make svejk.txt
```

```

```

. *caspar/mk/docbook.mk*, *caspar/mk/pod.mk*, *caspar/mk/markdown.mk*. For *docbook.mk*: files: `XMLDCL`, `HTML_DSL`, `PRINT_DSL`; utilities: `JADE`, `PDFJADETEX`, `PDFLATEX`, `JADETEX`, `LATEX`, `W3M`, `DVIPS`, `PSNUP`, `LPR`, `GV`; settings: `JADE_MAXERRORS`. These variables can get adjusted in Makefile, as well as in the shell environment.

The files *pod.mk* and *markdown.mk* use no environment variables. Joost van Baal-Ilić **[caspar(7)](/caspar/7.md)** \[1\] [perlpod(1)](/perlpod/1.md) about Perl's Plain Old Documentation format

\[2\] *DocBook: The Definitive Guide* on http://docbook.org/,

\[3\] The LaTeX Project Homepage on http://www.latex-project.org/.

\[4\] John Gruber's Markdown homepage on https://daringfireball.net/projects/markdown/.

Some comments on advanced usage are in the files *docbook.mk* and *pod.mk* itself.
