I am new to this forum and a very new user of LaTeX. So the question may be very naive. Sorry for this. I truly appreciate your help. I have no idea where to begin.

How can I make the following figures with LaTeX?

  1. Figure 1 on the web-page http://www.engsc.ac.uk/learning-and-teaching-theory-guide/constructive-alignment

  2. Last figure on the page:


  3. The figure, circular figure, on the web-page


  • 1
    Actually, these figgures are a piece of cake for LaTeX. It is capable of producing intensilely more complicated figures (see jaboto's answer). However, be prepared for infinite frustration while trying to get everything right. In the end, it is worth it though.
    – Speldosa
    Nov 2, 2011 at 12:32
  • 5
    Welcome to TeX.sx! The short answer is, "Yes, very easily". They are quite straightforward diagrams. I would use TikZ/PGF but they will be equally easy with PSTricks and maybe with xy-pic. As you are new to LaTeX, the code might be a bit daunting though! How much effort are you prepared to put in? If we give you some pointers on where to look, would you then take a look and have a go yourself? This forum is for helping people overcome difficulties as they themselves try to find an answer. Nov 2, 2011 at 12:35

3 Answers 3


I'm only posting this code since I have it lying around. As the comments have noted, it's better to use this site to ask specific questions about code you have tried, rather than general questions about drawing whole classes of diagrams.

The diagram below is similar to the kinds of diagrams you are talking about, and should give you enough to get started. If you encounter problems with the actual diagrams you create, you can post specific questions about the code you have. (Make sure that you add a minimal working example to new questions that you ask.)

\begin{tikzpicture}[every node/.style={minimum height={1.5cm},thick,align=center}]
\node[draw] (DS) {d-structure};
\node[draw, dashed,right= of DS] (IS) {Information\\structure};
\node[draw, above right=of IS] (PS) {p-structure};
\node[draw, below=of PS] (CS) {c-structure};
\node[draw, below=of CS] (Lex) {lexicon/morphology};
\draw[->] (IS) -- (PS);
\draw[->] (IS) -- (CS);
\draw[->,dotted] (IS) -- (Lex);
\draw[->] (IS.160) -- (DS);
\draw[->] (IS.west) -- (DS);
\draw[->,dotted] (IS.200) -- (DS);



output of code

  • Alan, just an off-topic question, how can you specify that all the boxes have the same width? Nov 3, 2011 at 21:38

Yes, you can.

There are some packages which are very useful while drawing, although they can be a bit tricky in the beginning.

Have a look at the packages PGF & TikZ: http://sourceforge.net/projects/pgf/
Exmples: http://www.texample.net/tikz/examples/

Enjoy! :)


I would say the fastest and easiest way to do this is by NOT using Latex to draw figures. You can use softwares like Corel Draw, Adobe Illustrator or even MS Powerpoint to draw and produce high quality images quickly and efficiently.

  • 1
    Concerning MS Powerpoint: your statement is certainly true if you just want few figures and you do not want to learn some kind of picture language and you are satisfied with somehow limited quality. But once you have mastered the language to a certain degree, I would say that you are faster to get a high-quality figure with the descriptive language (especially if you are going to move/change/rewrite parts of the figure). Might be similar to console vs. GUI in general (?). Nov 3, 2011 at 21:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.