I'm not a big fan of using macros in this way. It does cut down on a bit of typing, but tends to make the source code much more opaque. A better solution is to use an editor that allows you to assign bits of code to shortcuts. For example, I use TeXShop (Mac OSX) and have set the key combination Ctrl+Opt+Cmd+1 to insert the code
\begin{enumerate}
\item
\end{enumerate}
and place the cursor right after \item
. This cuts down on typing (I just have to mash down the bottom left of my keyboard and type a number) while still producing a readable source.
I'm sure that there are ways of reproducing this functionality with other editors and on other operating systems as well; this answer to a very similar question suggests the AutoHotkey utility for Windows.
PDF is not just designed for printing. It is a format for displaying electronic documents, independently of hardware (printer, screen, e-reader, smartphone, projector etc.) and software (such as the operating system). This format is both good for printouts and presentation, so a good choice as output format.
Presentations with technical or scientific content are often based on documents, very often written in LaTeX also because of it's mathematical typesetting capabilities. It's very natural to use the same tool, LaTeX, for the presentation.
The benefits of LaTeX, such as separating the form/style and the content, portability in source, implementation and output, cross-referencing capabilities and typesetting quality, are great for presentations as well.
As I use LaTeX, I can work on the source using Windows, Linux, or Mac OS X, and I can give the presentation away as a PDF for reading or presenting on a conference, the reader or speaker can use Windows, Linux, Mac OS X, a tablet computer, a smartphone - or a printout.
If I would use PowerPoint - well, I would be pretty bound to Windows Version X with PowerPoint Version Y or a suited viewer, which is also a limit for the reader or presenter.
Best Answer
Use styles. Whenever you have color, shape, fonts, alignment, define a TikZ style for it and use it. Don't apply such formatting details to nodes or edges, apply the style. A single point for consistent customizing.
Inherit styles. Start with a base node style (font family, base color), define styles which use base styles and add size or color or alignment - no repetitions, single points for global changes.
Use macros. Have consistent TikZ commands or command sequences, which can be reused and changed.
Use constants. For every value needed, such as distances, declare a constant via
\def
or a TikZ length command, so you can use it repeatedly and adjust it at a single source code position to customize a whole drawing or a lot of drawings.Use relative positions. So you can change a reference coordinate, and all other positions will be automatically adjusted.
Let TikZ calculate for you. Once certain points such as corners are defined, use TikZ syntax to define a relative positions such as middle points and intersection points. Let TikZ do the geometry for you. If you change the reference points or image size, all will automatically adjust.
Name everything. Especially in non-trivial drawings, edges between named coordinates are much clearer to read than using coordinate numbers everywhere.
Use scopes. Don't repeat things - if you cannot apply a bunch of properties via styles, use a scope to apply settings to a whole area of a drawing. Also here, it's easy to change that part at a single position.
Use loops. If you need to repeat things, benefit from the power of TikZ
\foreach
loops to reduce the amount of repeated code.Don't nest TikZ pictures. There is always another way to do it.