关羽千里走单骑,“过五关,斩六将”,成为中华文化中舍生取义、神勇盖世的典故。这个已成典故化作成语的情节,却是罗贯中为了表现关羽不辞艰辛千里寻兄的忠贞之节和义勇之概而虚构的。《三国演义》第二十七回“美髯公千里走单骑,汉寿侯五关斩六将”写关云长保护甘、糜二夫人,从许昌出发到河北寻找刘备,一路上闯过东岭关、洛阳、汜水关、荥阳,到滑州渡过黄河,共杀了孔秀、韩福、孟坦、卞喜、王植、秦琪六员魏将。正是避我者生,挡我者亡,让读者看得十分痛快。
我们要考证这一情节,单从地理方位分析和斩将过关的关名就可以了。按《三国演义》所述,关羽闻知刘备消息,是在征汝南的阵上,遂与孙乾相约去会刘备。当时刘备在袁绍处,袁绍在黄河北与曹操的兵马对峙,时曹操在许昌,关羽想要来去明白,乃回许昌辞曹操。曹操悬回避牌避而不见,关羽于是挂印封金,留书而走。关羽离开曹操的具体时间及所走的路线,史书上并无记载。但可以肯定,他是不会走过小说所列的那五关的。当时,曹操的大本营在今河南中部的许昌一带,袁绍控制的北方黄河渡口基本在其正北方,直线距离不过四百华里,而且其间地势平坦,并无高山大关。关羽如从许昌出发,可谓一马平川。但按照小说上讲,关羽是从许昌出发,一路上闯过了东岭关、洛阳、沂水关、荥阳,到滑州过黄河渡口白马津的,我们只要翻翻地图便可知白马津在许昌正北,而洛阳、荥阳、沂水都在许昌西北,中间还隔了中岳嵩山。关羽有平路不走,非要绕道洛阳一带,岂不是舍近求远了吗?
不过,关羽离开曹操去投奔旧主刘备倒是的确发生过的。西晋陈寿所著史书《三国志·关羽传》中有明确记载:“及(关)羽杀颜良,曹公知其必去,重加赏赐。羽尽封其所赐,拜书告辞,而奔先主于袁军。”从这段历史记载中,我们还是看到了关羽的忠义和刘备的独特魅力。不过在这段历史故事中,我们还可以看到曹操的气度。《三国志·关羽传》中说:关羽走后,曹操的大多部将都主张派兵追击,但被曹操拒绝。曹操说:“人各有志,各为其主,就不必为难关羽了。”后世对曹操的话多有感慨,赞扬曹操的大度。裴松之在为《三国志》作注的时候,针对这件事就评论到“曹公知羽不留而心嘉其志,去不遣追以成其义,自非有王霸之度,孰能至于此乎?斯实曹公之休美。”得到了曹操命令的部下也就放弃了追杀关羽的打算,关羽也得以安全的回到刘备身边,中途没有遇到丝毫的困难。但是不管怎么说,关羽的“忠、义”精神非常可嘉,罗贯中把这个故事写到小说之中,并进行了加工和改造,使之成为千古美谈。原本体现出曹操大度的史实就被有意的删除掉了。
关羽过五关的故事来源于民间传说,而早期三国故事的说书人不清楚,当时曹操已经以许昌为临时首都,而还以为曹操仍在长安。因此,元代《三国志平话》里将关羽辞曹的起点写为长安,并按照长安城外的灞陵桥,虚构了“灞陵挑袍”。这样,关羽从长安出发,一路东行,过洛阳、汜水关、荥阳、黄河渡口,地理完全合理,没有任何错误。罗贯中在写《三国演义》时,发现了关羽从长安出发是个明显的错误,就按照历史,将关羽辞曹的起点从长安改成许昌,但仍然保留了“灞陵挑袍”的故事,并将许昌的“八里桥”演变成“灞陵桥”。罗贯中虽然改变了关羽的出发地点,但由于保留了过五关的故事,而又无法改变关羽的出行路线,故仍保留了洛阳、汜水关、荥阳、黄河渡口这四个关口,这样就导致关羽莫名其妙地转了一个大圈子。