I need to wrap the text around my tikz picture. But as you can see, scaling the picture give me problems about the position of the shaded axis between "pompa" and "turbina". How can i fix this problem?

We're getting there: Code should be formatted using the {} key (or indenting each line by four spaces), not using the " key -- that's for quotes. Also, examples should be minimal: Don't just dump your whole code in the question, but remove all the bits that aren't directly related to the problem. In this case, you should make up a small example that demonstrates the problem.
– JakeMay 2 '12 at 12:28

@Edo: Wow, that's very kind of you to clean the code formatting. I tried, but it inserted lots of empty lines and weird line breaks, so I gave up. Really, that's something you can leave the poster do correct themselves.
– JakeMay 2 '12 at 12:39

You can scale everything using \scalebox{<factor>}{<content>} or \resizebox{<width>}{<height>}{<content>} from the graphicx package (already loaded by tikz). Try \resizebox{<your width>}{!}{<your tikz picture>}. Having the tikzpicture in an extra file would be better IMHO. Have a look at standalone which also gives you \includestandalone[width=<width>]{<source file>} (also height and scale etc.)
– Martin Scharrer♦May 2 '12 at 12:42

2

@Jake: Well let's say that not well-indented or well-formatted code hurts me way more than editing :)
– gcedoMay 2 '12 at 12:45

@Edo Indeed, thanks for the effort. I've fixed a few places where commands shifted into commented lines (in case you wonder about the reason of the edit).
– percusseMay 2 '12 at 12:48

1 Answer
1

Firstly I try to give a solution. Your problem comes from the use of transform canvas={scale=0.8} with [on background layer]. If you don't use layer then you need to place the shaded axis before the turbina and the pompa. I remove some options of these objects like draw and to get the exact size, I used \hphantom to avoid to write the texts.

Then, at the end of the picture, I draw the pompa and the turbina above the shaded axis.

Now about the general method. Before to code a complex figure like this, you need to know what you want to do with : scale or not scale is the question. If you want to scale the figure, you need to use carefully some tools like node, positioning. You need to write correctly the dimensions (absolute with units or without units). In this case, you can use nodes but before I think it was better to define coordinates to place pompa, turbina, evaporatore etc. It will be more easy to scale the objects. About other solutions, the problem if you use resizebox or something like that, it's the size of the fonts, the width of the lines etc.
A good thing is to avoid scaling (idea of T. Tantau and to draw at the good size), personally I prefer to use the good tools for an easy scaling.