Just as you must train your legs to go the distance, your digestive system must be fine-tuned to deliver the nutrients under the stress of long runs. In this process, you’ll steadily eliminate (or adjust the intake of) foods that produce negative effects. You want to get into a routine, knowing exactly what to eat, when to eat it, how much to drink with it, etc. If you adjust this during your series of long runs, you’ll reduce the chance of problems in the event to almost nothing. Your stomach and GI tract can adapt to delivering nutrients with little or no negative reactions throughout a strenuous endurance event.
While a variety of foods is great for overall nutrition, your pre-race diet will be more focused. Analyze your eating the day before and the morning of long runs. Over the months, eliminate foods that cause problems. If you had a problem, eliminate the food or foods that could have caused it. Realize that it may have been the quantity of food. It’s better to err on the side of eating too little than too much. But, please, don’t starve yourself. Continue to eat small meals or snacks (which you know will digest quickly) all day long into the evening.
Start with the foods that have digested quickly for you leading up to the long workouts and didn’t cause stomach or other GI problems. Write down the schedule in a journal or notebook where you can review it before your next long run. After each snack, note the amount, the time, and any fluid you consumed with it. As you work on the right quantity and timetable, you’ll gain control over how you feel the day before and the morning of the half or full marathon.