I'm looking for a tool to nicely generate single-page PDFs. My needs are:
In essence I'm looking for the tool X that is to OODraw/CorelDraw/... as LaTeX is to OOWrite/MS Word.
I've looked at webkit2pdf and a headless OODraw, but both seem a bit of an overkill. XML-FO has some limitations such as not being able to predict how many pages your document spans. Reportlab is pricey.
Any ideas?
Thanks!
Definitely PGF/TikZ. Selling point:
Created by this code:
% Rooty helix
% Author: Felix Lindemann
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\pagestyle{empty}
\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background,main,foreground}
\xdefinecolor{darkgreen}{RGB}{175, 193, 36}
\newcounter{cntShader}
\newcounter{cntRoot}
\setcounter{cntShader}{20}
\def\couleur{darkgreen}
\begin{tikzpicture}
\foreach \y in {86,38,15}{
\setcounter{cntShader}{1}
\coordinate (a) at (0,0);
\coordinate (b) at (0:1);
\foreach \x in {1,...,\y}{%
\coordinate (c) at ($ (b)!1cm!270:(a) $);
\begin{pgfonlayer}{background}
\draw[fill=\couleur!\thecntShader] (a)--(b)--(c)--cycle;
\end{pgfonlayer}
\setcounter{cntRoot}{\x}
\addtocounter{cntRoot}{1}
\node[fill=white,draw,circle,inner sep=1pt] at (c)
{$\sqrt{\thecntRoot}$};
\coordinate (b) at (c);
\pgfmathsetcounter{cntShader}{\thecntShader+4}
\setcounter{cntShader}{\thecntShader}
}
}
\node[fill=white,draw,circle,inner sep=1pt] at (0:1) {$\sqrt{1}$};
\end{tikzpicture}
\end{document}
Blatantly stolen from the examples.
An alternative to TikZ is using Metapost with Context: this is a slightly more expressive language than PGF, the basis language for TikZ, within a Tex-based processing language, Context, that is better suited for page layout in PDF than either Latex or Plain Tex.
Three points in favour of Context/Metapost:
And three in favour of Latex/TikZ:
The best place to start finding out about using Context with Metapost are the two (long!) introductory guides by Hans Hagen: Context: an excursion and Metafun (Metafun is an implementation of Metapost with some extensions).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With