《史記》以「魯元王」稱張偃者有三:
一、《史記·呂太后本紀第九》:高後為外孫魯元王偃年少,蚤失父母,孤弱,乃封張敖前姬兩子,侈為新都侯,壽為樂昌侯,以輔魯元王偃。及封中大謁者張釋為建陵侯,呂榮為祝茲侯。諸中宦者令丞皆為關內侯,食邑五百戶。……當是時,濟川王太、淮陽王武、常山王朝名為少帝弟,及魯元王呂後外孫,皆年少未之國,居長安。
二、《張耳陳餘列傳第二十九》:張敖,高後六年薨。子偃為魯元王。以母呂後女故,呂後封為魯元王。元王弱,兄弟少,乃封張敖他姬子二人:壽為樂昌侯,侈為信都侯。高後崩,諸呂無道,大臣誅之,而廢魯元王及樂昌侯、信諸侯。孝文帝即位,復封故魯元王偃為南宮侯,續張氏。
三、《漢興以來諸侯王年表第五》:(漢惠帝)七年初置魯國,(高後元年)四月,元王張偃元年。梁玉繩云:「『元王』當作『初王』」。
《史記》數稱張偃為魯元王,然其子何敢用其父其母之謚號耶?大惑讀書人之智,故不敢輕從「魯元公主」謚號之說。
然漢孝文帝即位,張偃廢為南宮侯,乃以此爵終老,《漢書·高惠高後文功臣表》雲,張偃薨後謚「共」,是為「南宮共侯」,何以稱「魯元王」?
《漢書·張耳陳餘傳第二》:後六年,宣平侯敖薨。呂太后立敖子偃為魯王,以母為太后故也。又憐其年少孤弱,乃封敖前婦子二人;壽為樂昌侯,侈為信都侯。高後崩,大臣誅諸呂,廢魯王及二侯。孝文即位,復封故魯王偃為南宮侯。
《史記》作「魯元王」之處《漢書》皆作「魯王」,且不記張敖賜謚為魯元王之事。何故?班固依《史記》擅行刪改乎?余不敢妄斷。梁玉繩每見《史記》中言張偃為「魯元王」之處,輒曰「衍文」,不足以服人也。
《張家山漢墓竹簡·二年律令·津關令》云:
廿二、丞相上魯御史書言,魯侯居長安,請得買馬關中。·丞相、御史以聞,制曰:可。52o
·丞相上魯御史書,請魯中大夫謁者得私買馬關中,魯御史為書告津關,它如令。丞相、御史以聞,制曰:可。521
·丞相上魯御史書,請魯郎中自給馬騎,得馬關中,魯御史為傳,它如令。丞相、御史以聞,制曰:可。522
二年律令之年,學者多論,然其下限在呂後二年,當屬不易也。
漢初尚有別家稱「魯侯」,奚涓也。涓隨劉邦起事,侯四千八百戶,死事,高祖六年封其母疵代為魯侯,《漢書·高惠高後文功臣表》「疵」作「底」,且改封重平侯,故治在山東陵縣東北。高後五年疵薨、國除。母疵何年改封重平侯,不知。蓋因魯元公主得湯沐而改封。其地,據《地理志》即春秋魯國、秦時薛郡之地。然高祖時薛郡之地屬楚國,魯元公主之湯沐邑乃為薛郡之魯縣,今之曲阜,當奪之於母疵之舊領。呂後未嘗奪楚國之薛郡以封張偃,張偃之魯國當以齊王所獻城陽郡為本,全祖望以為城陽郡,古莒國之地。
《二年律令》所稱之魯侯,居於長安,可享買馬關中之特權,母疵貴不及於此也。且《呂太后本紀》云:「當是時,濟川王太、淮陽王武、常山王朝名為少帝弟,及魯元王呂後外孫,皆年少未之國,居長安。」故《二年律令》所稱之魯侯,必為張偃無疑。《津關令》中不稱「魯王」而稱「魯侯」,可知呂後二年張偃未得封王也。《史記》(高後元年)「四月,太后欲侯諸呂,乃先封高祖之功臣郎中令無擇為博城侯。魯元公主薨,賜謚為魯元太后。子偃為魯王。魯王父,宣平侯張敖也。」至於「張買為南宮侯。」段,梁玉繩云:「博城侯下忽插入公主之薨,張偃之王,劉章之侯。更覺不倫。史公敘事,何若是之倒亂哉?余謂『魯元公主薨』二十六字當在『南宮侯』句下,蓋偃與孝惠子同王也。」梁玉繩察張偃封王語次之失,甚是,然其未見《二年律令》,張偃當與高祖功臣同列為侯也。
傳本《史記》未記張偃於母薨之時僅為魯侯,其父死時尚升為魯王之事實,逕稱張偃為「魯元王」,此大謬,絕不可信。
《張耳陳余傳》說張敖死在高後六年,《呂後本紀》言張敖死在高後七年,此又有異論也。《史記》注集解雲,張敖謚武侯。先謚宣平武侯,後追諡魯元王乎?
愚以為張敖死當在高後六年,《漢書·高惠高後文功臣表》云:「(張敖)九年封(宣平侯),十七年薨」在公元前182年,亦為高後六年。時其子尚為魯侯,故張敖以己爵享「武」謚。高後七年,張偃升魯王,其父追贈「魯元王」則可解之。
《呂太后本紀》蓋誤張敖追贈「魯元王」之年為其薨年,其誤一;《張耳陳餘列傳》以張敖薨後張偃方立為魯王,其誤二;數稱張偃為魯元王,則誤三矣,《史記》之言可棄之。
以是觀之,其事本末如下:
高祖六年,魯侯奚涓薨,封其母疵代為魯侯。其後魯元公主得湯沐邑於魯。蓋因此而轉封母疵為重平侯。
惠帝二年,齊悼惠王獻城陽郡,尊魯元公主為王太后,以媚呂後。魯元公主稱太后之始。
惠帝四年冬十月壬寅,惠帝立魯元公主與張敖之女張氏為皇后。
高後元年四月,魯元公主薨,謚為「元」,是為「魯元太后」。其子張偃承母之湯沐邑,建魯國,稱魯侯。高後五年,重平侯母疵薨,國除。
高後六年,宣平侯張敖卒,以其侯爵乃謚「武」,是為「宣平武侯」。
高後七年,魯侯張偃升為魯王,且立樂昌侯張壽、信都侯張侈輔之,其父張敖以妻以子之故,追贈謚為「魯元王」。
文帝元年,張偃廢為南宮侯,以是爵終老,謚「共」,是為「南宮共侯」。生前死後斷不得稱「魯元王」。
《史記》以張偃為「魯元王」,或為《史記》傳抄之誤,或為司馬遷本人之誤,不可從。