查看原文
其他

北大史学 | 郭津嵩:《太初改历始末考》


编 者 按

《北大史学》是由北京大学历史系主办的学术集刊。本书为第25辑,为“中国古代政治文化史”专号。本辑收录特稿1篇,专题研究论文10篇,学术综述与学术史研究各1篇,作者既有本专业领域的权威学者,也有优秀的年轻学者。


即日起,北京大学历史学系官微将陆续推出《北大史学》专辑文章。本文为《太初改历始末考》,作者是北京大学历史学系助理教授郭津嵩。


太初改历始末考

北京大学历史学系助理教授郭津嵩


摘要 《汉书·律历志》提供了关于太初改历始末的宝贵信息,但其系年和叙述次序不无可疑之处。改历不应迟至元封七年才得倡议和开始筹备。《史记·封禅书》中公孙卿所述黄帝故事和《汉书·兒宽传》中的明堂上寿辞,透露出改历早在元鼎四年已具设想,在元封元年已有谋划,同时也显示出改历与郊祀、封禅等仪式活动之间有密切的关联,包含于同一套整体规划之中。《汉志》系年失实,可能主要是由于对太初改元诏书有所误解。武帝下诏改元应与宣布改历及其他改制措施同时,在太初元年五月,而班固却以为在着手议造新历之前。突破《汉志》的系年和叙事次序之后,可以重新推定改历的时间表。


关键词 太初改历《汉书·律历志》 公孙卿 黄帝故事 兒宽



西汉太初改历是中国古代第一次有明确记载的改历,在历法史上有标志性和典范性的地位,对后世历法变更的政治操作和文化内涵有重要的影响。古今学者对太初改历已有许多讨论,但仍留下不少疑义,有待索解。本文尝试以批判的眼光重新审视《汉书·律历志》中的改历纪事,并勾稽和运用《史》《汉》中的其他相关史料,对改历的发端和过程再加探讨,也希望对于理解太初改历的政治文化意义有所裨益。

认识太初改历的始末,最主要的材料集中于《史记·历书》和《汉书·律历志》两篇文献中。司马迁是改历的亲历者,《历书》叙其事本应最为确凿可靠,但可惜过于简略。《汉志》在《历书》的基础上,补充了许多宝贵的信息,组织成一个比较完整的叙事,因此也显得更为重要。今先将《汉志》的记叙具引于下,并以意分作数段,以清眉目:

至武帝元封七年,汉兴百二岁矣,大中大夫公孙卿、壶遂、太史令司马迁等言“历纪坏废,宜改正朔”。

是时御史大夫兒宽明经术,上乃诏宽曰:“与博士共议,今宜何以为正朔?服色何上?”宽与博士赐等议,皆曰:“帝王必改正朔,易服色,所以明受命于天也。创业变改,制不相复,推传序文,则今夏时也。臣等闻学褊陋,不能明。陛下躬圣发愤,昭配天地,臣愚以为三统之制,后圣复前圣者,二代在前也。今二代之统绝而不序矣,唯陛下发圣德,宣考天地四时之极,则顺阴阳以定大明之制,为万世则。”

于是乃诏御史曰:“乃者有司言历未定,广延宣问,以考星度,未能雠也。盖闻古者黄帝合而不死,名察发敛,定清浊,起五部,建气物分数。然则上矣。书缺乐驰,朕甚难之。依违以惟,未能修明。其以七年为元年。”

遂诏卿、遂、迁与侍郎尊、大、典星射姓等议造汉历。乃定东西,立晷仪,下漏刻,以追二十八宿相距于四方,举终以定朔晦分至,躔离弦望。乃以前历上元泰初四千六百一十七岁,至于元封七年,复得阏逢摄提格之岁,中冬十一月甲子朔旦冬至,日月在建星,太岁在子,已得太初本星度新正。

姓等奏不能为算,愿募治历者,更造密度,各自增减,以造汉太初历。乃选治历邓平及长乐司马可,酒泉候宜君,侍郎尊及与民间治历者,凡二十余人。方士唐都、巴郡落下闳与焉,都分天部,而闳运算转历。其法以律起历,曰:“律容一龠,积八十一寸,则一日之分也。与长相终,律长九寸,百七十一分而终复。三复而得甲子。夫阴阳九六,爻象所从出也。故黄钟纪元气谓之律。律,法也,莫不取法焉。”与邓平所治同。

于是皆观新星度、日月行,更以算推,如闳、平法。法,一月之日二十九日八十一分日之四十三。先藉半日,名曰阳历;不藉,名曰阴历。所谓阳历者,先朔月生;阴历者,朔而后月乃生。平曰:阳历朔皆先旦月生,以朝诸侯王羣臣便。”乃诏迁用邓平所造八十一分律历,罢废尤疏远者十七家,复使校历律昏明。宦者淳于陵渠复覆太初历晦朔弦望,皆最密,日月如合璧,五星如连珠。陵渠奏状,遂用邓平历,以平为太史丞。

《汉志》的记载奠定了古今学者对太初改历作为历史事件的基本认识:首先,改历发端于元封七年(前105/104),其提议和启动都发生在进入该年以后。其次,改历的过程按照如下顺序展开:(一)公孙卿等建言改历;(二)下兒宽及博士议论;(三)下诏改元;(四)公孙卿等会同技术人员“议造汉历”,并设置仪器,开展观测;(五)改历遇到困难,“不能为算”,重新招募治历者,“更造密度”;(六)经过新一轮推算、讨论、观测、校验,确定“用邓平历”,即太初历。自来学者对于太初改历中的纪年和历法内容等问题多有争论,但大都对上述系年和事件次序信之不疑。偶有置疑者,也未能提出有力的论证。但实际上,虽然改历纪事各个部分的信息大抵都分别有所依据,但应是经过班固的剪裁和组织,才形成《汉志》所呈现的叙述结构和时间线索。用《史》《汉》中的相关记述加以比勘,用怀疑的眼光加以审视,会发现其中不无探讨和批判的余地。也只有突破《汉志》的系年和叙事次序,才能对改历始末建立更合理的认识。


一、改历起始时间问题


我们重新考订太初改历的始末,需要先确立一个基点,即改历最终完成和太初历颁行的时间。这个时间在《史》《汉》中本有清楚的记载。《史记·封禅书》云:“夏,汉改历,以正月为岁首。而色上黄,官名更,印章以五字,为太初元年。”《汉书·武帝纪》云:“夏五月,正历,以正月为岁首。色上黄,数用五,定官名,协音律。”两处所叙大体一致。其中如“色上黄,数用五”等,是明确的服色和印文新制。至于“定官名”和“协音律”的内容,前者即如祠祀(太祝)改称庙祀、郎中令改称光禄勋之类,皆在太初元年更名,见于《汉书·百官公卿表》;后者略见于《史记·历书》引武帝改元诏书。也都清晰确定。那么,所谓“改历”或“正历”,必然也是将已经制定完成和得到武帝认可的新历法(邓平历)颁诸臣民,故与服色、官名、音律等项改革同时宣布,意味着武帝最终完成了汉初以来“改正朔,易服色制度,定官名,兴礼乐”的设想。

一旦明确改历之完成在太初元年(前105/104)五月,《汉志》记述中最主要的一个问题便浮现出来。班固以“至武帝元封七年,汉兴百二岁矣”统摄整个叙事,意谓改历的倡议和启动皆应在进入元封七年以后。如此则改历仿佛是改元之年到来时(武帝此前皆六年一改元)的临时起意,而改历的筹备时间也显得过于短促了。我们知道,元封七年经过改元便成了太初元年。这是从十月岁首转换为正月岁首的特殊年份。但即便从十月算起,到五月也只有七个多月的时间。

然而,《汉志》的纪事同时又显示出,改历的过程是曲折而漫长的。无论是对天象进行反复的系统观测,还是临时从各地选募治历者,都必须耗费大量的时日。再加上测算工作开始前的议论和筹备,以及其他种种波折,前后不可能只经历半年稍多的时间。那么,改历持续多长时间才合理?不妨参照昭帝元凤年间的历法争论来考虑。元凤三年(前79/78),太史令张寿王上书非议太初历,昭帝使人诘问,不服,遂决定“杂候日月晦朔弦望、八节二十四气,钧校诸历用状,以定是非。参与校验和争论的,除了主历使者鲜于妄人及丞相、御史、大将军、右将军属官,还有民间历家即墨徐万且、长安徐禹、单安国、安陵桮育等人。可见此次争论经历了与太初改历时类似的测候、校验以及募集朝野治历者的过程。校课诸历花费的时间,“以元凤三年十一月朔旦冬至,尽五年十二月”,超过两年;整个争论则持续了三年左右。测候“八节二十四气”等事的基本周期是一年,受到天气等观测条件和当时测算精度的限制,经过二、三年才得出校验的结论,是很正常的。反观太初改历,在草创和覆校阶段经历了两轮测候,第一次在晦朔分至之外,还测定了“二十八宿相距”,任务更为复杂,那么至少也应该需要二、三年的时间。整个改历的过程,则应在三、四年以上,方较为合理。

值得注意的是,《汉志》在叙述完元凤历法争论之后所下的案语中,恰恰透露出太初改历起始时间的另一种可能:

故历本之验在于天,自汉历初起,尽元凤六年,三十六岁,而是非坚定。

从元凤六年(前76/75)上溯三十六年,得元封元年(前111/110),而非元封七年。无独有偶,《续汉书·律历志》中也有太初历从“发谋”到“启定”,经历若干年的说法:

昔太初历之兴也,发谋于元封,启定于天凤,积百三十年,是非乃审。

自元封元年至天凤六年(18/19,该年号的最后一年),恰好大致是一百三十年,则此年数必是从元封元年算起的。所谓“启定于天凤”,可能是指刘歆修三统历。两相印证,可见东汉时存在着太初改历起始于元封元年的认识,甚至班固也曾接触过此种认识的材料。

可是,清代以来不少学者都囿于《汉志》前文以元封七年统摄改历之事,而对上述两个年数不予采信。其中影响最大的是曾为《汉志》和《续汉志》作注的清代学者李锐。他在《汉志》“三十六岁”一句下注云:“自元封七年起,尽元凤六年,止三十年。此当云三十岁,‘六’字衍。”又在《续汉志》“百三十岁”一句下注云:“《前志》云:‘自汉历初起,至天(元)凤六年,而是非坚定。’锐案,自太初元年至元凤六年,正得三十年。此文‘天凤’当作‘元凤’,‘百’字衍。”此后的研究者多接受李锐的判断。中华书局点校本甚至依照其说对《续汉志》的文字做了改动。但李锐的意见其实在校勘和史实方面都别无依据,只不过先入为主地笃信《汉志》前文而已。

对太初改历开始于元封七年,只有个别学者提出过怀疑。李志超和华同旭在1989年发表的《司马迁与太初历》一文中已经指出,考虑到改历的复杂性和过程中的反复,太初历“断无可能在半年多的时间里完成”。他们推断改历的最初提议应在元封元年,提出的可靠根据主要便是《汉志》中的“三十六岁”积年。至于《续汉志》中的“发谋”至“启定”的年数,两位学者受到点校本的误导,以为作“积三十年”,因此反而视为不利证据。近年,曹金华在其《后汉书稽疑》中指出点校本不当依李锐说而改字,并据《汉志》“三十六岁”积年推测“《太初历》虽始行于太初元年即元封七年,然其发端或元封初。”此外亦别无论证。

可是,如果仅凭《汉志》《续汉志》的两则年数,要推翻改历始于元封七年的认识,仍显薄弱。那么,史籍中关于改历的缘起,是否还有更为充分的证据?下文就将给出肯定的回答。


二、“宝鼎神策”与“大元本瑞”


《史记·封禅书》中有一条比较隐晦的材料,一旦破解其含义,便可以提供关于太初改历缘起的重要信息。元鼎四年(前114/113)夏,在武帝刚刚建立的汾阴后土祠旁出现宝鼎,被朝臣解释为“受命”“合德”的祥瑞。当年秋,又有齐人公孙卿携书求见,就宝鼎的意义另献新说。《封禅书》记其事云:

齐人公孙卿曰:“今年得宝鼎,其冬辛巳朔旦冬至,与黄帝时等。”卿有札书曰:“黄帝得宝鼎宛朐,问于鬼臾区。鬼臾区对曰:‘(黄)帝得宝鼎神策,是岁己酉朔旦冬至,得天之纪,终而复始。’于是黄帝迎日推策,后率二十岁复朔旦冬至,凡二十推,三百八十年,黄帝仙登于天。”

此条材料和改历的关系,英国学者古克礼(Christopher Cullen)早有论及,笔者最近也撰文做了补充。这里只简略述之。其中的关键,在于辨认出“己酉朔旦冬至”和“三百八十年”在四分历术宏观周期中所标识的位置。关于四分历术的周期结构,《续汉志·律历志下》云:“岁首至也,月首朔也。至朔同日谓之章,同在日首谓之蔀,蔀终六旬谓之纪,岁朔又复谓之元。”其中一章为19年,一蔀(也称作“纪”、“篇”或“府”等)为76年,一纪为1520年,一元为4560年。由于干支纪年在西汉前期尚未确立,此时的四分历术即以1520年为最大周期,故又称为“大终”。它是年、月、日和干支纪日四者相耦合的周期。每经过这样一个周期,冬至和十一月朔会同时出现在甲子日的日首(通常为夜半),即甲子朔旦冬至(更严格地说是甲子夜半朔旦冬至)。在组成1520年周期的二十个蔀(76年周期)中,己酉朔旦冬至是第十六蔀的第一日(蔀首)。由此日向后推380年即五蔀,就将回到甲子朔旦冬至,迎来一个新的1520年循环。

 “迎日推策”亦见于《史记·五帝本纪》,《索隐》云:“神策者,神蓍也。黄帝得蓍以推算历数,于是逆知节气日辰之将来,故曰推策迎日也。”然则“神策”之“策”与“推策”之“策”皆为“蓍策”之意,但又非指有形的蓍策。《集解》引晋灼云:“策,数也。迎数之也。”《封禅书》下文载武帝祠明堂赞飨云“天增授皇帝太元神策,周而复始”,《正义》云:“策,数也。言得十一月甲子朔旦冬至日,礼上帝明堂,是天授古昔上皇创历泰元神策之数为首,故周而复始。”较为近是。“神策”应即上天通过在“得天之纪”的年份(76年周期的始年)降下宝鼎而昭示的宇宙周期结构。公孙卿讲述黄帝“迎日推策”故事,意在表明汉武帝和黄帝一样,皆受到上天通过宝鼎和神策(即历法周期结构)所传达的启示,肩负迎接新的甲子朔旦冬至即宇宙时间新纪元的使命。完成此项使命,即可达成不朽,“仙登于天”。

公孙卿在构造“迎日推策”故事时,一定已经事先推算出在元鼎四年之后的第九个十一月朔和冬至将共同出现在甲子日的前后,并将其拟定为武帝所要迎接的新纪元。这就是武帝改元诏书中所说的元封七年“中冬十一月甲子朔旦冬至”,亦即太初历的历元。而“太初”年号,也是取自甲子朔旦冬至为“大终复始”、时间元点之意。《封禅书》云:“其后二岁(元封七年),十一月甲子朔旦冬至,推历者以本统。”此所称“推历者”,当以公孙卿为首要代表。公孙卿的黄帝故事既有“甲子朔旦冬至”即将来临之意,又称说黄帝“迎日推策”,则改历的构想其实已经包含其中。《汉书·律历志》的叙述中,正式上书请求改历和“议造汉历”都是由公孙卿领衔,壶遂和司马迁皆居其后,这也是因为改历最初之构想出自公孙卿。

改历与公孙卿所述黄帝故事的关系,还可以从其他一些材料加以印证。《封禅书》云:“(元鼎五年)十一月辛巳朔旦冬至,昧爽,天子始郊拜太一。……其赞飨云:‘天始以宝鼎神策授皇帝,朔而又朔,终而复始。皇帝敬拜见焉。”这是武帝初次施行以太一为祭祀对象的新郊礼,时间正是选在公孙卿着意论述的“辛巳朔旦冬至”。辛巳朔旦冬至在通常的四分历术中是不可能出现的,出自公孙卿的刻意附会和构拟,武帝竟加以采用。非但如此,“宝鼎神策”的表述也被写进初次郊见太一的飨辞中,更可见武帝全面地接受了公孙卿的学说,将其作为礼制改革的依据。而既然“宝鼎神策”被确立为权威表述,那么像黄帝一样“迎日推策”,从事于历法的协调和更定,也就已经是题中应有之义了。

元封七年,武帝“亲至泰山,以十一月甲子朔旦冬至日祠上帝明堂”,赞飨云:“天增授皇帝太元神策,周而复始。皇帝敬拜太一。”与初郊太一的飨辞一脉相承,仍然紧扣“迎日推策”故事。《史记·太史公自序》云:“五年而当太初元年,十一月朔旦冬至,天历始改,建于明堂,诸神受纪”。此时武帝虽然尚未向臣民颁布新历,但其明堂祀礼的主要内容就是向太一和诸神报告历法的变更。如果说元鼎五年初郊的飨辞表明武帝接受“宝鼎神策”的启示,那么元封七年祠明堂则是在新纪元降临之际,宣告他即将完成“宝鼎神策”所赋予的使命。

方士们讲述的黄帝故事可能还规定了封禅与改历之间的先后关系。武帝改元太初的诏书云:“盖闻古者黄帝合而不死,名察发敛,定清浊,起五部,建气物分数。”《历书》云:“盖黄帝考定星历,建立五行,起消息,正闰余。于是有天地神祇物类之官,是谓五官。”“名察发敛”以下数语,大意与之相当。惟“合而不死”,较为难解。孟康以“合”为“作历”;臣瓒释为“黄帝盛德,与虚合契”;宋人程大昌又释为“展转相求”,“不至死泥”,皆嫌牵强。其实此语也出自齐地方士之说。如筹备初次封禅时,齐人丁公云:“封禅,合不死之名也。”太初二年修封前,又有济南人公玉带云:“黄帝时虽封泰山,然风后、封巨、歧伯令黄帝封东泰山,禅凡山,合符,然后不死焉。”更早得幸于武帝的方士李少君也曾有“见之(仙人)以封禅则不死,黄帝是也”的说法。可见“合而不死”指的是封禅。以“合”言封禅者,也不限于方士。兒宽对武帝问封禅事,有“以为封禅告成,合祛于天地神祇”等语。又《汉书·武帝纪》载元封五年修封后的大赦诏书:“朕巡荆、扬,辑江淮物,会大海气,以合泰山。上天见象,增修封禅。”颜师古注云:“集江淮之神,会大海之气,合致于太山,然后修封,总祭飨也。”又《韩非子·十过》谓“昔者黄帝合鬼神于西泰山之上”,或许也是封禅传说的一种早期形态。

明白“合而不死”指封禅之后,再来看改元诏书的表述,似谓黄帝先成功举行了封禅,然后才从事于改历。按当时方士的学说,帝王封禅往往不能成功。此说盖出自秦始皇“为暴风雨所击,不得封禅”的传言。如公孙卿云:“封禅七十二王,唯黄帝得上泰山封。”盖谓汉以前除黄帝以外,其他尝试封禅的帝王皆未得成。又丁公云:“秦始皇不得上封。陛下必欲上,稍上即无风雨,遂上封矣。”《封禅书》又载:“天子既已封泰山,无风雨灾,而方士更言蓬莱诸神若将可得,于是上欣然庶几遇之。”可见武帝在封禅之前亦无十足把握。故此前虽然已有改历之构想,但大概要待封禅成功,确认天意所属之后,才正式提上日程。

因此,武帝在元封元年封禅之后,曾有某种关于改历的决议或姿态,使后人将其认定为“汉历初起”之年,是颇有可能的。这一点又可以从《汉书·兒宽传》中得到印证。武帝初封泰山刚刚结束时,在明堂接受群臣上寿。《兒宽传》中对其上寿之辞有颇为详细的引述:

臣闻三代改制,属象相因。间者圣统废绝,陛下发愤,合指天地,祖立明堂辟雍,宗祀泰一。六律五声,幽赞圣意,神乐四合,各有方象,以丞嘉祀。为万世则,天下幸甚。将建大元本瑞,登高岱宗,发祉闿门,以候景至。癸亥宗祀,日宣重光;上元甲子,肃邕永享。光辉充塞,天文粲然,见象日昭,报降符应。臣宽奉觞再拜,上千万岁寿。

引文前半列举武帝在礼仪制作方面已经达成的功绩,其中的“合指天地”,参照上文的讨论,亦应指封禅。至于“将建大元本瑞”以下,“以候景至”、“上元甲子”、“天文粲然”等语,皆似与历法颇有关系。东汉注家苏林就认为其所言为太初改历之事:“将,甫始之辞也。太元,太初历也。本瑞,谓白麟、宝鼎之属也。以候景至,冬至之景也。上元甲子,太初元年甲子朔旦冬至也。”王先谦则认为,“将建大元本瑞”指即将因封禅而改元元封之事,并云:“《公卿表》,宽以元封元年为御史大夫。从封泰山即在是岁,而改定太初历在后,本传详之。上元甲子不应豫指太初元年事也。”然而,“上元甲子”除了具有元点意义的甲子朔旦冬至之外,很难有别的合理解释。而我们现在知道,对“上元甲子”即将再临的期待,其实已经包含在公孙卿的“迎日推策”故事中,改历的设想亦应初具雏形。此时,在封禅成功之际,兒宽展望六年之后武帝再临泰山明堂,迎接甲子朔旦冬至,宣告“天历始改”,是完全合情合理的。至于“大元本瑞”,当即元封七年太一飨辞中的“太元神策”,也是指武帝承天意改历,开启新纪元。传文在上寿一节之后附云:

后太史令司马迁等言:“历纪坏废,汉兴未改正朔,宜可正。”上乃诏宽与迁等共定汉太初历。语在《律历志》。

“后”字起句,提示了兒宽上寿辞与改历之间的关联,可证将“大元本瑞”等语理解为对迎接甲子朔旦冬至和更定汉历的展望,符合传文的本意。传文详引兒宽的上寿辞,正是因为它并非一般的颂贺文字,而关涉改历的构想,从而显示出兒宽在武帝改革事业中的地位。

兒宽在上寿时以“上元甲子”为言,说明此时改历已不止是公孙卿个人的设想,而是已有比较正式的讨论,甚至形成了某种决议,亦即《续汉志》所说的“发谋”。《汉志》的改历叙事中也出现了兒宽,谓武帝命时任御史大夫的兒宽与博士共议改正朔之事。按,兒宽接任御史大夫应在元鼎六年封禅筹备期间。对照上寿之辞与《汉志》中兒宽与博士的正朔之议,会发现两者语句有重合呼应之处。如上寿辞有“间者圣统废绝,陛下发愤,合指天地”等语,而议则有“今二代之统绝而不序矣,唯陛下发圣德”及“陛下躬圣发愤,昭配天地”云云;两者又皆有“为万世则”一语。似乎可以推测,《汉志》所记的“宽与博士赐等议”其实也发生在封禅前后。故兒宽在封禅成功之后即其事,用其语,而为上寿之辞,顺理成章地将这项议题摆上台面。由此也可以确认《汉志》中以元封元年为“汉历初起”,并非虚言。

以上利用公孙卿所述黄帝故事和兒宽的上寿辞,可以确定改历早在元鼎四年已具设想,在元封元年已有谋划,绝非晚至元封七年才有倡议,也不会等到元封七年才着手制作新历。由此也可以认识到,改历与郊祀、封禅等仪式活动之间并非各自独立,而是有着密切的呼应和衔接关系,包含在同一套整体性的规划之中,共同达成宣示天命、变革礼制、求取不朽的目的。


三、太初改元诏书析疑


上文考定改历在元鼎四年已具设想,在元封元年已成正式议题。我们用到的一些重要材料,仍然来自《汉书》。无论是《汉志》后文的“三十六岁”积年,还是《兒宽传》中收录的上寿辞,都显示班固接触到了改历“发谋”于元封元年的证据。但是,他在拟定改历叙事时,却似乎并未将其考虑在内。《汉书》规模宏巨,头绪繁多,还继承了班彪“后传”乃至此前其他汉史著作的内容,有顾此失彼、不相协洽之处,在所难免,不足为怪。

班固将改历的经过全部系于元封七年,除了由于未及考虑上述证据,以及对测算新历所需时间缺乏估计之外,更关键的原因似乎在于他认为“议造汉历”开始于下诏改元之后。按照通常的认识,改元只能是在进入元封七年当年。至于改历的倡议和初期讨论,则可以认为在改元之前不久。如此一来,改历的全部过程便可以都系于元封七年。班固所以会如此认为,又是因为他对改元诏书的文本采取了某种特定的解读和处理。同一诏书,也收录于《史记·历书》中。两处所载诏书文本详略颇有不同,在各自的叙述语境中呈现的意义也有微妙的差别。学者对此多未详察,有必要稍作辨析和解说。

现将《历书》中的诏书文本和对当时情势的叙述具引于下:

至今上即位,招致方士唐都,分其天部;而巴落下闳运算转历,然后日辰之度与夏正同。乃改元,更官号,封泰山。因诏御史曰:“乃者,有司言星度之未定也,广延宣问,以理星度,未能詹也。盖闻黄帝合而不死,名察度验,定清浊,起五部,建气物分数。然盖尚矣。书缺乐驰,朕甚闵焉。朕唯未能循明也。䌷绎日分,率应水德之胜。今日顺夏至,黄钟为宫,林钟为徵,太簇为商,南吕为羽,姑洗为角。自是以后,气复正,羽声复清,名复正变,以至子日当冬至,则阴阳离合之道行焉。十一月甲子朔旦冬至已詹,其更以七年为太初元年。”

从“因诏御史曰”之前的简短叙述即可看出,《历书》以改元与改历、更官号等项改制为同时,与《汉志》不同。司马迁明确地将唐都、落下闳等人的测天和治历活动置于改元、改制之前。据《汉志》,唐都、落下闳两人的测算“与邓平所治同”,则“日辰之度与夏正同”,指的就是夏正新历的方案得以确立。也就是说,邓平的太初历在下诏改元之时已经最终修成,只不过司马迁在此处刻意不提邓平的名字。“封泰山”一语稍稍令人疑惑。无论是元封元年的初封,还是元封五年、太初三年的修封,和改元、改制放在一起似乎都不合适。三字若非后人所增,或许是史迁偶疏,误将元封七年祠泰山明堂事说成了“封泰山”。无论如何,多出这三个字不妨碍理解《历书》以改元与改制为同时的文义。诏书自然也仍是太初元年夏所下。这些基本的时间信息出自亲历太初改历的司马迁,理应是更为可靠的。

与《汉志》相比,《历书》对改历的记述显得过于简略,而且绝口不提邓平。一种相对合理的解释认为,这是司马迁出于对改历结果的不认同,而有意为之。张文虎《舒艺室随笔》卷四“历术甲子篇”条云:“迨邓平改定,……史公心有所不善焉。……然则前文不及邓平,又诏‘更七年为太初元年’下不复详定历始终,盖有故焉,非阙略也。”顺此思路考察,恐怕司马迁不仅在叙述中讳言其事,甚至对改元诏书的相关内容也有所回避。现存诏书前半颇言历法星度之事,而多谦损之辞,原意应是欲扬先抑,为后文做铺垫。至“朕唯未能循(修)明也”一句之后,转而为肯定、申述的口吻。后半看似多言音律,与前文不相呼应,有顾左右而言他之感。或许可以推测,诏书后半原本还包括有直接关于邓平治历功绩和决定改行太初历的内容,如此则文义更为通顺、完整,而司马迁在引述时却将这些内容略去了。“太初”年号既从“上元甲子”而来,而邓平之法“以律起历”,那么诏书原本涉及改元、改历两事,其中又言及音律,皆为合理。经过剪裁之后,后半文意虽然模糊,但其中仍隐然含有改历完成之意。如“今日顺夏至”,张文虎校云:“语不可解。下‘黄钟为宫’是冬至,律历起冬至,古今不变,未有起夏至者。疑‘至’乃‘正’字之讹,即上文所谓‘然后日辰之度与夏正同’也。”其说甚是。又如“以子日当冬至,则阴阳离合之道行焉”,亦有历已正、律已协之意。

《汉志》中引述的诏书,不但更为简略,而且由于只保留了诏书前半的铺垫部分,文义变成仿佛反映的是改历尚未开始时的状态。班固如此处理,也并非有什么强烈的意图,或许是因为他也未能看到完整的诏书原文,只是就《历书》所引,略去了“䌷绎日分”以下看似与改历关系不大的七十余字,却使得诏书呈现出了不同的意义。而他对于《汉志》叙事次序的安排,又是与对诏书的理解相配合的。诏书中的“未能雠”、“未能修明”等语与“遂诏……议造汉历”相衔接,形成的观感是武帝在改元时表达了对历法缺陷的关切,随后便下令治历。不过,即使经过班固的剪裁和拼接,诏书与《汉志》叙事之间仍然存在矛盾。诏书“广延宣问,以考星度”一语,上文兒宽与博士的一般性议论实难当之。其原意反而应指下文的广募治历者,开展测算、校验等事。所谓“未能雠”,原意似应指在邓平历确立之前,其他各家尚嫌疏远。由此益可见本来的下诏时间当在造历完成之后。

《史》《汉》关于改元与改历关系记述的不同,不仅见于《历书》和《律历志》,其实也反映在上面引述过的《封禅书》和《武帝纪》对太初改制的记载。两篇文献皆记改历与服色、官号等改制于太初元年夏或夏五月。但《封禅书》有“为太初元年”一句,对照《历书》,可知是截取改元诏书“其更以七年为太初元年”而来。《武帝纪》却在太初元年五月处未及改元之事,想必也是因为班固判断在此之前已经改元。

当然,改元诏书原貌究竟如何,班固在《历书》所载之外是否别有依据,这些都是无法确知的。上述推论,非敢自必,主要是希望说明,《史》《汉》之间改历纪事虽详略有别,但真正矛盾之处,集中在对改元诏书认识不同。然而后世学者对读《史》《汉》,或忽焉不察,或求之过深,又生出更多歧惑,甚至否认班、马并无异词的改历完成时间。对此,我们不得不再作进一步的检讨。

北宋时,司马光等人修《资治通鉴》,于太初元年夏五月条袭用《武帝纪》之文,却将“正历”替换为“诏〔公孙〕卿、〔壶〕遂、〔司马〕迁等共造汉太初历”。如此则仿佛在其他各项改制宣布实施之际,历法却刚刚开始制定。这恐怕是就是因为《通鉴》撰者参酌《史》《汉》,见《历书》中改元与更官号同时,《汉志》中治历又在改元之后,遂误以为改制的同时才开始议造新历。南宋王益之的《西汉年纪》,索性将公孙卿等人建言改历、兒宽与博士议论等事,也都系于元年五月。现代学者中,也有人认为元年五月是开始议造汉历的时间。

清代学者王引之在尝试解决太初历所用纪年的问题时,别出机杼,提出元封七年十一月和太初元年五月有两次改历,后一次颁行的是邓平历,前一次则是见于《历书》所附“历术甲子篇”的一种四分历。其主要依据是《历书》引改元诏书之末缀有“年名摄提格,月名毕聚,日得甲子,夜半朔旦冬至”等文字,王引之认为是诏书内容的一部分,而此数语又几乎原样出现于紧接其后的“历术甲子篇”的开头。他因而推测,下诏改元时颁行的是“历术甲子篇”的四分历,其后又改颁邓平历。如此推测的前提当然还是《汉志》先改元而后造太初历的事件次序。其实,王引之在纪年法问题上的主要论敌钱大昕早已留意“年名焉逢摄提格”等语。他也将其读作诏书文字,但恰恰认为所指就是太初历纪年。[9]可见钱大昕认识到改元诏书就是颁行太初历时所下,而对《汉志》的叙述次序有所保留。这在讨论过太初改历的古今学者中是不多见的。

这里不妨对“年名焉逢摄提格”等语的重复出现也略加辩证。如果我们把《历书》中从改元诏书末尾到“历术甲子篇”开头的文字抄录出来,不加句读,只用下划线标出重复部分,在“历术甲子篇”标题处提行,便是如下样貌:

其更以七年为太初元年年名焉逢摄提格月名毕聚日得甲子夜半朔旦冬至

历术甲子篇太初元年岁名焉逢摄提格月名毕聚日得甲子夜半朔旦冬至

按,《史记集解》单行的早期刻本,如南宋初刊刻的所谓“景祐本”和“淮南路转运司本”中,前一处“太初元年”之下不重“年”字,此从之。可以看到,相关语句的两次出现相距甚近,仅仅间隔九个字,且前接文字皆为“太初元年”,很有可能是传写中的误衍。“历术甲子篇”正文的体例是每年列举该年月数和气、朔大小余,再注出岁阳、岁阴和年号纪年。“岁名焉逢摄提格”亦用岁阳、岁阴,“月名毕聚,日得甲子,夜半朔旦冬至”则提供了历元“无大余、无小余”之处所对应的月、日、时。因此,这些文字出现在“历术甲子篇”的开头,不但与该文本的体例、结构相合,也补足了必要的信息。但同样的语句出现在改元诏书的末尾,则显得突兀和多余,且与上文“十一月甲子朔旦冬至已詹”意义有重复,应为衍文。此外,以“岁名”称岁阴或干支纪年,屡见于两汉文献,而未有称“年名”者。今诏书末缀文字作“年名焉逢摄提格”,盖讹衍之后又经后人增改之故。检《集解》单行本重复文字前一处下有注文,《索隐》单行本前后两处皆有注文,且前一处重“年”字,则似乎衍文出现的时代颇早。即便假设《汉志》的叙述次序可信,仍然不能仅凭这些语句的重复出现而判断“历术甲子篇”之四分历曾经颁行。更何况在《汉志》的叙述中,也并无在邓平历之前选用、颁行其他历法的迹象。

不过,王引之的推断还是产生了较大的影响。精研历法史的新城新藏和薄树人都延续两次改历说。至1980年代,陈久金在王引之看法的基础上又加调整,认为颁“历术甲子篇”四分历在太初元年五月,颁邓平历则在太初二年以后。他提出的新证据主要是《汉书·百官公卿表》太初二年条记有“正月戊寅丞相(石)庆薨,闰月丁丑,大仆公孙贺为丞相”,陈久金以为此闰月与“历术甲子篇”相合,推测该年尚未使用邓平历。然而,《百官表》的“闰月”二字是不可靠的。《史记·汉兴以来将相名臣年表》太初二年条云:“三月丁卯,太仆公孙贺为丞相,封葛绎侯。”同书《建元以来侯者年表》南奅条亦云:“太初二年三月丁卯,(公孙贺)封葛绎侯。”皆作“三月”而不作“闰月”。“闰月”当为字误。况且“历术甲子篇”太初二年亦无闰月。“历术甲子篇”的体例,如前所述,是各年先记月数和大小余,再注纪年。而陈久金则是误将太初三年条的月数“闰十三”(表示有闰月,总计十三月)读作前一年的月数,既不合文例,也有违当时历法的基本规律。总之,“历术甲子篇”之四分历在太初元年五月或此前曾经颁行的说法不能成立。

经过这番考辨,我们可以确认,《汉志》记述的议造汉历直至诏用邓平历等事,皆应在下诏改元之前,而非其后。改元与改历的时间应以《史记》为准,皆在太初元年夏。《汉志》叙事次序之误应与班固对改元诏书的理解有关。


四、改历时间表的推定


上文对改历的缘起和完成时间做了重新的考订和辨析。最后就《汉志》公孙卿等上言改正朔的记述,探讨一下着手议造新历的时间。

公孙卿、壶遂与司马迁上言“历纪坏废,宜改正朔”,前两人署“大中大夫”,司马迁署“太史令”。司马迁任太史令的时间,可以确知在元封三年六月。如果此处官衔无误的话,那么上言当不早于该时间。既然改历在元封元年已经“发谋”,为何此时要再建言?这大概是因为,最初的设想只是在甲子朔旦冬至再临之时,以之为历元改正朔,而尚未考虑到其他技术问题,也未形成“定东西,立晷仪,下漏刻,以追二十八宿于四方,举终以定朔晦分至、躔离弦望”等系统性的测算计划。此种计划的形成,应与司马迁的历法思想颇有关系。

司马迁《历书》的一大主题,就是对“历纪坏废”的批判。他指出颛顼和唐尧就曾出现“闰余乖次,孟陬殄灭,摄提无纪,历数失序”的局面,经过尧、舜“明时正度”,才得以恢复秩序。至西周幽、厉以后,历法更是长期混乱,“禨祥废而不统”,历经春秋、战国、秦和汉初,仍然未得厘正。虽然与其他儒生一样主张改正朔可以“明易姓”、顺德运,司马迁格外关注“历度闰余”的失序,而对如何纠正这种失序状态,似颇有自己的一套想法,其中大概就包括了进行系统测算的计划。元封三年,自诩为重、黎后裔的司马迁继任太史令,此时他年轻有为,又知道武帝君臣已谋划改历,一定急切地希望将自己的想法付诸实施,亲手结束长达八百年的历法混乱局面。如此推想,他联合公孙卿、壶遂上言,应该就在任太史令后不久,其目的在于提出测天、造历的具体计划。只不过上言的内容仅存“历纪废坏,宜改正朔”两句,《汉志》将其置于改历叙事的开头,则仿佛成了改历的最初提议。《汉志》置于其后的兒宽与博士议,按照前文的推测,似反应在前。

此次上言大概很快得到武帝的认可而付诸实施,其时距元封七年尚有三年左右的时间,足以从容开展测算,也足以容纳造历过程的种种波折。到元封七年十一月武帝祠泰山明堂时,即便太初历尚未最终定讞,也应该已经有初成的方案了。

基于前文的全部考证和推测,重新排定改历的大致时间表如下:



总之,对后世产生深远影响的太初改历,并非数月之间仓促而就,而是历时近九年,长期酝酿、准备,反复争论、调整的结果。改历的实施,不仅受到儒生德运改制学说的推动,更得益于公孙卿等方士假借黄帝故事的鼓吹,而与郊祀、封禅等礼仪活动有密切的关联。本文虽汲汲于年月之末节,对探讨武帝封禅改制运动的政治文化内涵,庶几亦稍有助益。


关注北京大学历史学系官方微信公众号

获得更多讲座、学术信息

投稿请联系:hisxuanchuan@pku.edu.cn

《北大史学》投稿地址:Beidashixue@163.com

编辑 | 詹建雨

审核 | 翟浩帆

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存