If you want value you have to buy off the train. I was in a supermarket, advertised by a man with very white teeth, and many filled baguettes were £2. If were going from somewhere where that was convenient that could work, and would be much cheaper.
As to beer prices, it's not my poison so I'm not sure what it costs in pubs and clubs, but comparing it to posh beers being sold online, they must have about a 100% mark up on them on the TOC I checked last night, I think EMT.
I suppose the mark up on beers may well exceed 100%, that is if bought in by the ton, suppose tocs order in vast quantities.
Food will always be more expensive on the train and always has been,agree
with the supermarket prices, sandwiches from a £1(co op), filled rolls from
£1.50 (tessie Cohan) etc etc.
The only time I never minded paying over the odds for a drink was on the old
5.00p.m.? boat train to Manchester from Holyhead, then on a Sunday 1960s
all pubs were closed until Rhyl where I got off 35 minutes before the pubs in opened at 7.00p.m. The train buffet opened the minute of departure, this train was in effect used by many for a Sunday Evening out to Rhyl as Anglesey/Caernarvonshire/Denbighshire were dry counties.
Then return on the Emerald Isle Express. The good old days.