\: vim:syntax=tex
\: This file is maintained at http://git.mdcc.cx/caspar
\: this is a manpage in zoem format.  see http://micans.org/zoem/ and man_zmm(7)

\import{pud/man.zmm}
\import{./include.zmm}

\begin{pud::man}{
 {name}{caspar-typesetting}
 {html_title}{caspar-typesetting}
 {section}{7}
 \man_share
}

\${html}{\"pud::man::maketoc"}

\def{"docbook.mk"}{\it{docbook.mk}}
\def{"pod.mk"}{\it{pod.mk}}
\def{"markdown.mk"}{\it{markdown.mk}}

\sec{name}{NAME}
  caspar-typesetting - Makefile snippets for common typesetting tasks

\sec{synopsis}{SYNOPSIS}

In a Makefile, write

\verbatim{
  include caspar/mk/docbook.mk
}

or

\verbatim{
  include caspar/mk/pod.mk
}

or

\verbatim{
  include caspar/mk/markdown.mk
}

.

\sec{description}{DESCRIPTION}

The caspar \"docbook.mk", \"pod.mk" and \"markdown.mk" files are Makefile snippets for common
typesetting tasks, like typesetting LaTeX (see \refer{latex}), DocBook
XML, DocBook SGML (see \refer{dbx}), POD (see \refer{pod}) and Markdown (see \refer{markdown}) documents.
You just have to type \tt{make}, instead of stuff like \tt{openjade -t tex -d
caspar/print.dsl /usr/share/sgml/declaration/xml.dcl foobar.dbx}.

\sec{usage}{USAGE}

In a directory where you maintain .dbx (Docbook XML) or .tex (LaTeX) files, do

\verbatim{
   $ 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: \tt{filename.ps}, \tt{filename.pdf}, \tt{filename.2ps}, \tt{filename.html},
\tt{filename.printbig}, \tt{filename.dvi}.
  \par{
Variables you might like to set in your Makefile: \tt{XMLDCL} (default is
\tt{/usr/share/sgml/declaration/xml.dcl}; if you're not on a Debian GNU/Linux
system, you'll likely have to adjust this), \tt{HTML_DSL}, \tt{PRINT_DSL}.
  } \par{
In a directory where you maintain .pod files, do

\verbatim{
   $ 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: \tt{filename.ps}, \tt{filename.html}, \tt{filename.txt}, ...
(Similar to the ones supplied by \"docbook.mk").

  } \par{
In a directory where you maintain CommonMark .md files, do

\verbatim{
   $ echo include caspar/mk/markdown.mk > Makefile
   $ vi lire.md
   $ make lire.html
   $ make
   $ make clean
}

. }


\sec{examples}{EXAMPLES}

\par{

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:

\verbatim{
 PRINT_DSL = print.dsl
 HTML_DSL = html.dsl
 include caspar/mk/docbook.mk
}

Overriding the standard html-to-text convertor:

\verbatim{
 $ W3M=lynx make svejk.txt
}

.

}

\sec{files}{FILES}

\it{caspar/mk/docbook.mk}, \it{caspar/mk/pod.mk}, \it{caspar/mk/markdown.mk}.

\sec{environment}{ENVIRONMENT}

For \"docbook.mk": files: \tt{XMLDCL}, \tt{HTML_DSL}, \tt{PRINT_DSL};
utilities: \tt{JADE}, \tt{PDFJADETEX}, \tt{PDFLATEX}, \tt{JADETEX}, \tt{LATEX},
\tt{W3M}, \tt{DVIPS}, \tt{PSNUP}, \tt{LPR}, \tt{GV}; settings:
\tt{JADE_MAXERRORS}.  These variables can get adjusted in Makefile, as well as
in the shell environment.
  \par{
The files \"pod.mk" and \"markdown.mk" use no environment variables.
}

\sec{author}{AUTHOR}

\"man::author"

\sec{seealso}{SEE ALSO}

\sibref{caspar}{caspar(7)}

\reference{pod}
perlpod(1) about Perl's Plain Old Documentation format
 \par{
\reference{dbx}
\it{DocBook: The Definitive Guide} on \httpref{http://docbook.org/},
 } \par{
\reference{latex}
The LaTeX Project Homepage on \httpref{http://www.latex-project.org/}.
 } \par{
\reference{markdown}
John Gruber's Markdown homepage on
\httpref{https://daringfireball.net/projects/markdown/}.
 } \par{
Some comments on advanced usage are in the files \"docbook.mk" and \"pod.mk"
itself.
 }

\end{pud::man}

