Let $(A, d^A)$ and $(B, d^B)$ be chain complexes. Then I can create a double complex by putting $A_{i} \otimes B_j$ on a grid at the $(i, j)$th position. The maps I have will be $d^{hor}$ and $d^{vert}$ which are defined as $d_{i, j}^{hor} = d_i^A \otimes 1$ and $d^{vert} = (-1)^i \otimes d_j^B$. I want to show that this makes the squares anti-commute, in other words I want to show that: $$d_{i, j}^{hor} \circ d^{vert}_{p-1, q} + d^{vert}_{p, q} \circ d^{hor}_{p, q-1} = 0.$$
Can anyone explain to me why this is so?
Either you should use the Koszul sign convention (my preference) and don't include a sign in $d^{vert}$, or don't use the Koszul sign convention but include the sign. To verify the formula, just apply to a basic tensor $a \otimes b \in A_i \otimes B_ j$, and the key is the computation of $d^{vert} (a \otimes b)$. Without the built-in sign: $$ d^{vert} (a \otimes b) = (1 \otimes d) (a \otimes b) = (-1)^{i} a \otimes db. $$ The Koszul sign convention says that when we interchange $d$ past $a$, we introduce the sign $(-1)^{\deg d \deg a} = (-1)^i$. Alternatively, you can build the sign into $d^{vert}$, but don't do both or they will cancel out.
When you apply $d^{hor} = d \otimes 1$, you interchange the map $1$ with something, but since $1$ is in degree 0, there is no sign introduced.
The end result should be: $d^{hor} d^{vert} (a \otimes b) = (-1)^i da \otimes db$.
Now do the same calculation with $d^{vert} \circ d^{hor}$.