LaTeX, or more precisely speaking TikZ, lets you create really great diagrams for your economic papers. The main difference compared to carelessly embedding images in your document is that you will be creating vector images with TiKz, which are lossless scaleable, what means they won’t blur and you won’t see pixels when you scale them up. Another great point which makes me be in favor of vector graphics by TikZ is that they are more accurate compared to their now randomly appearing pixel brothers.

The final product

Lately I was creating the diagram which I attached below. In this task I was focused primarily on some fine details, i.e. the arrowheads, the crosshatching, and the line thickness ratio.

Economic diagram in LaTeX created with TikZ

Even if this diagram is just of qualitative and not of quantitative nature, it is any the less important for me to have correctly set arrowheads. I must admit at this point, that I consider diagrams which do not feature this detail, as of lacking accuracy. Well set heads, by contrast, demonstrate understanding of the Cartesian coordinate system, for they, being set at the end of each coordinate axis indicate the growth direction of the coordinate itself. A coordinate without correct arrowheads can therefore, in a very consequent way, be considered meaningless and vague.

Custom arrowheads

In the first place it was necessary to customize the arrowheads which would be loaded using the default TikZ Library arrows. Beneath I have attached the necessary code to produce finer arrowheads.

%-------------------------------------------------------------

%       Call arrow library and declare arrowheads

%-------------------------------------------------------------


\usetikzlibrary{arrows}

\makeatletter
\pgfarrowsdeclare{dinarr}{dinarr}
   {
\pgfutil@tempdima=0.5pt%

\advance\pgfutil@tempdima by.25\pgflinewidth%

\pgfutil@tempdimb=7.29\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth%

\pgfarrowsleftextend{+-\pgfutil@tempdimb}
\pgfutil@tempdimb=.5\pgfutil@tempdima\advance\pgfutil@tempdimb by1.6\pgflinewidth%

\pgfarrowsrightextend{+\pgfutil@tempdimb}
   }
   {
\pgfutil@tempdima=0.5pt%

\advance\pgfutil@tempdima by.25\pgflinewidth%

\pgfsetdash{}{+0pt}
\pgfsetmiterjoin
\pgfpathmoveto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}%

{\pgfqpoint{-3mm}{0.5mm}}}
\pgfpathlineto{\pgfqpoint{0.5\pgfutil@tempdima}{0\pgfutil@tempdima}}
\pgfpathlineto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}%

{\pgfqpoint{-3mm}{-0.5mm}}}
\pgfpathclose
\pgfusepathqfillstroke
   }
\pgfarrowsdeclarereversed{dinarr reversed}{dinarr reversed}{dinarr}{dinarr}
\makeatother

These arrowheads can be of course altered to specific needs, but this code snippet will produce - if properly inserted - arrowheads which have .5mm in height and 3mm in length. You can alter their appearance by changing the values in \pgfqpoint{-3mm}{0.5mm} and its counterpart two lines below. If you are happy with the appearance you can use them as usual with a command like \draw[-dinarr].

Custom hatching

Creating a neat hatching was the next task which I was up to. I wanted the hatching to be vertically aligned and 1mm apart. The code was again customized after the pattern library was called.

%-------------------------------------------------------------

%       Call some libraries and declare vertical hatchings      

%-------------------------------------------------------------

\usetikzlibrary{patterns,calc,intersections}

\pgfdeclarepatternformonly{dinhatch}{\pgfpointorigin}{\pgfqpoint{1mm}%

{100pt}}{\pgfqpoint{1mm}{100pt}}
{
  \pgfsetlinewidth{0.4pt}
  \pgfpathmoveto{\pgfqpoint{0.5pt}{0pt}}
  \pgfpathlineto{\pgfqpoint{0.5pt}{100pt}}
  \pgfusepath{stroke}
}

What’s next?

Having this done, I was ready to finally draw some lines with LaTeX and TikZ. Well, not really. There were still some styles to define, i.e. intercept points, labels, etc. I will continue this note, when I have some more spare time and possibly upload the .tex file as well.