秋夜偶与程千帆先生(会昌)仰观星宿,谈及古诗“明月皎夜光”一首中有“玉衡指孟冬”一句,为人指为西汉太初以前的作品,涉及五言诗起源问题,至今尚无结论。于是寻绎诗意,查考星图,并证天象,觉得此句实不费解。现将鄙见写下以求方家指教。
《古诗十九首》第七首是:
明月皎夜光,促织鸣东壁,
玉衡指孟冬,众星何历历。
白露沾野草,时节忽复易,
秋蝉鸣树间,玄鸟逝安适?
昔我同门友,高举振六翮,
不念携手好,弃我如遗迹。
南箕北有斗,牵牛不负轭,
良无磐石固,虚名复何益。
陆士衡《拟古诗》也拟了这一首,收在《文选》里,几乎是一句对一句的重写。诗如下:
岁暮凉风发,昊天肃明明,
招摇西北指,天汉东南倾。
朗月照闲房,蟋蟀吟户庭,
翻翻归雁集,嘒嘒寒蝉鸣。
畴昔同晏友,翰飞戾高冥,
服美改声听,居愉遗旧情。
织女无机杼,大梁不架楹。
先说原诗的问题,再说由陆诗引起的问题。
“明月皎夜光”一首全诗是秋天的景色,而且说“时节忽复易”,显见还不是深秋,可是夹了一句“玉衡指孟冬”,差了两三个月,是什么缘故?李善注引《春秋考异邮》曰“立秋趣织鸣”;《礼记》曰“季夏蟋蟀居壁”;又曰“孟秋之月白露降”;又曰“孟秋寒蝉鸣”;又曰“仲秋之月玄鸟归”;也不得不说全诗指的是孟秋或是仲秋。那么这一句忽明说“孟冬”,如何解释?李善见到这一点,便想出了一个解说,引起了千余载的争辩。他在这一句下注道:
《淮南子》曰:“孟秋之月,招摇指申。”然上云“促织”,下云“秋蝉”,明是汉之孟冬,非夏之孟冬矣。《汉书》曰:“高祖十月至霸上,故以十月为岁首。”汉之孟冬,今之七月矣。
又在“秋蝉”“玄鸟”句下注云:
复云秋蝉、玄鸟者,此明实候,故以夏正言之。
这样一来,这诗成了太初改历以前西汉初年的作品了。
照这个解释,一首诗中忽用汉历,忽用夏历,其牵强是一望可见的。诗明说“孟冬”,又说“秋蝉”,都是季节,不是月份,若七月改为十月便算冬,那么“秋蝉”也要算“冬蝉”了。更严重的是这个解释根据“月改春移”之说,岁首月份改了,季节也跟着变,这又引到历法上的一个问题,解释《春秋》者也争论千载。然而历法上的节候是随着春分、秋分、夏至、冬至太阳在天上的位置测定的,与地上的寒暑有密切关系,并不同岁首月份可以由人改定,自然说“月改春移”理论不可通,而且事实上也是“未闻周人改冬至于建戌之月,殷人改夏至于小满之日也” 。《史记·历书》也明载原是“十一月甲子朔旦冬至”改为太初元年,“日得甲子夜半朔旦冬至”。冬至并未跟着改动。就诗论诗,一篇之中,忽冬忽秋,用字混淆,何能传诵千载?何况贾谊的《鸟赋》说“四月孟夏”,司马相如《封禅颂》有“孟冬十月”,两者都在太初以前?
《文选五臣注》中的张铣说:
上言孟冬,此述秋蝉者,谓九月已入十月节气也。
这算是第二种解说,然而也不可接受。 如果九月已入冬令,那些秋蝉、蟋蟀、玄鸟等并不懂人间月份而只随天时生活,当早已死亡和搬家了。明知是冬天又懂天文的诗人岂能随着九月月份而硬作不合实际的秋诗?
还有以为“冬”字是“秋”字之误,此说出于刘履《选诗补注》。 这是强古人以就我,不能算解释;而且陆士衡拟诗明说“招摇西北指”。西北是亥位,仍是夏历孟冬,可证明陆士衡所见已是“冬”字,而且不以为非,我们又怎能臆改?
此外古人与时贤解说者纷纷,大致以劳贞一(幹)先生所说为最后而且最合理, 但也尚有可以推敲之处。本文便企图作一更自然简单之解释。
在论劳先生意见之前,我们还得先引两位古人:一是吴淇《六朝选诗定论》,一是张庚《〈古诗十九首〉解》。两人都引《史记·天官书》说:
斗杓指夕,衡指夜,魁指晨。尧时仲秋夕,斗杓指酉,衡指仲冬。
吴淇的结论说:尧时至汉时天象有变动,所以在汉朝仲秋玉衡已指孟冬。张庚又说:尧时至汉天象无变,所以应该是七八月之交,因为七月“玉衡指孟冬”,而白露又在八月。其实所谓尧时天象只是臆测之辞,因为《史记》原文并未说这一点,只说:
北斗七星……用昏建者杓,杓自华以西南;夜半建者衡,衡殷中州河济之间;平旦建者魁,魁海岱以东北也。
劳先生据此以驳吴淇是不错的。他又驳张庚说:据《天文年历》,今时(民国三十三年,一九四四,阳历)十月三十日下午七时斗柄方指正西,因此汉时天象与尧时、今时全无关涉。这却可不必。因为由汉至今的恒星方位变动仍是极少,这在考天文算历法的人很重要,在作诗的却不必如此精确。而且这里面又有个“昏”“旦”到底是指什么时候的问题,因为冬夏的昏旦大有不同而斗杓斗魁的距离却是照旧的。还有,一个月内斗柄所指要移三十度,占周天十二分之一,同一时刻,晦朔所指也大有不同。古今天时差别这一点在论诗时不必注意。我们若不用天文历法的精确眼光来看,仍可以今时之所见推测汉代诗人之所见。天上分秒之差,人间小时之别,我们了解诗时是可以忽略的。况且精密定月令要测中星定太阳方位,凭北斗方向来目测,原只是简单的常识办法,也并不准确的。
不过吴、张二人的最可笑处还不是无中生有的扯上尧时、今时,而是他们根本不认识北斗。斗杓指酉(西)时,玉衡指的是午(南),不是冬而是夏。这一点劳先生驳得也很对,但用不着旁征博引,只要望一下北斗或看看星图就够了。北斗的形相在短短两千年间是没有常人肉眼看出的大变化的,更不能单把两颗星掉个方向。
然而《天官书》那一段却是了解这句诗的钥匙。由此可以看出所谓北斗指月建是什么星什么时候指,否则一日之内北斗在天上转一大圈,四面八方都可以指得到的。依张守节《史记正义》的说明:
杓,东北第七星也。……言北斗昏建用斗杓星指寅也。……衡,北斗衡也,言北斗夜半建用斗衡指寅也。……言北斗旦建用斗魁指寅也。……随三时所指有三建也。
这已经很明白了。若每天在一个确定时刻看北斗某一星,则一年之内转一大圈,每月变一方位(三十度),这是月建。若不在一定时间而单看一星,则一天之内便转一大圈了。前者是由于地球绕日公转,后者是由于地球的自转(详见下)。所有过去解这句诗的都是误认诗中所指的自转方位变化为公转方位变化。只有劳贞一先生改变了这一点看法。
劳先生看出了诗人所指的是每日的星辰方位变化而不是一年中的方位变化,虽尚未特别说明,而他的结论确已接近了最好的解释。他说明本诗却只有几句:
斗建之方位既以初昏为准,若晚至夜半,则斗柄已移,显然可见。假设此诗节候为孟秋七月,汉时初昏斗建当在申方,但至夜半不寐,则斗柄指亥方矣。(仲秋八月斗初昏指酉,人定后指亥,亦与此略同。)
劳先生如把自转公转说明一下,再让北斗多转过些时光,自然就会看出“玉衡指孟冬”是什么时候。可是他并未强调这句诗指夜间北斗方位,非指节令推移,因此他费力去证明“古代之天文方位及中星咸以初昏为准则”,来修改《史记》的“三建”(其实《淮南子·时则训》说中星便昏旦并举),更费很大的事去证明玉衡也包括在斗柄之内,末尾又引许多诗来证明诗人不寐及北斗横天。其实这些都不必要。
我现在试提出一个最简单的解释,即仍把玉衡当作玉衡,而定此诗为孟秋或仲秋下弦月后夜半至天明之间所作,其时玉衡正指孟冬,一点用不着改动或曲解。诗人只是用当时的天文常识说明已是深夜,而且利用冬字以与秋作强烈的陪衬,更增肃杀萧条之感。这与月份节令都无关系,在当时及陆士衡时本不致引起误会的。
现在逐步说明我的这个解释。
地球每一昼夜自转一次。若以太阳在天上的地位为准,则在同一地点,由正午日当天顶时到第二天正午日又当天顶时,恰是我们的二十四小时(中国古代的十二时辰)。可是这时地球已在绕日轨道上前进了一点,因此地球在群星之间的位置也移动了一点。所以第二天正午的太阳虽然还在天正中,可是前一天正午与太阳同在天正中的一颗恒星却到第二天正午已不在正中而偏过去一点了。从地上看来便是太阳在天上挪动了一点。反之,若以恒星为标准,则地球自转一次并用不着二十四小时。第一天正当天顶的星,到第二天再当天顶时,在我们的钟上是二十四小时少四分钟。这是真正地球自己打了一个转身。这个时间便是天文学上的“恒星时”。天文台上都有一个钟,把这二十四小时约差四分钟的时间分为二十四小时。用那个钟的时间看太阳,正午也许有时是八点钟,可是用它看起星来却天天一样。八点钟在天正中的星,只要恒星钟是八点钟,它就必在天正中。我们非天文家的人世间要以太阳为标准,所以地球得打一个转身再多一点才能在轨道上前进到原来以某点对着太阳的方位。这样每天挪前一点,一年才能挪到原来对恒星与太阳都相同的位置上。这就是绕太阳一周的公转。因此,由天文台上的恒星钟的二十四小时看来,恒星每天都回到原来的地方,而太阳却每天差一点,一年后才重新会合。由我们平常的以太阳为准的钟看来,每二十四小时太阳回到原来的地位,而恒星却差了一点,也要一年后才能重新会合。这两个钟相差的四分钟,便是地球真正自转与它在公转中的自转之间的差别。换句话说,地球每天在轨道上前进约四分钟。
这是现代由恒星宇宙的观点来说明地球上所见的时节与天象,在平常天文学书中都有详细精密的说明的。
可是古人却不是从这个观点看。他们不会由宇宙观点来看地球,却是由地球观点来看宇宙。因此先看见太阳每一昼夜回到原来的方位,又看到星辰都要一年才回到原来的方位,于是太阳在众星之间每天移动一点,过一年才回到原来的地位。当太阳在天上某处时昼夜是一样长短,又在某处时昼最长,某处夜最长,某处最北,某处最南。这便是春分、秋分、夏至、冬至,刚与地面上的寒暑相合,是最重要的分划。再详细一点便是二十四节气。若照十二个月算,则太阳在全天众星之间走十二分之一时便是地上一个月。太阳每年走的路便叫“黄道”,其十二分之一在天上叫“十二宫”,就日月交会的朔说是“十二次”,因为月亮又每月经天(即绕地球)一周,而阴历月份依月亮计算。所以说某一个月的最准确说法是“日躔某某之次”(朔),太阳在某几颗星的那一段上,又恰与月亮相会合。由此就可以知道它离春分或冬至等的那一点的远近。至于那个月的次序是叫七月或叫十月倒无关系,只有太阳位置不能错一点,因为它与四时寒暑农家需要是密切相联的。
然而太阳在天上时星看不见了,见到了星又没有了太阳,从何而知太阳在那些星中间呢?古人经过无数细密的观察与研究,才把全天的主要星辰,尤其是“黄道”上的星辰,记录清楚;于是在夜间某时见某星在某方位,就可推知太阳必在某星之间。这就是所谓“月令中星”。至于为一般人说,在北纬地方看,北天有许多星是终年可见的,其中最显著而容易认的是环绕北极运行的北斗。所以最简单的方法便是用它的地位来指示太阳的位置所在。北极是不动的,北斗绕着它一昼夜转一圈,所以最好由北斗对北极的方位来决定。由太阳的时间来看,北斗一昼夜要绕一圈多一点。因为在太阳时上,它在二十四小时之内,除由地球自转而生的一周运行外,又加上了地球公转的运行约四分钟在内。这样,北斗在天上绕北极兜了三百六十余圈之后,又回到原来的地方。每兜一圈时前进一点,变了一点对北极的方位。只要把北斗绕北极的圈子划出十二格来,就可配上“黄道十二宫”,由北斗便可知太阳的大致位置了。可是每夜得在一个确定时间去望北斗,才能看出它在二十四小时后多移出四分钟时间的地位(约周天的一度)。若每夜较前提早四分钟来看,北斗仍是天天不变位置,而它跟太阳的距离(相对位置)却变换了(这便是由前面说的恒星时来看)。所以确定一个时间是必要的。若望星的时间确定在黄昏、天明或半夜,这三个时刻的北斗在绕北极一圈中的位置,便代表了太阳在“黄道”中间的位置。简单些便只用“昏”和“旦”,再简单些便只用“昏”。这就是说,只要黄昏某时见北斗在北极周围何处,便知道太阳在“黄道”何“宫”、四季的何时了。这个“昏”“旦”是一定有确切的时刻的,不能随四季的天黑天亮为转移。不过这是天文家的事。古代通俗的常识中,不一定每天的几分之差都算上,但大致“昏”是指每日的何时,古人一定知道的。同时,北斗的位置若不识周围的星也难定,可是由斗柄的方向来看,却是不用罗盘定向的普通人也容易看出的。这斗柄所指的周天十二段便是十二“月建”,配上太阳的十二“次”;天上的东西南北也分成十二,用了十二支的名字;“月建”也便用子、丑、寅等代表,其实是指的方位而非时刻。然而黄昏时斗柄指的“月建”方位,到夜半就不对了,因为北斗已转了过去。为了维持“月建”的统一,便用中间另一颗夜半指同一“月建”的星作标准。天明时这颗星又不对了,便要用另一端的一颗星作标准。这便是《史记》上说的“三建”。《淮南子·天文训》说:“斗指子则冬至。”《时则训》说:“孟冬之月,招摇指亥。昏危中,旦七星中。”由说招摇星,我们知道说的是斗柄方向;下面讲星辰说“昏”“旦”,则当是“昏”时的方向;而“昏”则由中星来定,斗柄与中星是要联系起来的。这只是一般读书人的常识,当时历家必更有相当精密的确定。事实上北斗的这三星所指两相距角度不同,并不准确。而且地上人过一月,天上日移一宫,斗柄在每月移动所指的区域有三十度之多,月初、月尾大有不同。阴历月份需要加闰,又与四季年年有差。一般人只管月份,天上严格的方向可不顾及,伸缩性也很大。所以由斗向知月与季只是常识的粗略办法。
以上由原理来说何以北斗方位能指四时而且与昼夜时刻有关,似乎很繁复,实际上却很简单,只要每晚上观察北斗的运行,很快就可以明白的。
下面再征引一段比较明白的古人说法,再回到本题来,看看“玉衡指孟冬”若在秋天夜里该是什么时候。
苏州文庙中宋代黄裳的《天文图》附的图说中有一段说“月建”:
十二辰乃十二月斗纲所指之地也。斗纲所指之辰,即一月元气所在:正月指寅,二月指卯,三月指辰,四月指巳,五月指午,六月指未,七月指申,八月指酉,九月指戌,十月指亥,十一月指子,十二月指丑,谓之月建。……斗有七星。第一星曰魁,第五星曰衡,第七星曰杓,此三星谓之斗纲。假如建寅之月,昏则杓指寅,夜半衡指寅,平旦魁指寅。他月仿此。
陈遵妫先生《恒星图表》载此图及图说,对这一段作注如下:
太阳躔度自西而东,一年而周天,故列宿与日之距离,每日约差一度。设于每日某一定之时仰视一星,则今日若见某星正中者,至一月之后,必见其向西移转三十度。例如四月下午九时见北斗之魁正当北极上,则十月该时斗魁正当极下。周年而星回于天,其象甚显。藉此星象之回转,可略知时刻与节气之早晚,月令中星即此意也。
在这种观察计算季节和时刻的方法为读书人常识的时代,由固定时间的斗的方位可以知道季节月份,反之,若知道了季节月份,则从斗的方位又可以知道时间的早晚。譬如“黄昏而斗杓指寅了”,他们便知道这是说的建寅的阴历正月,孟春。反之,若说“春天,正月,斗杓却指卯了”,他们便知道这是说的黄昏后一个时辰,因为斗柄已在天上移动了一周天的十二分之一,即一个时辰。前一说法是平常通行的,但在习惯这样说季节时,偶尔反过来用第二种方法说时刻,也不致引起误会或不解。由时间、斗位可推知月令;由月令、斗位也可推知时间;三者关系既明白,用不着天文家也一望而知的。不过因常说昏时斗柄,便把昏时省略,仿佛单由杓就可知月令了,例如说“斗柄回寅”。至于子、丑、寅等本指方向,又代表月份季节,所以说“指寅”和“指孟春”是一样,同暗示昏时指东。
“玉衡指孟冬”正是用的这种指时刻的说法。诗已经一再明白说是秋天,又说半夜该指秋(申酉,西)的星已指到冬(亥,北)了,这不是说已过了夜半的两三时辰之后么?若是孟秋(申),这时已经天明了;若是季秋(戌),还离夜半不久(一个时辰);若是仲秋,就刚在夜半与天明之间,所以看来仲秋说似较为近理。
然而孟秋说也可以成立。因为就全诗看来,这是阴历下弦月时或稍后,即二十二、三、四日(黄裳“迩一远三谓之弦”,望后七日有奇)。因为这句上文是“明月皎夜光”,下文是“众星何历历”。若在满月前后,“明月”固然“皎皎”,可是“众星”就稀疏零落不能“历历”了。若在晦朔,又没有皎月。若是上半月上弦月时光,到了“玉衡指孟冬”的半夜以后,月亮早已下沉了。只有在下弦月时,月从半夜起,半夜以后,一弯缺月皎然可见,而天上群星又历历在目,两者都适合。既是孟秋已过四分之三,就已经近了仲秋时分,可在天明以前。实际上玉衡与杓两个方向间是锐角,玉衡与魁两个方向间是钝角,玉衡在半夜指孟秋时,杓还未到孟冬,而魁却在孟夏左右。秋分前后昼夜平均,可是魁和杓所指的方向相距不到一百八十度,玉衡在中间,所指的线又并不中分这个钝角。好在每月有三十度的范围,稍差一点,在诗人就常识说是并无关系的。就黄裳星图来看,他画的魁正指亥(孟冬),衡指丑寅之间(冬末春初),杓指卯偏辰一点(仲春末季春初)。但这些都要精密观察的。诗人观星作诗,既未说指在孟冬三十度的那一度上,距天明的远近是无从判断的。不过下文有“时节忽复易”,则孟秋说自然也很合理。
至于用玉衡而不用招摇(杓)者:招摇是昏指秋令,若说指季冬,时也太远,也不显夜深;只有说原来夜半指秋的衡忽已指冬,可显夜已将尽。
我的结论是:由全诗已说秋天,可知“玉衡指孟冬”是说一日的时刻而不是说一年的节令。就时刻说,孟秋或仲秋的下弦月时(阴历二十二、三日,或后一二日),夜半与天明之间,玉衡正指孟冬(亥,西北),同时月皎星明。
这个说法即景解文,一点用不着改字曲说,也不背《淮南子》《史记》所记的定时节习惯,又合乎天文的理论与实际。比较前人与时贤之说似乎较少牵强。
然而何以证明诗人这句说季节的话乃是说时刻?诗人既不可复生,单就这一句而论,势必两解俱通,仍无决定的断案了。
幸而除与天文历法有牵涉外,这仍只是一首诗。从诗的观点说,我们可以把这句明白改为指季节与指时刻,看看如何。
若指季节月份,诗的前半应该是:
明月皎夜光,促织鸣东壁,
北斗指秋令(或七月),众星何历历。
白露沾野草,时节忽复易,
秋蝉鸣树间,玄鸟逝安适?
若指时刻呢?应该是:
明月皎夜光,促织鸣东壁,
斗旋夜已阑,众星何历历。
白露沾野草,时节忽复易,
秋蝉鸣树间,玄鸟逝安适?
一望而知,后者上下连贯,一气呵成,由眼前视听,推到时节更改的现象;而前者既重复,又断气;一比较下,优劣大相径庭。
而且,用夜间星象暗示时间的诗句,古诗中应不少。例如魏文帝《杂诗》:“漫漫秋夜长……天汉回西流。”《燕歌行》:“明月皎皎照我床,星汉西流夜未央,牵牛织女遥相望。”两首都是咏秋夜的诗。牛女在银河两侧,初秋傍晚正见于天顶,而银河西南指,现在河转向西,夜自然已深了。顾亭林说:“三代人人皆知天文。”其实在农业社会中,大家能知道天象与季节时刻的关系,是毫不足奇的。
可是这诗以外还有个问题也必须解通。这便是陆士衡的“招摇西北指”,明明把玉衡改了招摇(杓),由斗中第五星改到斗柄第七星上去了。这样一来,时刻也变了,因为衡与杓指的方向是不同的,其间角度虽较衡魁之间的为小,但仍差了两个时辰。拟古固不必全从,但何故陆士衡要改动?这就是使劳先生费力去证斗杓包括玉衡的原因。可是那样解又委屈了诗人。他何故不说招摇偏要说玉衡?这个陆士衡改动问题必须有个自然的解释,才能使我的解说完全简单自然而无丝毫窒碍。
解释是有的,只要通读陆诗再看天象。
陆士衡拟古(江文通、鲍明远等亦如此),一方面可说是模仿,一方面也可说是竞争,这种动机是我们所不可不了解的。 五言诗由《十九首》到陆士衡时已经在技巧上大有进展。陆的改作也可说是把当代的新技巧加到古代的素朴的诗上去。就这一首而论,全篇明明是把单笔改为复笔,力求工稳对仗。从现在我们的另一种评价观点来说,对原诗与改作的好坏自然另有所见,而在当时,这种改作必为人所称赏,认为是一种使古人当代化的进步,因此昭明太子才会收入《文选》,以媲美原作。从这一点来说,我们就可看出,玉衡改招摇原是为的对仗。“孟冬”不易取对,乃明说原意改成“西北”,对仗上自然想到“东南”,于是“天汉东南倾”便成了绝好的下联,而且天河方向转换也合上暗示夜深的原意。可是天河横亘于天,不好和北斗中间的一部分相对比,自然要拿全斗来配合。而且玉衡方向与天河又不并行,玉衡北指时,天汉并非南倾。只有斗柄二星与天河正平行,与全斗的方向也相差不远。这样,只好把玉衡改招摇。改了之后,招摇指西北的时候,玉衡还在指仲秋,正是仲秋半夜,而天河也正是西北与东南向。这就要把原诗的时刻移早约两个时辰,可是仍是夜半,于全诗并无影响,而得到了不背实际的好对仗。这可能是陆士衡改星名的最自然的解释。
至于秋季深夜,北斗已在北极下方,还可以望见作诗,诗人自然在中国北方。这固然不必作证。但我们知道作诗者都是北方人,他们既望得见北斗与天河,我们也必须承认他们的观察必不致与实际显然相违反,因此也必须给他们做最自然合理的说明。
陆士衡更改星名的问题既有自然解释,不足妨碍我的假设,则我的解说便无一处窒碍难通。如果我这个解说可以成立,则“玉衡指孟冬”并不指月份及节候,与太初前后无关。那么,五言诗成于西汉初年的最有力的一个客观证据便瓦解了。
附:文中说明恐仍不易解,因附简略北斗七星图如次页,以便参考。天图下北上南,与地图相反。
(原载《国文月刊》一九四八年第六十三期)
第一图 仲秋昏杓指酉
第二图 仲秋夜半衡指酉 (招摇指西北)
第三图 仲秋天明魁指酉 (玉衡已指过孟冬亥方)