古文献中《司马法》称谓考辨
——以《史记》《汉书》《隋书》为中心
2018-08-15姜军
姜 军
(吉林大学 古籍研究所, 长春 130012)
在古代各类典籍中,对《司马法》的称谓有多种,如“司马法”“司马兵法”“司马穰苴兵法”等。以《司马法》为研究对象的学术著作,所用书名也不尽相同。有的以“司马法”为名,如刘寅的《司马法直解》、李零的《司马法译注》;有的以“司马兵法”为名,如陈宇的《司马兵法破解》;有的以“军礼司马法”为名,如黄以周的《军礼司马法考征》;还有以“司马穰苴兵法”为名的,如《宋史·艺文志》录有吴章注的《司马穰苴兵法》。为了厘清这些称谓的关系,笔者考查了正史书志,以及历代官、私书目,发现史志、书目中所录名称多种多样。例如,《汉书·艺文志》录为“军礼司马法”,《隋书·经籍志》录为“司马兵法”,新、旧《唐书》录为“司马法”,《崇文总目》录为“司马兵法”,《郡斋读书志》《直斋书录解题》录为“司马法”等,不一而足。而且,同一典籍、书志中出现的与《司马法》有关的称谓有时不止一种,如《史记》中有“司马法”“古者司马兵法”“司马兵法”“司马穰苴兵法”多种称谓。《汉书·艺文志》里有“军礼司马法”,同时其行文中还出现了“司马法”。这些不同称谓所指是否相同?相互关系如何?本文拟针对这样两个问题,试论之。篇幅所限,笔者仅以《史记》《汉书·艺文志》《隋书·经籍志》中出现的与《司马法》相关的称谓作为探讨对象。不当之处,恳请各位专家指正。
一、史志、书目中的《司马法》书名著录情况
从历代史志、书目中录入的书名情况来看,主要有“司马法”“司马兵法”和“军礼司马法”三种。自班固以来,历代史志、书目多录其书名为“司马法”,例如《旧唐书·经籍志》《新唐书·艺文志》《郡斋读书志》《直斋书录解题》《遂初堂书目》《文献通考·经籍考》《四库全书总目提要》《孙氏祠堂书目》《郑堂读书记》《书目答问》等。还有些史志、书目录其书名为“司马兵法”,例如《隋书·经籍志》《宋史·艺文志》《崇文总目》《明史艺文志附编·国史经籍志》等。另外,班固在撰《汉书·艺文志》时,把《司马法》出兵入礼,录书名为“军礼司马法”,与他家都不相同。
从历代史志、书目中录入的前人关于《司马法》注释、集解、辑佚等方面的著作名称来看,还是叫“司马法”的居多。例如,刘寅的《司马法直解》、阎禹锡的《司马法集解》(《千顷堂书目》)、曹元忠的《司马法古注》、张澍的《别本司马法》(《清史·艺文志》)、曹操的《司马法注》(《补后汉书艺文志》)等。有一些是以“司马穰苴兵法”为书名的,例如,吴章注《司马穰苴兵法》(《宋史·艺文志》)。还有一些是以“军礼司马法”为书名的,例如黄以周《军礼司马法考征》(《清史·艺文志》)。
再从历代文献中的引文来看,书名仍然多以“司马法”相称。例如,郑玄的《周礼》注,杜预的《春秋左传》注,王应麟《玉海》中的引文,《论语》邢昺疏,《春秋左传》《毛诗》孔颖达疏等,其中《玉海》的引文中仅有一例书名为“司马穰苴”,其余均称“司马法”。
纵览历代史志、书目,与《司马法》有关的书名有七种,即“司马法”“司马兵法”“司马穰苴兵法”“古司马法”“古司马兵法”“军礼司马法”“穰苴兵法”。时至今日,学者对这些书名、概念的理解也不统一。如李桂生先生就说:“《司马法》又称《司马兵法》、《司马穰苴兵法》、《穰苴兵法》、《古司马法》、《古司马兵法》。所名虽异,但所指相同。”[1]159而黄朴民先生则认为“古司马兵法”文本性质是官方兵学典籍的类称,他说:“春秋之前的‘古司马兵法’,实乃上古三代言兵之‘成宪’、‘典志’,也即军事领域‘官府之典籍’。”[2]20同为“古司马兵法”,李桂生先生把其作为一部著作名来理解,而黄朴民先生则把其看作为兵学典籍的类称。又如,《史记·司马穰苴列传》有“齐威王使大夫追论古者《司马兵法》”,后在《太史公自序》中又有“自古王者而有‘司马法’,穰苴能申明之”,这个古者《司马兵法》与古王者时代的“司马法”本不是一回事(详论见下文),而蓝永蔚先生在《春秋时期的步兵》中把这两个概念混用在一起。[3]133如果不对古籍中《司马法》相关称谓加以分辨,认为这些称谓都一概相同或者一概不同,那我们在引用相关文献时,就会造成很多误解。同时,对《司马法》作学术探讨的前提,是对这一著作本身有共同认知才可以,如果不对文献典籍中各种“司马法”加以辨别,那么就可能出现虽然都在讨论“司马法”,但各自探讨的对象却不是同一个的情况发生。
《史记》中《司马穰苴列传》与《太史公自序》的相关记载,成为后世讨论兵书《司马法》的重要依据。然而,《史记》对这些与兵书《司马法》相关文献的称谓却有多种,不厘清这些称谓所指,对于追溯《司马法》源流将会造成极大障碍。《汉书·艺文志》和《隋书·经籍志》是古代非常重要的两部目录学著作。分别收录有《军礼司马法》和《司马兵法》。后世史志、书目多录书名为“司马法”,为何相对较早的《汉》《隋》二志所录书名与常见书名不同?依《司马穰苴列传》和《申鉴·时事篇》的记载来看,汉武帝时“司马兵法”为世所常见的兵书,到了班固那里,变成了“军礼司马法”,这二者是否所指相同?从东汉、魏晋时期文献引文来看,多称引自“司马法”,到了《隋书·经籍志》,却又变回了汉武帝时常见书名“司马兵法”,且《隋》志里既录有《司马兵法》同时又谈及《司马法》,这二者是同一著作还是两书?从《司马法》纵向流传来看,《史记》《汉》志、《隋》志里的记录,对于理解《司马法》的成书、流传与演变,都有重要意义。因此,本文选择这三部史学著作里《司马法》相关的称谓为研究对象,加以考辨。《隋》志以后,目录学著作中所录《司马法》书名虽有不同,但基本没有超出这三部著作的范畴,篇幅所限,不再一一讨论。
二、《史记》中“司马法”“古者司马兵法”“司马兵法”“司马穰苴兵法”
《史记》是最早有兵书《司马法》相关记载的存世文献。其重要记录包含于《太史公自序》和《司马穰苴列传》两篇里。《史记》中关于兵书《司马法》的不同称谓,实际上代表了兵书《司马法》由官学档案向兵家著作演变过程中的不同发展阶段。
第一,“司马兵法”与“司马穰苴兵法”为同一著作,“古者司马兵法”与“司马兵法”“司马穰苴兵法”关系密切,但不完全等同。
为了便于考证,我们把《史记》中与《司马法》相关的文本摘录如下:
齐威王使大夫追论古者《司法兵法》而附穰苴于其中,因号曰《司马穰苴兵法》。(《司马穰苴列传》)
太史公曰:余读《司马兵法》,宏廓深远,虽三代征伐,未能竟其义。如其文也,亦少褒矣。若夫穰苴,区区为小国行师,何暇及《司马兵法》之揖让乎?世既多《司马兵法》,以故不论,著穰苴之列传焉。[4]2160(《司马穰苴列传》)
非兵不彊,非德不昌,黄帝、汤、武以兴,桀、纣、二世以崩,可不慎欤?‘司马法’所从来尚矣,太公、孙、吴、王子能绍而明之,切近世,极人变。作律书第三。[4]3305(《太史公自序》)
又:
自古王者而有‘司马法’,穰苴能申明之,作司马穰苴列传第四。[4]3313(《太史公自序》)
从以上这四条引文我们可以看出,《史记》关于《司马法》主要有四种提法:“司马法”“古者司马兵法”“司马兵法”“司马穰苴兵法”。在如此严谨的史学著作中,多一字、少一字,绝非无意之举,显然司马迁是有意作的区分。说到这里,我们有必要排除这几个字的差异是传钞之误的可能性。本文所引《史记》,是中华书局标点本(1982),同时,将泷川资言的《史记会注考证》以及水泽利忠的《史记会注考证校补》,与中华书局标点本比较而言,其他版本《史记》中确有少一“兵”字的情况,或是在“司马”与“兵法”之间增有“穰苴”字样等情况。列表如下:
《史记·司马穰苴列传》中华书局本余读司马兵法何暇及司马兵法之揖让乎世既多司马兵法南化本余读司马穰苴兵法何暇及司马法之揖让乎枫山本余读司马穰苴兵法世既多司马法三条本余读司马穰苴兵法世既多司马法高木家藏本余读司马穰苴兵法
一方面,根据泷川资言的《史记会注考证》以及水泽利忠的《史记会注考证校补》的记载,我们得知《史记》在日本流传的枫山本和三条本的底本是元版彭寅翁本,南化本的底本是南宋庆元黄善夫本。在《史记》中华书局标点本的出版说明中我们得知其底本是金陵局本,而金陵局本又是“张文虎根据钱泰吉的校本和他自己所见到的各种旧刻古本、时本加以考订,择善而从”[4]。从出版说明综合来看,显然中华书局标点本更为可靠。另一方面,《史记会注考证》和《史记会注考证校补》所引各本《史记》,虽然与中华书局标点本有个别文字差异,但日本流传各本几乎都有“司马法”“古者司马兵法”“司马兵法”“司马穰苴兵法”在同一版本同时出现的情况。也就是说,即便南化、枫山、三条诸本更为可靠,在这些版本的《史记》中,司马迁仍然是有意地把“司马法”“古者司马兵法”“司马兵法”“司马穰苴兵法”作了区分。这说明司马迁是有意地把这几个不同概念作区分,因而其各自所指当有不同。
仔细分析《史记》中关于《司马法》的记录,我们可以总结出以下几方面的信息:
首先,“司马穰苴兵法”是齐威王时期,大夫们追论“古者司马兵法”之后,又附上穰苴之言而成的一部兵书。
其次,《司马穰苴列传》中“司马穰苴兵法”被司马迁简称为“司马兵法”。理由是,“齐威王使大夫追论古者司法兵法而附穰苴于其中,因号曰司马穰苴兵法。太史公曰:余读司马兵法……”按照上下文的关系来看,司马迁所读的就应该是“司马穰苴兵法”。所以说,在司马迁那里,“司马兵法”是“司马穰苴兵法”的简称。
其三,“司马兵法”在《史记》中既然是书名,那么“古者司马兵法”则也应该是书名。加上“古者”二字,一是为了跟作为《司马穰苴兵法》简称的“司马兵法”作区分。一是显示这部书较《司马穰苴兵法》要早。这部古者《司马兵法》在齐威王之前就已经散佚,所以说,这部兵书出现最晚不会晚于战国初。
最后,《太史公自序》中那两条记录,司马迁只提“司马法”而不提“司马兵法”或“司马穰苴兵法”。由此推断“司马法”所指当有别于作为著作名的“司马兵法”或“司马穰苴兵法”。
综合以上信息,我们可以看出,《司马穰苴列传》中的“司马兵法”就是《司马穰苴兵法》,是一本书名。“世既多《司马兵法》,以故不论,著穰苴之列传焉”,类似这样的话在《史记》中不止此一例,《管晏列传》云:
太史公曰:吾读管氏《牧民》《山高》《乘马》《轻重》《九府》,及《晏子春秋》,详哉其言之也。既见其著书,欲观其行事,故次其传。至其书,世多有之,是以不论,论其轶事。[4]2136
又,《孙子吴起列传》云:
太史公曰:世俗所称师旅,皆道《孙子》十三篇、《吴起兵法》,世多有,故弗论,论其行事所施设者。[4]2168
《史记》中为穰苴、管子、晏婴、孙子、吴起立传,都是因为“既见其著书,欲观其行事,故次其传”或是“论其行事所施设者”,对于著作本身,都因为“世多有”,所以不论,而只记人事。显然,在司马迁那个时代,《司马兵法》与《晏子春秋》《孙子兵法》《吴起兵法》一样,是一本世上常见的著作。而“古者司马兵法”则是指《司马穰苴兵法》成书以前就已经出现的古老兵书,这部兵书在齐威王之前就已经散佚,所以才有后来的齐威王时期大夫们的追论。“古者司马兵法”所指的这部兵书,被追论出来后,被汇入到《司马穰苴兵法》之中,成为《司马穰苴兵法》的重要组成部分。
第二,《史记·太史公自序》中的“司马法”,应该解释为“司马之法”,是周代官方军政文献统称。
《史记》中“司马法”“古者司马兵法”“司马兵法”“司马穰苴兵法”等称谓当各有所指。前文已述,后三个称谓都是指兵书名,那么“司马法”我们该如何理解?如果也将其理解为一部兵书名,且太公、孙子、吴起、王子成甫对其都可以“绍而明之”,穰苴也是可以“申明之”,那么这部兵书成书显然非常早,早在太公之前——这几乎可以追溯到周初。然而,以学术常识来看,周初便有如此完备的兵书出现,这很难让人相信。依笔者浅见,此处“司马法”不应该看作是一部兵书,而是指“司马之法”。
何为“司马之法”?《周礼·夏官·小司马》:“小司马之职掌,凡小祭祀会同、飨射、师田、丧纪,掌其事,如大司马之法。”[5]2364《周礼·夏官·司兵》:“及授兵,从司马之法以颁之。”[5]2546“司马之法”是对“司马”之官主管的官方军政类文献的统称,是各类“司马”官员行事的依据。汪容甫曾经说:“观《周礼》、《太史》:当时行一事,则有一书,其后执书以行事,又后则事废而书存,比于告朔之饩羊。”[6]附录一“行一事,则有一书”的“书”并不是今天意义上的书籍,而是官员们记录的官方文献,司马之官把自己职责范围内事务记录下来,形成制度规范,以后同类事务都依此行事,于是就有了“司马之法”。司马,按《周礼·夏官·叙官》所载,“掌邦政,以佐王平邦国,政官之属。”[5]2235-2236“司马之法”就应该是“司马”之官整理出来的,关于“掌邦政”“统六师”“平邦国”等相关事务的军政类文献,之后历任大司马及其属官,在工作中都要“执书以行事”,有法可依。
“司马”不是单一官职称谓,而是一类官职统称。《周礼》中所载的周王室司马,就有大司马、小司马、军司马、舆司马、行司马等数种。《左传》中还记载了很多诸侯所设司马,如桓公二年,宋“孔父嘉为司马”;僖公十九年,宋“司马子鱼”;襄公十年,郑“子国为司马”;昭公四年,鲁三桓之叔孙为“司马”等。除此以外,还有一些级别、职责和分工都颇有争议的“家司马”“都司马”“邦君司马”“左、右司马”等。“司马”既然是官职类称谓,那么“司马”类官职所整理的军政文献则都可叫“司马之法”,因此说“司马之法”也不应该是某一个军事文献的称谓,而应该是军政文献的类称。这便能解释古人为何把“司马法”看作是周代政典。如《周礼·天官·大宰》郑玄注云:“政典,司马之职,故立其官,曰使帅其属而掌邦政,以佐王平邦国。”[5]58南宋王应麟云:“此古者‘司马法’,即周之政典也。”[7]23清人张澍云:“此‘司马法’,即周之政典也。”[8]司马法序言正是由于各类“司马”所负责的编辑整理的军政文献,几乎覆盖了全部军政文献类别,“司马之法”可以代指全部周代政典,所以《李卫公问对·卷上》才有“今世所传兵家者流,又分权谋、形势、阴阳、技巧四种,皆出司马法也”之语。这些“司马”类军政文献具体有哪些,我们今天已无从可考,但据黄朴民先生推测早已散佚的《军志》《军政》《令典》《大度之书》等文献就包含其中。[2]21
我们以“司马之法”去解释《太史公自序》中的“司马法”,那么太公、孙子、吴起、王子成甫对“司马之法”都能“绍而明之”,穰苴对其也可以“申明之”便可理解了。姜太公,在周初就被封为“文武师”,后伴武王领兵伐纣;孙武,吴王阖闾命之为将;吴起,领鲁、魏、楚三国帅印;“王子”,《集解》徐广曰:“王子成甫”[4]3305。据《管子·小匡》,管仲曾推荐其为齐国大司马,“平原广牧,车不结辙,士不旋踵,鼓之而三军之士视死如归,臣不如王子成父,请立为大司马”[9]447。司马穰苴,按《史记》载,齐景公尊其为大司马。这些人都是执掌军事的“司马”类官员,自然对“司马之法”非常熟悉。而且“司马”类官职出现得很早,《尚书》中《牧誓》《梓材》《立政》等篇都有关于“司马”官职的记载。例如《牧誓》篇有:
王曰:嗟!我友邦冢君、御事、司徒、司马、司空、亚旅、师氏、千夫长、百夫长。[10]183
《梓材》篇有:
汝若恒,越曰:我有师师,司徒、司马、司空、尹旅……[10]208
《立政》篇有:
立政:任人、准夫、牧,作三事……司徒、司马、司空、亚旅……[10]231
在周初,“司马”之职就已经出现。此外,陈梦家先生在《殷墟卜辞综述》中提道:“马受令征伐与射猎,很可能是马师,后世司马之官或从此出。”[11]509虽然没有材料证明商代就有“司马”之官,但是与之类似的主掌军事的“马”类官员已经出现。所以说,作为军政文献统称的“司马之法”出现的时间要远远早于《史记》中的“古者《司马兵法》”。赵培先生云:“东周之世,九流并起,一改先前学在官府之旧貌,并臻于极盛。王官散在四夷,纷纷授徒讲学,开学术之端。文献性质主要由官方公文、祝祷材料和档案材料扩散到诸子百家之书。”[12]261
赵先生认为诸子之书源于官学,这与《汉》志一直到章太炎的“诸子出于王官”说相一致。兵书《司马法》成书之初,也经历这样一个过程,由官方文献扩散到子书中。官方文献,便是“司马之法”,汇编所成,便是最早版本的兵书《司马法》(很可能就是《史记》中的“古者《司马兵法》”)。由于该书囊括了几乎全部军政文献,所以其篇幅巨大,加上穰苴之言,流传到汉代,共有一百五十五篇。这在当时来看,可谓巨著。也由此,司马迁对《司马兵法》评价极高,说“宏廓深远,虽三代征伐,未能竟其义”。
综上所述,笔者以为兵书《司马法》成书前的形态应该是官方军政文献,即“司马之法”。《史记》中把这一形态的称为“司马法”,与当时所见兵书《司马兵法》和《司马穰苴兵法》作以区分。同时,“司马法”应该是古者《司马兵法》成书过程中的重要资料来源。概括地讲,《史记》中关于兵书《司马法》的四种称谓,实际上代表了兵书《司马法》在成书前后的三段历程,即“司马法”(《太史公自序》中亦称为“古王者”时期的“司马法”)代表成书之前,以官方军政文献形态存在的“司马之法”;“古者司马兵法”是在整理“司马法”基础上成书的兵书《司马法》最早版本,后来散佚不见;“司马兵法”则是齐威王时由汇辑古者《司马兵法》加上穰苴之言而成的兵书,其全称为“司马穰苴兵法”。对《史记》中与兵书《司马法》相关称谓的梳理,一来可以厘清兵书《司马法》的成书过程,二来可以明确不同称谓所指不同,学者在引用《史记》相关文本时,不同称谓应加以区分,不可混同。
三、《汉书·艺文志》中“司马法”与“军礼司马法”辨
《汉书·艺文志》中的“司马法”与“军礼司马法”所指相同,与《史记》中的《司马穰苴兵法》为同一著作。
班固在《汉书·艺文志》中录有《军礼司马法》一百五十五篇。同时,在“礼”类和“兵权谋”类结尾处,记录了《军礼司马法》原名为“司马法”,属兵权谋类,后班固将其列入礼类。
凡《礼》十三家,五百五十五篇。入《司马法》一家,百五十五篇。[13]1710
又:
右兵权谋十三家,二百五十九篇。省伊尹、太公、《管子》《孙卿子》《鹖冠子》《苏子》、蒯通、陆贾,淮南王二百五十九种,出《司马法》入礼也。[13]1757
可见,在班固把《司马法》冠以“军礼”,列入礼类之前,书的原名叫“司马法”。
班固的《艺文志》承刘歆《七略》,其中兵书类以任宏所校为据,也就是说在任宏校兵书时,其书名为“司马法”。任宏成帝时人,司马迁武帝时人,二者所距不远,任宏所校之《司马法》应当就是武帝时世所常见的《司马兵法》(亦即《司马穰苴兵法》)。因此说,《艺文志》中的“司马法”与“军礼司马法”所指相同,且与《史记》中的《司马法穰苴兵法》为同一著作。
其实,自任宏以来,“司马法”便是《史记》中《司马穰苴兵法》的常见书名,一直到魏晋时也是如此。东汉郑玄的《周礼》注、马融的《论语》注,魏晋杜预的《春秋左传》注等,常引《司马法》,引文中提及书名时,都称“司马法”。如《周礼·夏官》郑玄注:
《司马法》曰:得意则恺乐恺歌,示喜也。[10]839
又:
《司马法》曰:弓矢围,殳矛守,戈戟助。凡五兵……[10]850
如《论语·学而》马融注:
马曰:“道,谓为之政教。《司马法》:‘六尺为步,步百为亩,亩百为夫,夫三为屋,屋三为井,井十为通,通十为成,成出革车一乘。’然则千乘之赋,其地千成,居地方三百一十六里有畸,唯公侯之封乃能容之,虽大国之赋亦不是过焉。”[10]2457
如《左传·成公七年》杜预注:
《司马法》:“百人为卒,二十五人为两。军九乘为小偏,十五乘为大偏。”[10]1903
又,《左传·文公十三年》杜预注:
《司马法》曰:“逐奔不远,从绥不及。逐奔不远则难诱,从绥不及则难陷。”[10]1852
班固是个例外,把《司马法》从兵家类列入到礼类,便在书名前冠以“军礼”二字。叶长青《汉书艺文志问答》云:“问:《司马法》百五十五篇,《七略》本列兵权谋家,班固改入礼家,何故?答:《仪礼》十七篇,吉礼三,凶礼四,宾礼三,嘉礼七,军礼皆亡,故班氏改入礼家而冠以军礼,所以弥缝其缺也。”[14]51因为《司马法》中包含了大量的古代军礼,所以班固才将其列入礼类,来填补五礼之缺。因此说,《汉》志礼类所录的“军礼司马法”,与其行文中提及的,原本属于兵权谋的“司马法”是同一著作。并且从任宏一直到《隋》志之前,这部兵书的名称一直是“司马法”。
可以说,《汉》志中的“军礼司马法”就是《史记》中的“司马穰苴兵法”,二者为同一著作,只是在班固对其进行分类时,与任宏不同,将其归入礼类。这样一来,我们既可以明确兵书《司马法》在汉代的流传,同时也可以明确当时《司马法》的篇幅,《汉》志记载一百五十五篇,是现存最早记录《司马法》篇幅的目录学著作。以前由于对东汉时期的“军礼司马法”是否是西汉时期的“司马穰苴兵法”的怀疑,进而导致“司马穰苴兵法”的篇幅不确定的问题,可以得到很好的解决。
四、《隋书·经籍志》中“司马法”与“司马兵法”
《隋书·经籍志》里的“司马法”与“司马兵法”为同一著作,称谓不同仅仅是版本之别。
《隋书·经籍志》录有“《司马兵法》三卷,齐将司马穰苴撰”[15]1012。同时,在经类《三礼杂大义》下注云:“梁有《司马法》三卷……亡。”[15]924近600年的时间里,书名从汉以来常用的“司马法”变成了“司马兵法”,且篇幅大量减少,这让一些学者对这两本书是否为同一著作,产生了怀疑。最具代表性的是清人凌廷堪,其在《校礼堂文集·复姚姬传先生书》中说:
伏读集中论《司马法》以世所传本为伪撰,故《汉书·刑法志》所引不在其中。窃谓《汉》志所载《司马法》与今所行《司马法》当是两书,何以知之?考《隋书·经籍志》经类《三礼杂大义》下注云:“梁有《司马法》三卷,亡。”此即《汉书·艺文志》礼类所载《军礼司马法》百五十五篇也(其书亡于江陵之难,《隋》志据《七录》存其目耳)。又《隋》志子类载《司马兵法》三卷,下注云:“齐将穰苴撰”,此即今所行本也。[16]219-220
清人黄以周也持类似观点,他给曹元忠的《司马法古注》作序时说:
古《司马法》百五十五篇,刘氏《七略》《别录》列兵家,班氏《艺文志》以其文多合于古礼,入之礼家。今所行《司马法》三卷凡五篇,多言行兵之法,号曰《司马兵法》……古《司马法》至隋已亡,《经籍志》兵家列《司马兵法》三卷,即今五篇。顾今五篇,复有剥落删削耳。予前作《军礼司马法考征》,凡佚文有见于唐以前书者,尽采辑之,以归《军礼》;唐以后书别有引见,悉属《兵法》佚文。[17]序言
从文中可以看出,黄以周认为《汉书·艺文志》所录的“军礼司马法”为“古《司马法》”,其书在隋朝时已经亡佚。存世本那五篇,是《隋书·经籍志》所录《司马兵法》的残篇,且有删削。凌、黄二人认为汉代《司马法》与《隋书·经籍志》所录《司马兵法》是不同的著作,汉代《司马法》在隋唐的时候就已亡佚,隋唐以后的存本,均是《隋书·经籍志》中的《司马兵法》的传世本。
凌、黄二人之说似可商榷。《隋书·经籍志》虽为魏征所作,但与魏征同时代,且同为《隋书》编撰者之一的孔颖达,在给《左传》《毛诗》作疏引《司马法》时,均称“《司马法》云”,而不是“《司马兵法》云”,如《毛诗·邶风·击鼓》正义有:
《司马法》云:“鼓声不过阊。”[10]299
又,《毛诗·小雅·六月》正义有:
“夏后氏曰钩车,殷曰寅车,周曰元戎”,《司马法》文也。[10]425
如《左传·宣公十二年》正义有:
《司马法》:“兵车一乘有甲士三人,步卒七十二人。”[10]1879
孔颖达在给《毛诗》《左传》作疏时引《司马法》文颇多,如果凌廷堪、黄以周所言确实,《司马法》在隋唐以前就已经亡佚,所存皆为《司马兵法》,那么孔颖达在给经书作疏时,引文应该出自《司马兵法》才对。可通览《毛诗正义》疏与《春秋左传正义》疏里的引文,并没有记出处为“司马兵法”的情况。只有《左传·僖公三十三年》郑玄注文:“谓过天子门不卷甲束兵,超乘示勇。”[10]1833孔颖达疏云:“过天子门当卷甲束兵,以古有此礼,或出《司马兵法》。其书既亡,未见其本。”[10]1833可见,孔颖达认为亡佚的不是《司马法》,而是《司马兵法》。由于孔颖达没见过《司马兵法》,所以其文仅为“或出……”,不敢确言。反观之,孔颖达所言确实者,均引自《司马法》,足以证明孔颖达见过《司马法》一书。
《隋书·经籍志》经类《三礼杂大义》下注云:“梁有《司马法》三卷……亡。”《隋书·经籍志》里常见“梁有……”对此,学者们有两种意见:一种意见是《隋书》以阮孝绪的《七录》做比对,《七录》所录之书,皆称“梁有……”一种意见是“梁有”不单指《七录》所录,而泛指整个梁代书目所录。不管哪种意见,按《隋书·经籍志》所载,梁代是有一部三卷的《司马法》存在的,到了隋唐时亡佚,但这并不能说明《司马法》和《司马兵法》是两书,也有可能是一部著作的不同版本。梁代亡佚的只是其中的一个版本而已。如果是两书,《司马法》在梁代就已经亡佚,按照凌、黄二人所说,唐以后的都是《司马兵法》,那唐宋以来的史志、书目收录的《司马法》岂不都应该是《司马兵法》?可事实是,《旧唐书》《新唐书》皆录书名为“司马法”。另外,唐宋以来史志、书目多标记为三卷,刚好与梁时所亡佚的《司马法》卷数相同,这未免太过凑巧。
《左传·桓公五年》孔颖达正义云:
《史记》称齐景公之时,有田穰苴善用兵,景公尊之,位为大司马。六国时,齐威王用兵行威,大放穰苴之法,乃使大夫追论古者《司马兵法》,而附穰苴其中,凡一百五十篇,号曰《司马法》。[10]1748
孔颖达这段记录显然是依据《史记·司马穰苴列传》,然而《司马穰苴列传》原文是:
齐威王使大夫追论古者《司法兵法》而附穰苴于其中,因号曰《司马穰苴兵法》。[4]2160
不难看出,孔颖达所言《司马法》者,就是《司马穰苴列传》中的《司马穰苴兵法》,也就是《史记》中的《司马兵法》。如果唐代《司马法》和《司马兵法》为两书,魏征在作《隋书·经籍志》时,不可能对孔颖达常引的《司马法》视而不见,而只录《司马兵法》。所以说,在隋唐之际,世上可能有多个版本的《司马法》,有的被命名为“司马法”,有的被命名为“司马兵法”,但都属于同一著作。
至于汉唐间《司马法》篇数的大幅减少,李桂生先生曾作过详细考证,认为《司马法》大量散佚的时间在南北朝时期。[1]184这便能很好地解释为什么《汉书·艺文志》中著录《司马法》有一百五十五篇之多,而到了《隋书·经籍志》就只剩三卷的问题。我们在明确《隋》志中的“司马法”与“司马兵法”为同一著作以后,可以证明清人黄以周、凌廷堪关于历史上存在两部“司马法”,一为《司马法》,一为《司马兵法》的两书论是不正确的。《隋书·经籍志》以后,历代史志、书目所录的《司马法》《司马兵法》,凡列卷数者多为三卷。只有《直斋书录解题》和《四库全书总目提要》列为一卷,《四库全书总目提要》对此说明了原因:“隋、唐志俱作三卷。世所行本,以篇页无多。并为一卷。今亦从之,以省繁碎焉。”[18]2535历代官、私书目《司马法》《司马兵法》没有同时录入的情况,且三卷与一卷之别,也仅仅是因为篇数不多,去繁就简。实质都是同一本书。到了北宋元丰年间,《司马法》被编入到《武经七书》系统,明清时期鲜有单行本流传下来,今存世本五篇,也多是据《武经七书》本而来。
由此可见,从西汉的司马迁、任宏到东汉的班固,再到唐代魏征以及宋代的《武经七书》系统,《司马法》成书以后的流传过程便可以清晰地展现在我们面前,进而证明存世本《司马法》并非后人伪造,而是从汉代本兵书《司马法》流传而来。清人龚自珍、姚际恒的存世本《司马法》为后人伪造,非汉代“军礼司马法”之遗存说是不可靠的。