I'm including a vowel chart in a linguistics document of mine, similar to this, and while I'm aware that there are a couple of packages (TIPA, pst-vowel) that can do the job, I'm interested in trying to draw it using PGF/TikZ. Having not used TikZ before, I'm a little unsure on where to start with this deceptively simple figure.
As I understand it, I'd need to define some kind of skewed grid with [default] nodes at the line intersections, their midpoints, and the middle of each "square". The actual letters would then be drawn on top, positioned by coordinates; at the moment I'm not interested in arbitrary positioning of letters as occurs in the diagram.
Can anyone help me out?
Best Answer
If you don't require PGF/TikZ 3.0, you can use this trick to emulate an affine transformation.
I define a command whose input is a “Cartesian” coordinate in the range
(0, 0)
to(3, 2)
, and whose output is a coordinate in the barycentric system¹ defined by the four corners (calledhf
,hb
,lf
, andlb
) of the trapezoid.Liberal use of this
\V
command makes placing nodes in the trapezoid very easy.Code
Result
Finally, here is the complete IPA vowel chart drawn in TikZ:
Sorry for the late answer. Still, I hope this helps anyone else wanting to draw this in the future. By the way, you can get the extremely-well-equipped-for-linguistics Brill font here for free.
¹ You can learn about this in section 13.2.2 “Barycentric Systems” of the PGF/TikZ manual.