Trees, like food, are a vital resource in Minecraft, providing fuel, crafting materials, and for oaks, apples. Trees, however, cast shade - and this can be a problem allowing hostile mobs to spawn underneath when trees grow too close together.
Instead of scattering torches underneath, I'm going to show you two methods of building a compact light table tree farm.
Step 1: Jack O'Lantern Tree Farm - Base Layout
You'll need ten (10) blocks of glass and three (3) Jack O'Lanterns for a layout that will grow eight trees. This layout can be easily scaled up or down as needed.
First, dig a seven block trench one layer down. On the even-numbered blocks, dig out one block on each side as shown, crossing the trench. This creates eight planting blocks separated by an empty block from its neighbors.
Step 2: Jack O'Lantern Tree Farm - Adding Jack O'Lanterns and Glass
In the middle of each cross, place a Jack O'Lantern. Fill the remaining open blocks around each Jack O'Lantern with glass.
Step 3: Jack O'Lantern Tree Farm - Plant Seedlings
Plant your seedlings on the planting blocks between the glass. The light below will allow trees to grow even at night and through the leaves of the neighboring trees.
Step 4: Torch Tree Farm - Base Layout
Pumpkins to craft into Jack O'Lanterns can be hard to find sometimes. However, you can make a light table using glass and torches. For this, we'll need thirteen blocks of glass, thirteen blocks of gravel (just for appearance), and thirteen torches.
Once again, dig a trench seven blocks long, then dig out the blocks on each side of the even-numbered blocks to cross the trench as before. Dig this down to a depth of three blocks.
Step 5: Torch Tree Farm - Gravel Base and Torch Layer
Put down a layer of gravel in the pit, then put a torch on each block of gravel. This leaves the top layer undone. Dig out one block from the end to get out of the pit, then replace the block.
Step 6: Torch Tree Farm - Plant Seedlings
Plant your seedlings in the blocks as shown. Light from the torches will allow the trees to grow, even at night and despite the neighboring trees.
Refinements include putting a layer of stone or glass 9 blocks over the tree farm to control growth, as oak and birch both need at least 8 blocks of overhead space. Birch trees are easier to harvest using this method as they do not tend to branch like oaks can.