The offset prooved to be the inner sep
of the TikZ \node
. By setting this to zero, the included PDF becomes exactly fit to the top left corner of the page:
\tikzstyle{default}=[anchor=north west,draw=red,text width=79mm,inner sep=0pt]
I know, it's so obvious, but for me it took one hour to find it.
\draw (20,12) -- ++(2,0) -- ++(0,2) -- ++(-3,0) -- ++(45:3);
Use ++
before each new incremental coordinate to make it relative to the last one and put the pencil there.
Here's a complete example:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\tikz\draw (20,12) -- ++(2,0) -- ++(0,2) -- ++(-3,0) -- ++(30:3) {[rounded corners=10pt]-- ++(5,0) -- ++(0,-6)} -- ++(-7,0) -- cycle;
\end{document}
Of course, combining this with the -| or |- path operators can simplify the code even further; the following two pieces of code produce the same result:
\tikz\draw (20,12) -- ++(2,0) -- ++(0,2) -- ++(3,0) -- ++(0,1) -- ++(1,0) -- ++(0,-3) -- ++(2,0);\par\bigskip
and
\tikz\draw (20,12) -| ++(2,2) -| ++(3,1) -- ++(1,0) |- ++(2,-3);
I don't think that defining commands in this case adds anything; in fact, I think it reduces the functionality of the existing syntax (which is already simple). The example demonstrates that you can use, for example, polar coordinates and modify (up to TikZ limitations) the path attributes midways; even if the current question doesn't require this, it's a good thing to have the possibility to do those kind of modification if they are required.
Best Answer
You have empty lines between the
document
andtikzpicture
environment which puts the picture in an paragraph (which is\textwidth
wide). Simply removing the lines fixes this:The rest of your question is already answered in Compile a LaTeX document into a PNG image that's as short as possible.
In short:
or with v1.0 of the
standalone
class:compile with:
You might also want to use the new
border
option to set the border to0pt
.