square of opposition


How do you typeset all those logical symbols so nicely?


Here is a template that will get you started with logic in LaTeX: logic-template.tex.

Download that and the file fitch.sty. Make sure you’ve installed LaTeX. Then pdflatex logic-template to produce a PDF, logic-template.pdf.

How can I learn how to use LaTeX?

There are many online books and tutorials. Among the best:

Where do I get LaTeX? Is it expensive?

It’s free. If you use Windows, you’ll want to get MikTeX (which contains the LaTeX system itself) and either WinShell or TeXnicCenter. If you use a Mac, you’ll want MacTeX. If you use linux, get TeXLive (on debian-based systems, apt-get install texlive).

How do I typeset logic using LaTeX?

I use this package for Fitch-style proofs and this one for numbered examples. Here’s a template to get you started, and here’s the PDF it produces after processing with pdflatex.

Here’s the style file I use for the handouts: handout.sty. Put this in your working directory. Then your latex file can look like this:


\title{Your Title Here}
\author{Your Name}



Here's my proof:

	\fh \neg\exists x(Gx \wedge Hx) &  \\
    \fa \forall x \neg(Gx \wedge Hx)    & QE 1  \\
    \fa \fh \framebox{b}                & \\
    \fa \fa \neg(Gb \wedge Hb)          & $\forall$ Elim, 2, b/x \\
    \fa \fa \fh Gb                      & hyp \\
    \fa \fa \fa \fh Hb                  & hyp \\
    \fa \fa \fa \fa Gb \wedge Hb        & $\wedge$ Intro, 5, 6 \\
    \fa \fa \fa \fa \bot                & $\bot$ Intro, 4, 7 \\
    \fa \fa \fa \neg Hb                 & $\neg$ Intro, 6--8 \\
    \fa \fa Gb \supset \neg Hb          & $\supset$ Intro, 5--9 \\
    \fa \forall x(Gx \supset \neg Hx)   & $\forall$ Intro, 3--10, b/x \\


You can use detexify to find the codes for symbols you want to use. If you don’t find what you want there, try the big list.

How do I get an upside-down iota (Russell’s definite description operator)?

In the preamble of your document,


Then just use $\riota$. (Thanks to Alexander McCormach.)

Alternatively, you can get the phonetic.sty package and put


in the preamble. (Thanks to Raul Saucedo.)