= Block diagrams in TikZ format = {{{#!wiki caution '''Under Construction''' This warning will be removed once all [[computerBlockDiagram|Anton's eps block diagrams]] have been ported to [[http://www.ctan.org/pkg/pgf|TikZ]]. }}} == Background == [[https://www.control.lth.se/Staff/AntonCervin.html|Anton]] created a [[computerBlockDiagram|set of block diagrams]] in ps format, where text elements can be changed using {{{\psfrag}}} in latex. This page provides ports of these block diagrams to TikZ. The reason for creating these ports were: * The traditional latex compilation, using dvi and ps as middle formats, is widely being replaced with pdflatex and there is no equivalent to psfrag in pdflatex. * TikZ allows for changes not only of text, but also of the graphics, directly in the .tex document. * [[Matlab2tikz|Matlab graphics can be exported to TikZ]]. The format can therefore cater for all graphics needs. == Practical == === A simple Example === TikZ is a programming language and a TikZ picture is a set of code. The below minimal example shows a .tex document, demonstrating the inclusion of a TikZ block diagram: {{{ \documentclass{pm} \usepackage{tikz} \usetikzlibrary{narrow} \tikzset{>=narrow} \begin{document} Figure~\ref{fig:block} shows an example block diagram. \begin{figure} \begin{tikzpicture} \small \tikzstyle{block} = [draw, rectangle ,minimum size=10mm,node distance=25mm] \tikzstyle{sum} = [draw, circle,node distance=10mm, inner sep=0mm,minimum size=4mm] \end{tikzpicture} \caption{This is a block diagram.\label{fig:block}} \end{figure} \end{document} }}} If you think the TikZ code ({{{\begin{tikzpicture}}} to {{{\end{tikzpicture}}}}) clutters the .tex file, it can be placed in a separate file, e,g. {{{mypicture.tikz}}}, and inserted in the .tex file using the the command {{{\input{mypicture.tikz}}}}, which simply places the content of {{{mypicture.tikz}}} at the location of the commend. The arrow style {{{>=narrow}}} is local to the department. If you do not have access to it on your computer, you may use {{{>=latex}}} instead, or download the file defining the style. === Scaling the block diagrams === A simple way to change the size, when including a TikZ picture is to add an extra argument to {{{\begin{tikzpicture}}}}. Here are some examples: {{{ \begin{tikzpicture}[scale=0.6] }}} The above scales edges, but not the nodes, neither text. {{{ \begin{tikzpicture}[scale=0.6, every node/.style={scale=0.6} }}} The above scales both nodes and edges, but not text. {{{ \begin{tikzpicture}[transform canvas={scale=0.6}] }}} The above scales the whole picture. === More info === A lot can be found on online forums. There also exists an extremely well-written (but long!) [[http://mirrors.ctan.org/graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf|manual for TikZ]] and a much more compact [[http://cremeronline.com/LaTeX/minimaltikz.pdf|minimal introduction]]. Note that you can draw almost anything in TikZ, not only block diagrams. == Block diagrams ==