I have been generating 100's of maps with different kind of settings in the advanced generator and it seems to be impossible to get lignite/bituminous coal and a volcano on the same map. When i want to start a new game i look for ages to find a spot like this but i end up on a spot with a magma shaft 10 to 20 Z levels below the surface on a map that does have coal. The game seems programmed to leave out coal once the magma breaches the surface somehow, is this true?
Alright, as Williham said, volcanos show up in igneous biomes, while coal and flux stone show up in sedimentary biomes. Now, the trick is to get it so the boundary between the two is close to the volcano. Normally this wouldn't happen, because of the volcanism variance. This puts a limit on how much difference there can be in volcanism between two adjecent tiles. Volcanoes only show up at 100 volcanism, while sedimentary biomes require a much lower volcanism, so normally you won't find the two close together. However, if you choose Design New World with Advanced Parameters from the main menu and press e, you will be able to edit these values!
Setting both Volcanism X-Variance and Volcanism Y-Variance to their maximum values (3200) will cause the world gen to allow a much steeper drop off in volcanism, allowing sedimentary layers to be right next to volcanoes.
The second trick is to modify the Volcanism Weighted Range. By default, each level of the range is equally weighted. But you don't care about the non-volcano portion of the igneous biome, so let's get rid of that. Change the weighted ranges like so:
Volcanism Weighted Range (0-20) 1 Volcanism Weighted Range (0-20) 1 Volcanism Weighted Range (20-40) 1 Volcanism Weighted Range (20-40) 0 Volcanism Weighted Range (40-60) 1 ---> Volcanism Weighted Range (40-60) 0 Volcanism Weighted Range (60-80) 1 Volcanism Weighted Range (60-80) 0 Volcanism Weighted Range (80-100) 1 Volcanism Weighted Range (80-100) 1
This will make it so the only volcanism values which can exist are the lower end and the upper end of the range, so it further increases the likelihood of sedimentary biomes being near volcanos.
The final trick is to increase the number of volcanoes, increasing the odds that you'll find one in a good position. The Minimum Volcano Number will vary based on map size. On a medium map, I usually set it to 35. Once you've made these changes, press Esc to back out of the parameters menu, and F6 to save them. Then press enter, and it will begin generating your custom world.
TL;DR: Volcanoes om nom coal.
Important Edit: It's still possible to get coal/flux and a volcano on the same map; all you have to do is embark across a volcanic and a non-volcanic biome. However, the odds are low.
For volcanic sites, fuelling your steel industry with charcoal and goblinite makes a lot more sense.
This is a geology thing, and it's really your own fault for trying to play Dwarf Fortress without a masters degree in geology.
Coal is found in three forms in Dwarf Fortress: Charcoal from trees, and coal coke from bituminous coal and lignite.
Bituminous coal and lignite are types of rock that are only found in sedimentary geological layers, i.e. layers of stone that are created by the careful depositing of sediment over millions of years, from say an ocean or a river.
Volcanos, on the other hand, HATE sedimentary stone, turning it into metamorphic stone and creating bunches of igneous stone.
In other words: Sedimentary stone and igneous extrusive stone (as found around volcanoes) will never be found in layers in the same biome!
Since coal is only found in sedimentary stone, it is never found directly adjacent to volcanoes.
Additionally, since most flux stones are sedimentary, these'll also only rarely be available on volcanic maps, although marble is usually plentiful.