正在阅读:

李庆西:水浒地理学

扫一扫下载界面新闻APP

李庆西:水浒地理学

本来是啸聚山林,却要弄成四方辐辏之地,这不只是情节安排的需要,更像是小说的一种内在结构。

撰文:李庆西

在《中国小说史略》里边,鲁迅将《水浒传》与《三国演义》一同列入元明讲史小说,让人有些疑惑。“讲史”这说法来自宋元“说话”之分类,即“谓讲说《通鉴》汉唐历代书史文传,兴废争战之事”(吴自牧《梦粱录》卷二十),不同于假托历史的虚构作品。问题在于,《水浒传》之史实依据相当薄弱,所依傍北宋末年历史背景也较模糊,小说中梁山人物唯宋江一人见于《宋史》。宋江被史家视为流寇,自然未予立传,只在他人纪传中提及,如《宋史·徽宗纪》:

(宣和三年二月)淮南盗宋江等犯淮阳军,遣将讨捕,又犯京东、河北,入楚、海州界,命知州张叔夜招降之。

另外,《侯蒙传》亦说到对宋江的赦免与招降:

宋江寇京东,(侯)蒙上书言:“(宋)江以三十六人横行齐、魏,官军数万无敢抗者。其才必过人。今青溪盗起,不若赦江,使讨方腊以自赎。”

具体讨剿与招安过程,《张叔夜传》叙述较为详备:

宋江起河溯,转略十郡,官军莫敢婴其锋。声言将至,(张)叔夜使间者觇所向,贼径趋海濒,劫巨舟十余,载掳获。于是募死士得千人,设伏近城,而出轻兵距海,诱之战。先匿壮卒海旁,伺兵合举,火焚其舟。贼闻之,皆无斗志,伏兵乘之,擒其副贼,(宋)江乃降。

二十世纪二十年代,鲁迅做小说研究,胡适、郑振铎做《水浒传》考证,都用到过上述史料。这些记载也被后来的研究者视为水浒故事的源文件。可是,好像未见有人从地理空间角度去讨论初始化的宋江历史叙事。

《宋史》(全四十册)
中华书局1985年版

综合以上三则,可知宋江活动范围很大。《张叔夜传》说得很清楚,宋江最初起于河溯(亦作河朔),即黄河以北。那一片,宋代为河北东路和河北西路。如果是袭用唐时河朔三镇(魏博、成德、卢龙)的说法,今河北及京津地区大部都有可能是宋江起事的地方。《侯蒙传》又称“(宋)江以三十六人横行齐、魏”,这是说其部已南进京东东路(胶东半岛诸州),并且向北宋政权的核心地带京畿路运动,或贴近河北东路的大名府一带。但从《徽宗纪》《张叔夜传》看,宋江继而又南下淮阳军(今江苏邳州、宿迁一带)和楚州(今江苏淮安至盐城一带)、海州(今江苏连云港一带)等地,最后是在海州被围剿和招安。

所有这些记载表明,宋江这支队伍惯于过府冲州的运动战(或曰流寇式作战),逐次向南递进,并没有建立像小说中梁山泊那样固定的根据地。

梁山泊(泺)这个地名,《宋史》亦有几处提及,分别见于蒲宗孟、许幾、任谅诸传。蒲宗孟是神宗时人,熙宁间曾为郓州知府;许幾、任谅大约与宋江同时代,一为郓州知府,一为提点京东刑狱。各传简述传主事略,无不举述针对辖区内梁山泊(泺)的治盗政绩。

《蒲宗孟传》所述治盗手段严苛而血腥:

郓介梁山泺,素多盗,(蒲)宗孟痛治之,虽小偷微罪,亦断其足筋。盗虽为衰止,而所杀亦不可胜计矣。

《许幾传》介绍如何以连坐法维持治安:

梁山泺多盗,皆渔者窟穴也。(许)幾籍十人为保,使晨出夕归,否则以告,辄穷治,无脱者。

《任谅传》则谓传主深入基层,进一步划定责任片区,落实到人:

梁山泺渔者习为盗,荡无名籍。(任)谅伍其家,刻其舟,非是不得辄入。他县地错其间者,鑱石为表。盗发,则督吏名捕,莫敢不尽力,迹无所容。

从神宗熙宁年间到徽宗宣和年间,实有半个世纪,梁山泊(泺)一直匪患不绝。不过,从这些记述来看,梁山泊(泺)的盗匪只是当地渔民,以行舟之便做些偷盗劫掠的勾当,小打小闹而已。这种盗贼绝非宋江等人的武装团伙,他们甚至不可能跟官府作正面冲突,像小说中原在郓城县做巡捕都头的朱仝、雷横就是专门对付这些村坊蟊贼的。毫无疑问,史书叙述的梁山泊(泺)盗伙实与宋江相差很远,亦无任何关系。

有一点需要说明,蒲宗孟、许幾治下的郓州与小说中经常出现的郓城县不是一个地方。虽说二者都邻近梁山泊,但郓城县属济州(治今山东巨野)。从谭其骧《中国历史地图集》第六册(宋辽金时期)看,当时的梁山泊是一个足有七八百平方公里的腰形湖泊(大约相当现在太湖水面三分之一),其东北部分在郓州(治今山东东平)境内,西南部分属济州。郓城县和济州州治分别处于梁山泊西面和南面,而整个郓州都在湖的东边和北边。其实,郓州自宣和元年(1119)已升格为东平府,小说中郓州和东平府两个名称交替出现。

谭其骧主编
《中国历史地图集》(第六册)
中国地图出版社1982年版

这里顺便解释一下宋代行政区划,其时行政大区称路,犹似汉代的州,唐代的道。徽宗宣和年间全国分二十四路,郓州(东平府)和济州均属京东西路。州是宋代二级政区主体单位,比较重要的州称作府。除此,这一级政区还有监、军两种建制(监设于盐业、矿冶、马政等产业区,军乃屯兵戍守的行政区,均分州县两级)。

梁山泊人物早期文字资料有南宋龚开(圣与)《宋江三十六人赞并序》,见于周密《癸辛杂识·续集》上卷。龚赞各以四句四言诗标识宋江等三十六人,这些偈赞中找不出可与梁山泊(泺)链接的字符。值得注意的是,卢俊义、燕青、张横、戴宗、穆横五人名下却有“太行”字样——

玉麒麟卢俊义:白玉麒麟,见之可爱,风尘太行,皮毛终坏。

浪子燕青:平康巷陌,岂知汝名,太行春色,有一丈青。

船火儿张横:太行好汉,三十有六,无此火儿,其数不足。

神行太保戴宗:不疾而速,故神无方,汝行何之,敢离太行。

没遮拦穆横:出没太行,茫无畔岸,虽没遮拦,难离火伴。

这似乎表明宋江的地盘原是在太行山一带。不著撰人之讲史话本《宣和遗事》也说到李进义(卢俊义)、林冲等人救出杨志,一同上太行山落草。不过,是书亨集已经形成宋江与梁山泊的组合—因受生辰纲案子牵连,宋江杀惜后跑路,在庙中遇九天玄女,之后奔梁山泺投奔晁盖。可是,前边元集中不但说杨志等人上太行山落草,也有“宋江等犯京西、河北等州”之语。这说的是宋江在京西、河北起事,还是梁山人马远征京西、河北?让人莫衷一是。所谓京西、河北,即京西北路和河北西路,太行山就在二者西北交界处。鲁迅注意到,《宣和遗事》“由钞撮旧籍而成”(《中国小说史略》第十五篇),其资料来源驳杂,可知宋江三十六人上山落草之处,早期有两种版本,一是太行山,一是梁山。

《癸辛杂识》
[宋]周密撰,吴企明点校
中华书局1988年版

小说《水浒传》成书之前,成形的水浒叙事主要是元杂剧中的水浒戏曲,而现存的六种元代剧目(高文秀《双献功》、李文蔚《燕青博鱼》、康进之《李逵负荆》、李致远《还牢末》、无名氏《争报恩》《黄花峪》),无一例外,都以梁山泊为山寨。太行山一说,可能在元剧阶段已被废弃。

应该说,元剧水浒戏对梁山泊及周边地理关系的描述已相当准确,如高文秀《双献功》第一折,宋江上场自报家门:

寨名水浒,泊号梁山。纵横河港一千条,四下方圆八百里。东连大海,西接济阳,南通巨野、金乡,北靠青、济、兖、郓,有七十二道深河港,屯数百只战舰艨艟;三十六座宴楼台,聚百万军粮马草……

这是水浒戏介绍梁山泊的经典台词,元无名氏《黄花峪》、明初朱有燉《黑旋风仗义疏财》都采入自己剧中。需要指出,其中提到的“济阳”,即开封近旁的陈留县,北宋曾为京畿路治。当时有漕运干渠广济河(五丈河),从梁山泊经陈留直通开封(详见《宋史·河渠志》)。《水浒传》写宋江去东京看灯,招安后又率梁山军马去朝廷谒见,都没有走水路,可能是时过境迁,作者不知道有这样一条水道,因为金代以后广济河已逐渐湮废。另外,“北靠青、济、兖、郓”一语中,“济”应为“齐”之误,梁山泊分属济、郓二州,而郓州的北边才是齐州(治今济南)。

元杂剧《还牢末》插图,明万历雕虫馆《元曲选》刻本

梁山泊古称大野泽(又称巨野泽),在今巨野、梁山、东平诸县之间。顾祖禹《方舆纪要》卷三十三:“巨野泽,(巨野)县东五里。《志》云:泽东西百里,南北三百里,亦曰大野。《禹贡》:大野既潴。《职方》:其泽薮曰大野。”这里所引《元和郡县图志》的说法可能有些夸张,不过古代的大野泽确实比后来的梁山泊要大。不过,这片湖泽受河水影响,水体盈缩甚巨,五代后曾部分淤涸,而北宋真宗、神宗时又因两度河决,使湖面大增。

梁山在湖泽北端,宋时在寿张县境内(今属梁山县)。其本名良山,“汉梁孝王常游猎于此,因改为梁山。《史记》:梁孝王北猎良山。是也。山周二十余里,上有虎头崖,下有黑风洞,山南即古大野泽……宋政和中,盗宋江等保据于此,其下即梁山泊也”。有意思的是,顾氏竟以水浒叙事为信史,足见学人以《水浒传》为“讲史”亦由来已久。

《新刊大宋宣和遗事》
古典文学出版社1954年版

《水浒传》第十一回写林冲上梁山,“见那八百里梁山水泊”,自有一番“山排巨浪,水接遥天”的描述。小说家以汪洋恣肆的笔墨告诉读者,这是一处浩渺壮观的水面。其实,这里描述的情形不算太离谱,北宋末年的梁山泊正是湖水丰盈时期。谭其骧绘制的北宋地图大致反映政和元年(1111)的地理分布,梁山泊当时是长江以北(北宋境内)最大的湖泊。但在同书金代地图上,梁山泊已大为缩水,只剩下三分之一面积。金代地图以大定二十九年(1189)为基准,时间仅过去八十年。再看谭图第七册元代地图,梁山泊就几乎完全消失了。这一册的分幅图以至顺元年(1330)为准,此距北宋末期不过二百二十年,偌大个湖泊就从地图上抹去了。

众所周知,《水浒传》成书于元末明初,作者将早已不存在的梁山泊作为小说叙事的核心地点,大抵是袭用元杂剧的传述,可能还依据其他文字记载和民间记忆。其实,自然的和历史的梁山泊记忆如何被保留下来并不重要,那个梁山泊毕竟未曾掀起大风浪,本身没有多少叙事内容。重要的是,人们在讲述宋江故事时,为何要将这个能征善战的江湖团伙安置到梁山泊这个地方,而不是太行山。

《读史方舆纪要》
[清]顾祖禹撰  施和金、贺次君点校
中华书局2005年版

以山而论,太行更雄伟奇峻,相形之下梁山只是一个小土丘。

或许,水泊是一个重要因素。《水浒传》擅作“水”的文章,有张顺、李俊和阮氏、童氏兄弟等一干水上健儿,湖港河汊中可大显身手,这些不必赘述。水泊更是梁山重要屏障,晁盖等人上山之初就在泊子里跟官军大战一场,后来宋江两赢童贯、三败高俅,都有精彩的水战。可想而知,若是没有梁山泊的地理条件,宋江故事里就少了许多水陆并陈的桥段。不过,这样解释的理由似乎并不很充分,水泊梁山的地理空间在元杂剧中就确定了,却未见那些水浒戏利用水泊推衍剧情。当然,现存的剧目有限,据此还难以判断早先的水浒叙事中有多少水上的戏码。

或许,还有一个更重要因素,就是梁山泊与东京的距离。从谭其骧地图上看,从梁山泊西岸的郓城县到东京开封府,直线距离不到两百公里。两地之间不能说近在咫尺,却也往还方便。小说第七十六回写童贯率军征伐梁山泊,有谓:“当日童贯离了东京,迤逦前进,不一二日,已到济州界分。”《水浒传》叙事中对甲乙两地行程估算往往会有很大出入,这里却拿捏得很准。戏曲家、小说家大抵有一个实际概念,认为这是一个合适的距离。

梁山泊—东京,围绕这个轴心,构成了从“逼上梁山”到“瞻依廊庙”的叙事脉络。

将官方待之无奈的江湖势力摆在距离东京不远的地方,无疑是朝廷的肘腋之患。然而,在文学构想中,这也是一种便于形成对照的思路。一边是“替天行道”的梁山泊,一边是纲维弛绝的大宋朝廷,分明彰显盗亦有道的救赎之义,不啻更新了“山高皇帝远”的江湖法则。如此安排江湖与庙堂之对抗,亦隐然含有某种改良与合作的意愿。龚氏画赞称,宋江“立号既不僭侈,名称俨然,犹循轨辙”,可知水浒叙事起初就有一种超越现实的政治伦理考量,就是如何在王权体制内纳入江湖道义。

梁山泊及其周边州县

梁山泊—东京,水浒叙事的这个地理轴心有着极为广阔的空间指向。《水浒传》并不满足方圆几百里内的地理布局,借以故事情节推衍,其人物活动空间往往出现远距离挪移。譬如,起初由王进私走延安府,引出关西华阴县史家庄和少华山,又由史进链接到更西边渭州的鲁达(鲁智深),继而鲁达打死镇关西,流亡代州雁门关,又辗转五台山,再拉回东京,然后又陪护林冲去了沧州……这样的空间变换几乎贯穿全书。

如实说,全书东京以西的叙事并不多,但起首就往西边走,大抵是应了原初太行山的传说,宋江的聚义或许本来就在那一带。也许考虑到西部叙事偏少,小说第五十九回又安排了大闹西岳华山一出,后来的讨伐田虎、王庆,也在东京的西北和西南方向,似乎都是作为地理布局的一种平衡。想来,梁山七千人马越过北宋政权的核心地带京畿路和京西北路,抵达隶属永兴军路(包括今陕西全境)的华州,一路上不知该有多少恶仗,可是,小说里像是直接就将部队空降到指定地点,指哪打哪,毫无窒碍。作为一部整体虚构的作品,《水浒传》的空间调度具有相当率意和任性的特点。

然而,小说的空间安排却并非漫无头绪,相反倒是有着刻意而明晰的地理布局,如果不算后边征四寇部分,大抵就是一个十字形坐标系:从西端的渭州到最东边的登州,这是一条横轴(大约北纬35度至37度),华州、陕州、孟州、开封府、济州、郓州、齐州、青州……只是从齐州开始偏向东北欹出。武松和王庆待过的牢城,二龙山、桃花山等山寨,都在这条线上。再看南北方向,从洪太尉误走妖魔的信州龙虎山,到蓟州饮马川、翠屏山和九宫县二仙山,这条纵轴(大约东经116度至118度)连接着江州、无为军、芒砀山、齐州、郓州(东平府)、东昌府、高唐州、沧州……许多情节和场景在这条线上闪回,亦串起了林冲和宋江从牢城到山寨的人生转折。

纵横相交的中心点正是梁山泊及其周边的济、郓二州。

当然,也有一些颇有故事的地点散落在纵横两轴之外,除了鲁智深的雁门、五台山,最重要的就是北京大名府,厄运连连的杨志在这里再度进入读者视野,还有倒霉的卢俊义和燕青。再有,睿思殿屏风上御书四大寇,淮西王庆、河北田虎二者,活动范围也都在纵轴西侧的两个象限角里。其实,逸出十字坐标的主要就在征四寇的叙事中。需要说明的是,王庆盘踞的“淮西”,实际上是当时京西南路的房州一带,那地方在今湖北省西北部,跟淮南西路隔得很远。田虎作乱的“河北”,并不在河北东路或河北西路,而在河东路的汾州、太原、隆德府和泽州一带,均在今山西境内。

书中征四寇部分地理描述相当简率,州县名称舛乱现象不在少数。譬如,征辽故事中频频提到的盖州,地处辽东半岛,与燕云诸州相去甚远,徽宗宣和时已在金国境内。那地方当时称辰州,金代明昌年间才改为盖州。可是征田虎时,偏偏又冒出一个盖州,其实那个山西的盖州是唐初地名,宋代称泽州(今晋城等地)。两个盖州都不是宋代地名,一个袭用从前说法,一个是以后的名称。这种地名混乱现象缘于地理空间的极度铺排,作者攒书时需要用到大量地名,只能从文献中去搜罗,亦未暇考证。

《水浒传》写宋江征辽,纯属杜撰,却有一点历史背景。徽宗宣和四年(1122),宋辽边境的确打起来了。《宋史·徽宗纪》有如下记述:

(三月)辽人立燕王淳为帝,金人来约夹攻,命童贯为河北、河东路宣抚使,屯兵于边以应之,且招谕幽燕。

(五月)童贯至雄州,令都统制种师道等分道进兵。癸未,辽人击败前军统制杨可世于兰沟甸……杨可世与辽将萧幹战于白沟,败绩。丁亥,辛兴宗败于范村。

(六月)种师道退保雄州,辽人追击至城下。

一开始宋军贸然进攻,很快陷于不利。但是到了这年九月,辽方内部发生分裂,至年底战局彻底逆转。宋军反败为胜有两个重要原因:一是新任辽主耶律淳猝死,其内部讧乱;一是金人从北边夹攻,使之两面受敌。上述引文中“金人来约夹攻”一语很重要,《水浒传》没有提到辽人身后还有虎视眈眈的金人。其实,北宋至少五年前就确定了联金灭辽的战略方针,《徽宗纪》说道,重和元年(1118)“武义大夫马政由海道使女真,约夹攻辽”。此后又派遣赵良嗣多次出使金国“议夹攻灭辽”。由于被辽国占据的燕云诸州封堵了前往金国的通道,宋、金两国密使往来只能经由山东半岛至辽东半岛的海上交通线。这跟三国时孙权试图联结辽东公孙渊南北夹攻曹魏是一个套路,当年东吴特使也是经由海路赴辽东。孙权最终未能搞定公孙渊,远交近攻之计半途夭折。可是,这回徽宗得金人相助,成就皇皇灭辽之举,却不为史家所赞诩(事实上史家历来很少张扬这次胜利),《宋史》将联金灭辽的首谋者赵良嗣与蔡京同列奸臣传,靖康元年(1126)即有大臣检讨其事,斥之“败契丹百年之好,使金寇侵陵,祸及中国”。所谓联金灭辽,终究是自己刨坑将自己给埋了,仅三四年光景金人就占据了整个北方,将大宋国地盘压缩到长江以南。

《水浒传》第八十九回写辽主派丞相褚坚前往东京进贡金帛岁币,正是附会《宋史·徽宗纪》宣和四年冬十月“耶律淳妻萧氏上表称臣纳款”之事,小说给出的时间也相当吻合,辽主表章和徽宗诏书都落款于“宣和四年冬月”。小说家将此作为梁山和朝廷的胜利,实在是罔顾当日的地缘政治和军事地理形势。

也许小说家真的是不了解宋辽之间的历史状况,甚至都不知道两国的疆界在哪里。其实在征辽之前,小说叙事早已一再深入辽国地界。如杨雄、石秀的故事就发生在蓟州,还有戴宗和李逵往蓟州找寻公孙胜,前前后后串起不少人和事。按说,自五代石敬瑭割燕云十六州与契丹,蓟州一直在辽境之内(按《宋史·地理志》,宣和四年收复燕云诸州,置燕山府路和云中府路,蓟州属燕山府路),但是在征辽之前的蓟州叙事中,让人觉得那仍是宋人地界,从职官、制度到民俗世相,摹写的情形都与内地别无二致。

《水浒传》第八十九回,辽国丞相褚坚朝拜徽宗,进投降表章,明刊杨定见本插图

鲁迅将《水浒传》视为讲史小说,大概是因为此书采用了一种附会历史的写法。书中除了时而出现徽宗赵佶、蔡京、童贯、高俅、杨戬这些真实人物(宋江受招安时张叔夜也出场了,甚而侯蒙后来也成了宋江讨伐王庆的行军参谋),更是在地名和地理关系上大做文章。作者要让人相信这就是历史,尽量不作悬空叙事,而是将虚构的事件纳入一种似乎真实的历史框架——时间、地点、人物,这是编织历史维度的基本要素。所以,小说里州县两级政区尽量采用真实地名,虚构地名只是祝家庄、曾头市这类县以下村寨(有趣的是,当今小说和电视剧则流行虚化背景的“架空剧”,现实题材作品中省、市名称都习惯于杜撰),并且,通过大范围的转徙以呈示山川地理,铺开层出不穷的州军县镇。

可是,要还原两个半世纪之前的地理状况(从《水浒传》成书之元末明初上推北宋末年),并非易事。由于历代政区变易频仍,其时确亦难以考证,况且采入不同时期的水浒叙事驳杂不一,夹带的地理信息不免多有舛误。

譬如,小说第二十三回“横海郡柴进留宾”回目中,“横海郡”应为横海军之误,当时沧州受横海军节度,若以郡名相称则是景城郡。此类纰缪,书中自然不少,柴进陷身的高唐州亦是一误,宋代只有高唐县,属河北东路博州(治今山东聊城),高唐州为元代设置(治今高唐县)。其实,没羽箭张清镇守的东昌府就是博州,元代为东昌路,直到明初才改为东昌府。另外,小说里多次提到的凌州(水火二将单廷珪、魏定国原是凌州团练使,曾头市就在凌州西南)疑为元代的陵州(今属山东德州)。《元史·地理志》谓:“陵州,本将陵县,宋、金皆属景州。”但《元志》亦误,将陵县宋代属永静军,景州实为唐代和金代的名称。

再看第七十二回,宋江与柴进等人元宵节往东京看灯,明确交代路线:“取路登程,抹过济州,路经滕州,取单州,上曹州来,前望东京万寿门外,寻一个客店安歇下了。”从梁山泊去东京应该往西南方向走,为何要从东南方向的滕州绕行,书中没有解释。且不说这个,滕州并不是当时的名称,这地方宋代是滕阳军,金大定二十四年(1184)才改为滕州。曹州这说法也不对,那也是唐代和金代的名称,偏偏宋代称兴仁府。再有,小说第三十九回提到的无为军,所在方位完全不对。宋江浔阳楼题反诗,引出无为军通判黄文炳——“且说这江州对岸,另有个城子,唤做无为军。”其实,无为军在庐州巢县(属淮南西路),辖境相当今安徽无为、庐江、巢湖等市县(治今安徽无为县)。从地图上看,江州跟无为军隔着五六百里水路,这硬是捏到了一处。

这类方位错误实不止一处两处。第二十三回,武松从沧州回清河县看望哥哥,途经阳谷县景阳冈,打虎哄动县治,被知县召为步兵都头。知县说:“虽你原是清河县人氏,与我这阳谷县只在咫尺。我今日就参你在本县做个都头如何?”其实,清河县并不挨着阳谷县,而是远在北边的恩州(与沧州、大名府同属河北东路),而阳谷属京东西路的东平府。从沧州到清河,无论如何不可能走到南边的阳谷县。

小说人物转徙江湖,行走千里,涉及的路线与地理方位最容易出错。第三十六回,济州府尹将宋江刺配江州,上路后宋江对两个押解的差役说:“实不瞒你两个说,我们今日此去,正从梁山泊边过……”果如宋江所料,山寨里早就派人在小路上迎候着。其实,从济州去江州是往南走,不会经过梁山泊,因为济州本身就在梁山泊以南。按说,小说家对梁山泊周边地理状况应该最熟悉,偏偏这里就出错。

书中类似的错误,还有第六十一回卢俊义离家避灾的路线。吴用要赚卢俊义上山,扮作算命先生诓骗他往东南千里之外躲避血光之灾,书中将其目的地定为泰安州,结果途径梁山泊就被弄到山上去了。且不说泰安州是以后金代所置(宋代属兖州),其实泰安并非在大名府东南,而是在它的正东,此行根本不需要经过东南方向的梁山泊。

更错乱的是第十六回杨志解押生辰纲的路线,杨志对梁中书说:“今岁途中盗贼又多,此去东京,又无水路,都是旱路。经过的是紫金山、二龙山、桃花山、伞盖山、黄泥冈、白沙坞、野云渡、赤松林。这几处都是强人出没的去处……”这些都是虚构地名,作者自定义的地理方位却把自己绕糊涂了。按后边第三十一回、三十三回交代,二龙山、桃花山都在青州地界。问题是东京在大名府西南方向,往东边的青州走,方向就反了。从书中判断,黄泥冈应该在郓城县境内或周边,也实在不该经过这里。杨志描述的路线大抵绕出了千里之遥。

上述几例,倒是错也错得有其道理,明显是要将人物的行走路线兜转到梁山泊。这里隐隐有着地理布局的“梁山中心取向”。本来是啸聚山林,却要弄成四方辐辏之地,这不只是情节安排的需要(情节完全可以另作安排),更像是小说的一种内在结构。

二〇一八年六月至七月记

本文选自《书城》2018年9月号

……………………………………

欢迎你来微博找我们,请点这里

也可以关注我们的微信公众号“界面文化”【ID:BooksAndFun】

来源:书城杂志

原标题:李庆西:水浒地理学

本文为转载内容,授权事宜请联系原著作权人。

评论

暂无评论哦,快来评价一下吧!

下载界面新闻

微信公众号

微博

李庆西:水浒地理学

本来是啸聚山林,却要弄成四方辐辏之地,这不只是情节安排的需要,更像是小说的一种内在结构。

撰文:李庆西

在《中国小说史略》里边,鲁迅将《水浒传》与《三国演义》一同列入元明讲史小说,让人有些疑惑。“讲史”这说法来自宋元“说话”之分类,即“谓讲说《通鉴》汉唐历代书史文传,兴废争战之事”(吴自牧《梦粱录》卷二十),不同于假托历史的虚构作品。问题在于,《水浒传》之史实依据相当薄弱,所依傍北宋末年历史背景也较模糊,小说中梁山人物唯宋江一人见于《宋史》。宋江被史家视为流寇,自然未予立传,只在他人纪传中提及,如《宋史·徽宗纪》:

(宣和三年二月)淮南盗宋江等犯淮阳军,遣将讨捕,又犯京东、河北,入楚、海州界,命知州张叔夜招降之。

另外,《侯蒙传》亦说到对宋江的赦免与招降:

宋江寇京东,(侯)蒙上书言:“(宋)江以三十六人横行齐、魏,官军数万无敢抗者。其才必过人。今青溪盗起,不若赦江,使讨方腊以自赎。”

具体讨剿与招安过程,《张叔夜传》叙述较为详备:

宋江起河溯,转略十郡,官军莫敢婴其锋。声言将至,(张)叔夜使间者觇所向,贼径趋海濒,劫巨舟十余,载掳获。于是募死士得千人,设伏近城,而出轻兵距海,诱之战。先匿壮卒海旁,伺兵合举,火焚其舟。贼闻之,皆无斗志,伏兵乘之,擒其副贼,(宋)江乃降。

二十世纪二十年代,鲁迅做小说研究,胡适、郑振铎做《水浒传》考证,都用到过上述史料。这些记载也被后来的研究者视为水浒故事的源文件。可是,好像未见有人从地理空间角度去讨论初始化的宋江历史叙事。

《宋史》(全四十册)
中华书局1985年版

综合以上三则,可知宋江活动范围很大。《张叔夜传》说得很清楚,宋江最初起于河溯(亦作河朔),即黄河以北。那一片,宋代为河北东路和河北西路。如果是袭用唐时河朔三镇(魏博、成德、卢龙)的说法,今河北及京津地区大部都有可能是宋江起事的地方。《侯蒙传》又称“(宋)江以三十六人横行齐、魏”,这是说其部已南进京东东路(胶东半岛诸州),并且向北宋政权的核心地带京畿路运动,或贴近河北东路的大名府一带。但从《徽宗纪》《张叔夜传》看,宋江继而又南下淮阳军(今江苏邳州、宿迁一带)和楚州(今江苏淮安至盐城一带)、海州(今江苏连云港一带)等地,最后是在海州被围剿和招安。

所有这些记载表明,宋江这支队伍惯于过府冲州的运动战(或曰流寇式作战),逐次向南递进,并没有建立像小说中梁山泊那样固定的根据地。

梁山泊(泺)这个地名,《宋史》亦有几处提及,分别见于蒲宗孟、许幾、任谅诸传。蒲宗孟是神宗时人,熙宁间曾为郓州知府;许幾、任谅大约与宋江同时代,一为郓州知府,一为提点京东刑狱。各传简述传主事略,无不举述针对辖区内梁山泊(泺)的治盗政绩。

《蒲宗孟传》所述治盗手段严苛而血腥:

郓介梁山泺,素多盗,(蒲)宗孟痛治之,虽小偷微罪,亦断其足筋。盗虽为衰止,而所杀亦不可胜计矣。

《许幾传》介绍如何以连坐法维持治安:

梁山泺多盗,皆渔者窟穴也。(许)幾籍十人为保,使晨出夕归,否则以告,辄穷治,无脱者。

《任谅传》则谓传主深入基层,进一步划定责任片区,落实到人:

梁山泺渔者习为盗,荡无名籍。(任)谅伍其家,刻其舟,非是不得辄入。他县地错其间者,鑱石为表。盗发,则督吏名捕,莫敢不尽力,迹无所容。

从神宗熙宁年间到徽宗宣和年间,实有半个世纪,梁山泊(泺)一直匪患不绝。不过,从这些记述来看,梁山泊(泺)的盗匪只是当地渔民,以行舟之便做些偷盗劫掠的勾当,小打小闹而已。这种盗贼绝非宋江等人的武装团伙,他们甚至不可能跟官府作正面冲突,像小说中原在郓城县做巡捕都头的朱仝、雷横就是专门对付这些村坊蟊贼的。毫无疑问,史书叙述的梁山泊(泺)盗伙实与宋江相差很远,亦无任何关系。

有一点需要说明,蒲宗孟、许幾治下的郓州与小说中经常出现的郓城县不是一个地方。虽说二者都邻近梁山泊,但郓城县属济州(治今山东巨野)。从谭其骧《中国历史地图集》第六册(宋辽金时期)看,当时的梁山泊是一个足有七八百平方公里的腰形湖泊(大约相当现在太湖水面三分之一),其东北部分在郓州(治今山东东平)境内,西南部分属济州。郓城县和济州州治分别处于梁山泊西面和南面,而整个郓州都在湖的东边和北边。其实,郓州自宣和元年(1119)已升格为东平府,小说中郓州和东平府两个名称交替出现。

谭其骧主编
《中国历史地图集》(第六册)
中国地图出版社1982年版

这里顺便解释一下宋代行政区划,其时行政大区称路,犹似汉代的州,唐代的道。徽宗宣和年间全国分二十四路,郓州(东平府)和济州均属京东西路。州是宋代二级政区主体单位,比较重要的州称作府。除此,这一级政区还有监、军两种建制(监设于盐业、矿冶、马政等产业区,军乃屯兵戍守的行政区,均分州县两级)。

梁山泊人物早期文字资料有南宋龚开(圣与)《宋江三十六人赞并序》,见于周密《癸辛杂识·续集》上卷。龚赞各以四句四言诗标识宋江等三十六人,这些偈赞中找不出可与梁山泊(泺)链接的字符。值得注意的是,卢俊义、燕青、张横、戴宗、穆横五人名下却有“太行”字样——

玉麒麟卢俊义:白玉麒麟,见之可爱,风尘太行,皮毛终坏。

浪子燕青:平康巷陌,岂知汝名,太行春色,有一丈青。

船火儿张横:太行好汉,三十有六,无此火儿,其数不足。

神行太保戴宗:不疾而速,故神无方,汝行何之,敢离太行。

没遮拦穆横:出没太行,茫无畔岸,虽没遮拦,难离火伴。

这似乎表明宋江的地盘原是在太行山一带。不著撰人之讲史话本《宣和遗事》也说到李进义(卢俊义)、林冲等人救出杨志,一同上太行山落草。不过,是书亨集已经形成宋江与梁山泊的组合—因受生辰纲案子牵连,宋江杀惜后跑路,在庙中遇九天玄女,之后奔梁山泺投奔晁盖。可是,前边元集中不但说杨志等人上太行山落草,也有“宋江等犯京西、河北等州”之语。这说的是宋江在京西、河北起事,还是梁山人马远征京西、河北?让人莫衷一是。所谓京西、河北,即京西北路和河北西路,太行山就在二者西北交界处。鲁迅注意到,《宣和遗事》“由钞撮旧籍而成”(《中国小说史略》第十五篇),其资料来源驳杂,可知宋江三十六人上山落草之处,早期有两种版本,一是太行山,一是梁山。

《癸辛杂识》
[宋]周密撰,吴企明点校
中华书局1988年版

小说《水浒传》成书之前,成形的水浒叙事主要是元杂剧中的水浒戏曲,而现存的六种元代剧目(高文秀《双献功》、李文蔚《燕青博鱼》、康进之《李逵负荆》、李致远《还牢末》、无名氏《争报恩》《黄花峪》),无一例外,都以梁山泊为山寨。太行山一说,可能在元剧阶段已被废弃。

应该说,元剧水浒戏对梁山泊及周边地理关系的描述已相当准确,如高文秀《双献功》第一折,宋江上场自报家门:

寨名水浒,泊号梁山。纵横河港一千条,四下方圆八百里。东连大海,西接济阳,南通巨野、金乡,北靠青、济、兖、郓,有七十二道深河港,屯数百只战舰艨艟;三十六座宴楼台,聚百万军粮马草……

这是水浒戏介绍梁山泊的经典台词,元无名氏《黄花峪》、明初朱有燉《黑旋风仗义疏财》都采入自己剧中。需要指出,其中提到的“济阳”,即开封近旁的陈留县,北宋曾为京畿路治。当时有漕运干渠广济河(五丈河),从梁山泊经陈留直通开封(详见《宋史·河渠志》)。《水浒传》写宋江去东京看灯,招安后又率梁山军马去朝廷谒见,都没有走水路,可能是时过境迁,作者不知道有这样一条水道,因为金代以后广济河已逐渐湮废。另外,“北靠青、济、兖、郓”一语中,“济”应为“齐”之误,梁山泊分属济、郓二州,而郓州的北边才是齐州(治今济南)。

元杂剧《还牢末》插图,明万历雕虫馆《元曲选》刻本

梁山泊古称大野泽(又称巨野泽),在今巨野、梁山、东平诸县之间。顾祖禹《方舆纪要》卷三十三:“巨野泽,(巨野)县东五里。《志》云:泽东西百里,南北三百里,亦曰大野。《禹贡》:大野既潴。《职方》:其泽薮曰大野。”这里所引《元和郡县图志》的说法可能有些夸张,不过古代的大野泽确实比后来的梁山泊要大。不过,这片湖泽受河水影响,水体盈缩甚巨,五代后曾部分淤涸,而北宋真宗、神宗时又因两度河决,使湖面大增。

梁山在湖泽北端,宋时在寿张县境内(今属梁山县)。其本名良山,“汉梁孝王常游猎于此,因改为梁山。《史记》:梁孝王北猎良山。是也。山周二十余里,上有虎头崖,下有黑风洞,山南即古大野泽……宋政和中,盗宋江等保据于此,其下即梁山泊也”。有意思的是,顾氏竟以水浒叙事为信史,足见学人以《水浒传》为“讲史”亦由来已久。

《新刊大宋宣和遗事》
古典文学出版社1954年版

《水浒传》第十一回写林冲上梁山,“见那八百里梁山水泊”,自有一番“山排巨浪,水接遥天”的描述。小说家以汪洋恣肆的笔墨告诉读者,这是一处浩渺壮观的水面。其实,这里描述的情形不算太离谱,北宋末年的梁山泊正是湖水丰盈时期。谭其骧绘制的北宋地图大致反映政和元年(1111)的地理分布,梁山泊当时是长江以北(北宋境内)最大的湖泊。但在同书金代地图上,梁山泊已大为缩水,只剩下三分之一面积。金代地图以大定二十九年(1189)为基准,时间仅过去八十年。再看谭图第七册元代地图,梁山泊就几乎完全消失了。这一册的分幅图以至顺元年(1330)为准,此距北宋末期不过二百二十年,偌大个湖泊就从地图上抹去了。

众所周知,《水浒传》成书于元末明初,作者将早已不存在的梁山泊作为小说叙事的核心地点,大抵是袭用元杂剧的传述,可能还依据其他文字记载和民间记忆。其实,自然的和历史的梁山泊记忆如何被保留下来并不重要,那个梁山泊毕竟未曾掀起大风浪,本身没有多少叙事内容。重要的是,人们在讲述宋江故事时,为何要将这个能征善战的江湖团伙安置到梁山泊这个地方,而不是太行山。

《读史方舆纪要》
[清]顾祖禹撰  施和金、贺次君点校
中华书局2005年版

以山而论,太行更雄伟奇峻,相形之下梁山只是一个小土丘。

或许,水泊是一个重要因素。《水浒传》擅作“水”的文章,有张顺、李俊和阮氏、童氏兄弟等一干水上健儿,湖港河汊中可大显身手,这些不必赘述。水泊更是梁山重要屏障,晁盖等人上山之初就在泊子里跟官军大战一场,后来宋江两赢童贯、三败高俅,都有精彩的水战。可想而知,若是没有梁山泊的地理条件,宋江故事里就少了许多水陆并陈的桥段。不过,这样解释的理由似乎并不很充分,水泊梁山的地理空间在元杂剧中就确定了,却未见那些水浒戏利用水泊推衍剧情。当然,现存的剧目有限,据此还难以判断早先的水浒叙事中有多少水上的戏码。

或许,还有一个更重要因素,就是梁山泊与东京的距离。从谭其骧地图上看,从梁山泊西岸的郓城县到东京开封府,直线距离不到两百公里。两地之间不能说近在咫尺,却也往还方便。小说第七十六回写童贯率军征伐梁山泊,有谓:“当日童贯离了东京,迤逦前进,不一二日,已到济州界分。”《水浒传》叙事中对甲乙两地行程估算往往会有很大出入,这里却拿捏得很准。戏曲家、小说家大抵有一个实际概念,认为这是一个合适的距离。

梁山泊—东京,围绕这个轴心,构成了从“逼上梁山”到“瞻依廊庙”的叙事脉络。

将官方待之无奈的江湖势力摆在距离东京不远的地方,无疑是朝廷的肘腋之患。然而,在文学构想中,这也是一种便于形成对照的思路。一边是“替天行道”的梁山泊,一边是纲维弛绝的大宋朝廷,分明彰显盗亦有道的救赎之义,不啻更新了“山高皇帝远”的江湖法则。如此安排江湖与庙堂之对抗,亦隐然含有某种改良与合作的意愿。龚氏画赞称,宋江“立号既不僭侈,名称俨然,犹循轨辙”,可知水浒叙事起初就有一种超越现实的政治伦理考量,就是如何在王权体制内纳入江湖道义。

梁山泊及其周边州县

梁山泊—东京,水浒叙事的这个地理轴心有着极为广阔的空间指向。《水浒传》并不满足方圆几百里内的地理布局,借以故事情节推衍,其人物活动空间往往出现远距离挪移。譬如,起初由王进私走延安府,引出关西华阴县史家庄和少华山,又由史进链接到更西边渭州的鲁达(鲁智深),继而鲁达打死镇关西,流亡代州雁门关,又辗转五台山,再拉回东京,然后又陪护林冲去了沧州……这样的空间变换几乎贯穿全书。

如实说,全书东京以西的叙事并不多,但起首就往西边走,大抵是应了原初太行山的传说,宋江的聚义或许本来就在那一带。也许考虑到西部叙事偏少,小说第五十九回又安排了大闹西岳华山一出,后来的讨伐田虎、王庆,也在东京的西北和西南方向,似乎都是作为地理布局的一种平衡。想来,梁山七千人马越过北宋政权的核心地带京畿路和京西北路,抵达隶属永兴军路(包括今陕西全境)的华州,一路上不知该有多少恶仗,可是,小说里像是直接就将部队空降到指定地点,指哪打哪,毫无窒碍。作为一部整体虚构的作品,《水浒传》的空间调度具有相当率意和任性的特点。

然而,小说的空间安排却并非漫无头绪,相反倒是有着刻意而明晰的地理布局,如果不算后边征四寇部分,大抵就是一个十字形坐标系:从西端的渭州到最东边的登州,这是一条横轴(大约北纬35度至37度),华州、陕州、孟州、开封府、济州、郓州、齐州、青州……只是从齐州开始偏向东北欹出。武松和王庆待过的牢城,二龙山、桃花山等山寨,都在这条线上。再看南北方向,从洪太尉误走妖魔的信州龙虎山,到蓟州饮马川、翠屏山和九宫县二仙山,这条纵轴(大约东经116度至118度)连接着江州、无为军、芒砀山、齐州、郓州(东平府)、东昌府、高唐州、沧州……许多情节和场景在这条线上闪回,亦串起了林冲和宋江从牢城到山寨的人生转折。

纵横相交的中心点正是梁山泊及其周边的济、郓二州。

当然,也有一些颇有故事的地点散落在纵横两轴之外,除了鲁智深的雁门、五台山,最重要的就是北京大名府,厄运连连的杨志在这里再度进入读者视野,还有倒霉的卢俊义和燕青。再有,睿思殿屏风上御书四大寇,淮西王庆、河北田虎二者,活动范围也都在纵轴西侧的两个象限角里。其实,逸出十字坐标的主要就在征四寇的叙事中。需要说明的是,王庆盘踞的“淮西”,实际上是当时京西南路的房州一带,那地方在今湖北省西北部,跟淮南西路隔得很远。田虎作乱的“河北”,并不在河北东路或河北西路,而在河东路的汾州、太原、隆德府和泽州一带,均在今山西境内。

书中征四寇部分地理描述相当简率,州县名称舛乱现象不在少数。譬如,征辽故事中频频提到的盖州,地处辽东半岛,与燕云诸州相去甚远,徽宗宣和时已在金国境内。那地方当时称辰州,金代明昌年间才改为盖州。可是征田虎时,偏偏又冒出一个盖州,其实那个山西的盖州是唐初地名,宋代称泽州(今晋城等地)。两个盖州都不是宋代地名,一个袭用从前说法,一个是以后的名称。这种地名混乱现象缘于地理空间的极度铺排,作者攒书时需要用到大量地名,只能从文献中去搜罗,亦未暇考证。

《水浒传》写宋江征辽,纯属杜撰,却有一点历史背景。徽宗宣和四年(1122),宋辽边境的确打起来了。《宋史·徽宗纪》有如下记述:

(三月)辽人立燕王淳为帝,金人来约夹攻,命童贯为河北、河东路宣抚使,屯兵于边以应之,且招谕幽燕。

(五月)童贯至雄州,令都统制种师道等分道进兵。癸未,辽人击败前军统制杨可世于兰沟甸……杨可世与辽将萧幹战于白沟,败绩。丁亥,辛兴宗败于范村。

(六月)种师道退保雄州,辽人追击至城下。

一开始宋军贸然进攻,很快陷于不利。但是到了这年九月,辽方内部发生分裂,至年底战局彻底逆转。宋军反败为胜有两个重要原因:一是新任辽主耶律淳猝死,其内部讧乱;一是金人从北边夹攻,使之两面受敌。上述引文中“金人来约夹攻”一语很重要,《水浒传》没有提到辽人身后还有虎视眈眈的金人。其实,北宋至少五年前就确定了联金灭辽的战略方针,《徽宗纪》说道,重和元年(1118)“武义大夫马政由海道使女真,约夹攻辽”。此后又派遣赵良嗣多次出使金国“议夹攻灭辽”。由于被辽国占据的燕云诸州封堵了前往金国的通道,宋、金两国密使往来只能经由山东半岛至辽东半岛的海上交通线。这跟三国时孙权试图联结辽东公孙渊南北夹攻曹魏是一个套路,当年东吴特使也是经由海路赴辽东。孙权最终未能搞定公孙渊,远交近攻之计半途夭折。可是,这回徽宗得金人相助,成就皇皇灭辽之举,却不为史家所赞诩(事实上史家历来很少张扬这次胜利),《宋史》将联金灭辽的首谋者赵良嗣与蔡京同列奸臣传,靖康元年(1126)即有大臣检讨其事,斥之“败契丹百年之好,使金寇侵陵,祸及中国”。所谓联金灭辽,终究是自己刨坑将自己给埋了,仅三四年光景金人就占据了整个北方,将大宋国地盘压缩到长江以南。

《水浒传》第八十九回写辽主派丞相褚坚前往东京进贡金帛岁币,正是附会《宋史·徽宗纪》宣和四年冬十月“耶律淳妻萧氏上表称臣纳款”之事,小说给出的时间也相当吻合,辽主表章和徽宗诏书都落款于“宣和四年冬月”。小说家将此作为梁山和朝廷的胜利,实在是罔顾当日的地缘政治和军事地理形势。

也许小说家真的是不了解宋辽之间的历史状况,甚至都不知道两国的疆界在哪里。其实在征辽之前,小说叙事早已一再深入辽国地界。如杨雄、石秀的故事就发生在蓟州,还有戴宗和李逵往蓟州找寻公孙胜,前前后后串起不少人和事。按说,自五代石敬瑭割燕云十六州与契丹,蓟州一直在辽境之内(按《宋史·地理志》,宣和四年收复燕云诸州,置燕山府路和云中府路,蓟州属燕山府路),但是在征辽之前的蓟州叙事中,让人觉得那仍是宋人地界,从职官、制度到民俗世相,摹写的情形都与内地别无二致。

《水浒传》第八十九回,辽国丞相褚坚朝拜徽宗,进投降表章,明刊杨定见本插图

鲁迅将《水浒传》视为讲史小说,大概是因为此书采用了一种附会历史的写法。书中除了时而出现徽宗赵佶、蔡京、童贯、高俅、杨戬这些真实人物(宋江受招安时张叔夜也出场了,甚而侯蒙后来也成了宋江讨伐王庆的行军参谋),更是在地名和地理关系上大做文章。作者要让人相信这就是历史,尽量不作悬空叙事,而是将虚构的事件纳入一种似乎真实的历史框架——时间、地点、人物,这是编织历史维度的基本要素。所以,小说里州县两级政区尽量采用真实地名,虚构地名只是祝家庄、曾头市这类县以下村寨(有趣的是,当今小说和电视剧则流行虚化背景的“架空剧”,现实题材作品中省、市名称都习惯于杜撰),并且,通过大范围的转徙以呈示山川地理,铺开层出不穷的州军县镇。

可是,要还原两个半世纪之前的地理状况(从《水浒传》成书之元末明初上推北宋末年),并非易事。由于历代政区变易频仍,其时确亦难以考证,况且采入不同时期的水浒叙事驳杂不一,夹带的地理信息不免多有舛误。

譬如,小说第二十三回“横海郡柴进留宾”回目中,“横海郡”应为横海军之误,当时沧州受横海军节度,若以郡名相称则是景城郡。此类纰缪,书中自然不少,柴进陷身的高唐州亦是一误,宋代只有高唐县,属河北东路博州(治今山东聊城),高唐州为元代设置(治今高唐县)。其实,没羽箭张清镇守的东昌府就是博州,元代为东昌路,直到明初才改为东昌府。另外,小说里多次提到的凌州(水火二将单廷珪、魏定国原是凌州团练使,曾头市就在凌州西南)疑为元代的陵州(今属山东德州)。《元史·地理志》谓:“陵州,本将陵县,宋、金皆属景州。”但《元志》亦误,将陵县宋代属永静军,景州实为唐代和金代的名称。

再看第七十二回,宋江与柴进等人元宵节往东京看灯,明确交代路线:“取路登程,抹过济州,路经滕州,取单州,上曹州来,前望东京万寿门外,寻一个客店安歇下了。”从梁山泊去东京应该往西南方向走,为何要从东南方向的滕州绕行,书中没有解释。且不说这个,滕州并不是当时的名称,这地方宋代是滕阳军,金大定二十四年(1184)才改为滕州。曹州这说法也不对,那也是唐代和金代的名称,偏偏宋代称兴仁府。再有,小说第三十九回提到的无为军,所在方位完全不对。宋江浔阳楼题反诗,引出无为军通判黄文炳——“且说这江州对岸,另有个城子,唤做无为军。”其实,无为军在庐州巢县(属淮南西路),辖境相当今安徽无为、庐江、巢湖等市县(治今安徽无为县)。从地图上看,江州跟无为军隔着五六百里水路,这硬是捏到了一处。

这类方位错误实不止一处两处。第二十三回,武松从沧州回清河县看望哥哥,途经阳谷县景阳冈,打虎哄动县治,被知县召为步兵都头。知县说:“虽你原是清河县人氏,与我这阳谷县只在咫尺。我今日就参你在本县做个都头如何?”其实,清河县并不挨着阳谷县,而是远在北边的恩州(与沧州、大名府同属河北东路),而阳谷属京东西路的东平府。从沧州到清河,无论如何不可能走到南边的阳谷县。

小说人物转徙江湖,行走千里,涉及的路线与地理方位最容易出错。第三十六回,济州府尹将宋江刺配江州,上路后宋江对两个押解的差役说:“实不瞒你两个说,我们今日此去,正从梁山泊边过……”果如宋江所料,山寨里早就派人在小路上迎候着。其实,从济州去江州是往南走,不会经过梁山泊,因为济州本身就在梁山泊以南。按说,小说家对梁山泊周边地理状况应该最熟悉,偏偏这里就出错。

书中类似的错误,还有第六十一回卢俊义离家避灾的路线。吴用要赚卢俊义上山,扮作算命先生诓骗他往东南千里之外躲避血光之灾,书中将其目的地定为泰安州,结果途径梁山泊就被弄到山上去了。且不说泰安州是以后金代所置(宋代属兖州),其实泰安并非在大名府东南,而是在它的正东,此行根本不需要经过东南方向的梁山泊。

更错乱的是第十六回杨志解押生辰纲的路线,杨志对梁中书说:“今岁途中盗贼又多,此去东京,又无水路,都是旱路。经过的是紫金山、二龙山、桃花山、伞盖山、黄泥冈、白沙坞、野云渡、赤松林。这几处都是强人出没的去处……”这些都是虚构地名,作者自定义的地理方位却把自己绕糊涂了。按后边第三十一回、三十三回交代,二龙山、桃花山都在青州地界。问题是东京在大名府西南方向,往东边的青州走,方向就反了。从书中判断,黄泥冈应该在郓城县境内或周边,也实在不该经过这里。杨志描述的路线大抵绕出了千里之遥。

上述几例,倒是错也错得有其道理,明显是要将人物的行走路线兜转到梁山泊。这里隐隐有着地理布局的“梁山中心取向”。本来是啸聚山林,却要弄成四方辐辏之地,这不只是情节安排的需要(情节完全可以另作安排),更像是小说的一种内在结构。

二〇一八年六月至七月记

本文选自《书城》2018年9月号

……………………………………

欢迎你来微博找我们,请点这里

也可以关注我们的微信公众号“界面文化”【ID:BooksAndFun】

来源:书城杂志

原标题:李庆西:水浒地理学

本文为转载内容,授权事宜请联系原著作权人。