刘芳,字伯友,彭城丛亭里人,汉代楚元王刘交的后代。六世祖刘讷,晋时任司隶校尉。祖父刘该,刘宋时为青、徐二州的刺史。父亲刘邕,任宋的兖州长史。

  刘芳的父亲刘邕因参与刘义宣的反叛,死在彭城。刘芳随伯母房氏逃到青州,被赦免。舅父元庆任宋青州刺史沈文秀建威府的司马,被沈文秀杀害。刘芳母子入居梁邹城。慕容白曜领兵南讨青、齐,梁邹举城投降,刘芳又向北迁徙,成为平齐人,当时的年龄为十六岁。

  后魏南部尚书李敷的妻子,是司徒崔浩弟弟的女儿,刘芳的祖母是崔浩的姑姑。刘芳来到京城,到李敷家求见,崔氏耻于刘芳的流离颠簸,拒不接见他。刘芳虽然处在穷困潦倒之中,而他的学业却固守正道。又聪敏过人,致力于古代典籍。白天卖字谋生,晚上诵读经书,彻夜不眠,以至于出现易衣而出,并日而食的窘迫困境,而依然淡泊守志,不急于追逐功名利禄,不忧愤于贫寒卑贱,便著《穷通论》以自我安慰,他常常被和尚们雇佣抄写经卷,笔体称为上乘。每卷价值一匹细绢,每年能收入一百多匹,如此多年,颇依赖抄佛经有所积蓄,并借此与有道德学问的高僧交往。

  当时,南方的和尚慧度因事被责罚,不久暴病身亡。刘芳因为知道这件事,因而被文明太后召入宫中,责打了一百鞭。太监李丰主理这件事的全过程,知道刘芳笃志苦学,颇有操行,告诉给了太后,太后对于责打刘芳心有惭愧。恰巧南齐使者刘缵到来,这是刘芳的本族兄弟,于是,朝廷提拔刘芳兼任主客郎,接待刘缵。又被授予中书博士,后来与崔光、宋弁、邢产等人都为中书侍郎。不久,皇帝下诏命刘芳与邢产入宫教授皇太子学习经书,升任他为太子庶子,兼任员外散骑常侍。他跟从圣驾到洛阳,在路途上以及回到京城,常常被皇上赐坐讲读经书。刘芳才思深沉敏捷,尤其精于经书要义;见闻广博,记忆惊人;又披览《苍雅》,更见长于音训,对有关问题的解释分析,都准确无疑。因此,受到朝廷的礼遇一天比一天重,赏赐十分丰厚。不久,又兼任通直常侍,跟随圣驾南巡,负责记录皇帝活动的情况,很快就正式授职。

  王肃来投奔北魏,孝文帝对他十分器重,引起了朝野上下的瞩目。刘芳没有来得及和他见面。孝文帝曾在华林宴请群臣,王肃在谈话中说:“古代惟有妇女用簪插头发,男人则不用簪。”刘芳说:“根据《礼经》推究,古代男女都用簪。”王肃说“:《丧服》上称男子免冠而妇女用麻束发;丧事过后,男子戴帽子而妇女用簪。这样看来男子不应用簪。”刘芳说:“这是专门说的丧事呀。《礼经》说,刚遇到丧事,男子脱掉帽子,同时妇女用麻束发;丧事过后,男子戴上帽子,同时妇女用簪。说的都是情况变化,男人妇女采取脱帽、束发不同的方式,帽和簪不同罢了。另外,戴帽子庄重,所以超过了发簪,是相比较而说的,不是说男人不用发簪。再则,《礼经》《内则》篇说:‘子女侍奉父母,鸡刚叫,就起来给父母梳头,扎头,插上簪子。’照这种说法,男子用发簪是明白的事。”高祖听了,连连称赞他说得对。王肃也认为他的话很对,说:“这不是那个绰号叫刘石经的么?”过去汉代在太学内造三字石经,读书人文字拿不准,就到那里对正。刘芳对文字的读音和意义都辨析得很清楚,有疑难的人都向他请教,所以人们称他为刘石经。酒宴过后,刘芳和王肃一起出来。王肃拉着刘芳的手说:“我从小就留意于《三礼》,南朝的诸儒们多次一起讨论,都是持这种看法,像我前面说的那样。现在听了您的阐释,顿时消除了我平时的疑惑。”刘芳对经书精深丰富含义的理解,都有类于此。

  孝文帝迁都洛阳,路经朝歌,看到殷时比干的墓,悲怆痛惜,写祭文悼念。刘芳为孝文帝的祭文详加注解,写成表文呈上,文帝下诏说:“读了你的注解,内容十分富厚渊博。文章虽不同于屈原、宋玉,但内容却使张衡、贾谊惭愧。既然文雅精致,可以付印并收入书中。”下诏认为刘芳经学博洽精深,破格提拔为国子监祭酒。因母亲去世而辞去官职。

  文帝征讨宛和邓,起用刘芳为辅国将军、太尉长史,跟随太尉、咸阳王元禧进攻南阳。齐将裴叔业进犯徐州,在战场上的人颇有些想去归顺齐军。孝文帝十分忧虑,任刘芳为散骑常侍、国子祭酒、徐州大中正,主持徐州事务。后来又兼任侍中,跟随大军征讨马圈。孝文帝在行宫驾崩,等到宣武帝元恪即位,刘芳亲手给他戴上丧帽。孝文帝的入殓,以及启告祖先、选择陵寝地点、祭奠礼节,丧事从始到末,都由刘芳制定。咸阳王元禧等人尊奉孝文帝的遗命,让刘芳入宫教授宣武帝经书。南徐州刺史沈陵反叛,徐州发生水灾,都是派刘芳去抚慰和赈恤。

  不久,朝廷授他为侍中,祭酒、中正的官职依然和过去一样。刘芳上表说:

  “凡是为国家着想的人,没有不崇尚儒学,尊奉圣道,把学校放在首位的。唐尧虞舜以前,没有典籍可作依据;周朝以来,当教师的都居住在武门。蔡氏在《劝学篇》中说:‘周代的老师居住在武门的左侧。’今天的祭酒一职则为周代的老师。《洛阳记》中说‘:国子监的校舍就在天子住的皇宫对面,太学设在开阳门外。’根据《学记》记载‘:古代的帝王建立国家,亲近百姓,首在教育。’郑玄注释说:在内城则聘请老师担任抚养和教育的任务,为了使公卿大臣的子弟能得以学习;外城则设有太学,配有负责教育的官员。据此看来,国学在内城,太学在外城,是很清楚的了。我认为现在既然将县治迁移至嵩山鏶水,皇城建在伊水洛河之间,皇宫政府,庵观寺院,都应恢复原来的旧址。至于国学,难道能使位置错乱?探究一下过去的情况,位置应在宫门的左侧。至于太学,原来的基础仍然存在,照旧建筑就行了。

  “另外,孝文帝在太和二十年曾下诏设立四门博士,在京城四门设立学校。我认为,自周朝以上,学校只有两处,或者在东面,或者在西面;或者在城内,或者在城外。到了周朝,学校一般有六处:老师居住内城,太学设在城内,四所较小学校设在郊外。《礼记》上说‘:周人赡养退职的老人在学校里面,学校设在都城的四郊。’《礼记》上还有记载‘:天子设立四学,太子年少就应入学读书。’注释说:‘四学,周代四郊的学校啊。’《大戴》《保傅篇》说:‘天子入东郊的学校读书,懂得亲近百姓要用仁爱;天子入南郊学校读书,懂得上下之间要讲信用;天子入西郊学校读书,懂得选用人才贵在道德;天子入北郊学校读书,懂得笼络贵族要用官爵;天子入太学读书,向老师请教治国之道。’周代的五所学校,在这里已经十分清楚。据郑玄注释的《学记》上说,周代则有六所学校,郑玄的注释说:‘宫内备有老师,使皇族和公卿士大夫的子弟求学;外面则设有太学,安排有管理学校的官员。’这就是证明。汉、魏以来,不再在四郊设立学校。谨根据前代的规矩,将学校设立在都城的四门。依照王肃的注释说‘:天子在四郊设立学校,距都城五十里。’郑玄的注释,却不说远近。现在遗留下来的太学的旧址,占地宽广。四郊的学校另有校舍,与太学相距甚远,检查督促起来十分不便。考虑太学和四门设立的学校,仍过于空旷,以我的愚见,合并在一起也没有妨碍。况且现在的典章制度,大多遵循古代各朝,不知道四学的设置应不应该完全遵循古代?希望能召集负责儒学和礼仪的官员讨论一下它们所应该在的位置。”

  他出任青州刺史,为政懦弱迂缓,不能禁止奸淫偷盗;然而,却清廉寡欲,不屈服于公私势力的压力。回到朝廷,讨论制定法律制度,刘芳参酌古今情况,成为制定律令的骨干。其中很多条款的增删,大多是刘芳的意见。宣武帝因为朝廷礼仪中缺漏很多,这一切制度也都委托刘芳去修正。所以,朝廷中的婚丧嫁娶一类的大事,都向刘芳咨询访问。

  转为太常卿。刘芳因为设置的皇帝迎接节气的五处郊社与日月的位置,距离都城的里数,与《礼经》记载不同;另外,对主稼穑的灵星和建立政权,制定了典章制度的周公的祭祀,不应该放在太常寺。便上奏说:

  “我听说国家大事,莫过于在郊外祭祀天地,在郊外祭祀的根本,其实在于审定位置。我没读完所有的经书,不能博通今古,难道能向您推荐无知妄说,任意陈奏个人的偏见?我私下认为,设置的坛祠,位置的远近,据典章制度考察,或许未必恰当,既然是我的职责所在,请允许我陈说自己肤浅的见解。

  “《孟春令》上说:‘这个数字是八。’又说‘:迎春在东郊举行。’卢植说‘:东郊是距城八里的郊外啊。’贾逵说:‘东郊,祭祀木帝太昊,距城八里。’许慎说:‘东郊,是距城八里的郊外啊。’郑玄《〈孟春令〉注》中说‘:天子坐在明堂内。’《礼经》上说‘:天子出城十五里去迎接新年。这大概是殷商时的礼节。周代的礼节,近郊共有五十里。’郑玄在其他注释中说:‘东郊距都城八里。’高诱说:‘在东方迎接春神的到来,是在离城八里的郊外。’王肃说‘:东郊距城八里,是凭借木的运数。’这都是说迎春郊祭在城外八里的明确证据。《孟夏令》上说:‘这个数字是七。’又说‘:在南郊迎接夏神的到来。’卢植说:‘南郊,是距城七里的郊外。’贾逵说‘:南郊,由火帝主宰,距城七里。’许慎说‘:南郊,是指距城七里之外的地方。’郑玄说‘:南郊距都城七里。’高诱说‘:南郊社,是距都城七里的郊外。’王肃说:‘南郊距都城七里,是凭借火的数运。’这又是南郊的距城七里的确凿证据。《中央令》中‘这个数字是五。’卢植解释说:‘中郊,是距城五里的郊外。’贾逵说‘:中间的祭坛是祭祀黄帝位置,加上南郊,所以说祭祀五帝在四处郊外进行。’郑玄解释说‘:中郊,在于城西南的未地,距都城五里。’这又是中郊的距都城五里的证据。《孟秋令》上说‘:这个数字是九。’又说‘:迎接秋神在西郊。’卢植解释说‘:西郊,在距城九里的郊外。’贾逵说:‘西郊,是祭祀金帝少昊,距都城九里。’许慎说:‘西郊,在距离都城九里的郊外。’郑玄说‘:西郊距都城九里。’高诱说‘:西郊,是距都城九里的郊外。’王肃说‘:西郊距都城九里,是凭借金的运数。’这些又都是说西郊距都城九里的真实证据。《孟冬令》上说:‘这个数字是六。’又说:‘迎冬神在北郊进行。’卢植解释说:‘北郊,是在距都城六里的郊外。’贾逵说:‘北郊,专门祭祀水帝颛顼,距都城六里。’许慎说:‘北郊,在距都城六里的郊外。’郑玄说:‘北郊距都城六里。’高诱说:‘北郊,是距都城六里的郊外。’王肃说:‘北郊距城六里,是凭借水的运数。’这些都是北郊距都城六里的真实证据。宋氏的《〈含文嘉〉注》说:‘《周礼》规定,王畿内千里之地分成二十份,其中一份的数字就是近郊。近郊距都城五十里,多一倍就为远郊。迎接天子的瑞气都在近郊。汉代不设王畿,则以它的方位数为郊祭的位置。所以,东郊距城八里,南郊距城七里,西郊距城九里,北郊距城六里,中郊在城西南的未地五里。’《祭祀志》上说‘:建武二年(26)正月,开始在洛阳城南七里设郊坛祭祀。参照西汉孝平帝元始年间的旧例,北郊坛设在洛阳城北四里的地方。’这又是汉代南、北祭位置的确凿证据。现在地址一定在这些地方。至于郊祭距城三十里的说法,既与郑玄援引的商、周两代郊祭位置的依据相违背,又与汉、魏两代成例相抵触。凡是都城以外的地方都叫郊区。现在计算四郊的范围各以四座城门的位置为起点,里程依据以上所说。

  “《礼经》上说,朝拜太阳和月亮都在东门和西门外。现在祭日坛和祭月坛的位置,距都城的东部和西部,各有三十里路,我认为这未必实在。《礼经》又说:‘祭太阳在坛上,祭月亮在坑穴内。’现在,营造一如过去。《礼仪志》上说:‘建造高..祠在城市的南面。’不说具体的里数,所以,今天仍按过去的规定。

  “祭祀主稼穑的灵星本来不是礼仪规定的事,从汉初开始,专门有祈田的活动,都由郡县进行。《郊祀志》上说:‘汉高祖五年,颁布诏书,书于史册,让天下建立灵星祠,祭品用牛、羊、猪,县和邑的令和长亲自到祠堂祭祀。’《晋祠令》上说‘:郡、县、国三级建社稷祠和先农祠,县一级再建灵星祠。’这些都是灵星祠建立在全国所有县的确凿证据。祭祀周公的庙宇所以特别在洛阳的原因,是因为他建成了洛邑城,所以在洛阳城世代不断受到隆重的祀典,人们借此表彰他的功勋。伯夷和叔齐的庙宇,世世代代成为洛阳城内的神祠。现在一起移至太常寺,恐怕违背了原来建祠的本意。天下这类事情很多,都应当命各郡县修理,好让众人祈祷求福。我私下认为太常寺所负责的郊坛庙宇自然有一定的规定,不宜随意掺杂个人意见。如果轻率地妄加营造,则不免会祠宇太多、祭礼过滥。周公祠和伯夷叔齐祠究竟设在太常寺,还是设在洛阳城内,最关联国家一体的大事,然而贵在考察它们的根本。

  “我以庸陋低下的才能,错误地占有现在的职位,检括考证了过去的典章制度,广泛地采纳了大家的意见,既然没有异端邪说,认为勉强可以作为实行的依据。现在正值隆冬,公务较少,田野罄尽,农夫闲暇,迁移郊外祭坛,较为方便。”

  朝廷下诏说“:所上奏议都有明确的依据,但是,前朝设置已经很久,可仍按旧制。”

  原先孝文帝在代都命中书监高闾、太常少卿陆王秀以及公孙崇等十多人修理钟磐和金、石、丝、竹等一类的乐器。后来,公孙崇任太乐令,便上书请求让尚书仆射高肇和他共同管理这件事。宣武帝下诏让刘芳和他们共同主理。刘芳上表说,礼乐事关国家大事,不能擅行决断。如果不是博采公卿大臣的意见,广泛征集高才博学的读书人的建议,讨论其中的得与失,明辨是与非,就无法写进典籍,成为不朽的范式。建议被朝廷采纳,数旬之间,朝臣多次议论。当时公卿大臣都认为公孙崇专门负责礼乐已经很久,不应该有谬误,所以都一言不发。刘芳便引经据典,搜求过去的文献,与公孙崇互相质疑问难,持论都有确凿证据,认为长短优劣,各有差别,不符合范例。公孙崇虽然应酬解答,但不能很好地理解,所以,自己不能明白。尚书将事情奏给宣武帝,便下诏委任刘芳另外考证制度。于是,学者们全都向他归服膜拜。

  刘芳因祭祀土地和谷物的祠庙内没有种树,又上疏说:

  “按照《合朔仪》的注释:太阳如有变化,就用红色丝线结成绳子,在神社中的树上缠绕三圈。而现在神社内没有种树。另外,《周礼》中说大司徒的职责是:建造社稷内祭坛四周的矮墙,并立上田祖的神位,各用神社内种植的树木去做。郑玄解释说:‘做神位合适的树木,比如松、柏、栗一类。’这便是一个证明。再据《小司徒》《封人》篇谈封人的职责说‘:负责掌管设立君主祭坛四周的围墙,并装上门、栽上树。’郑玄注释说:‘这里不谈祭谷神的稷的原因,是因为天子在社内主持对土地神的祭祀,祭谷神的稷,是祭土地神社的分支。’这又是一个证明。另外,《论语》上说:‘哀公向宰我询问有关土地神的事,宰我回答说:‘夏后氏在社内种植松树,殷商时的人种植柏树,周代的人种植栗树。’这是根据土地情况确定的,因而,又是第三个证明。再则,《白武通》上说:‘社和稷内之所以要种植树木,为什么呢?是为了尊奉它,让人能看见它,使人一看就尊敬它,又能表彰土地神和谷神的功勋。’根据这种说法只可以解释在社与稷内种树的,却不谈种树与不种树,这是第四个证明。这里说的‘社、稷中为何有树’,然而,祭祀谷神的祠宇中有树是很明白的事。另外,《五经通义》上说:‘天子的太社、王社,诸侯的国社、侯社,其中的规定如何?’回答说‘:都只有围墙而无房屋,中间栽上树木。有树木的原因,是说土上能生长万物,万物没有超出树木的,所以种植树木啊。’这是第五个证明。这些告诫足可以解释社稷中种树的原因。此外,《五经要义》还说‘:祭祀土地神的社中一定栽种树木。’《周礼》中《司徒》篇解释司徒的职责说:‘将树分发给各社栽种,各在那里的土地上生长。’《尚书》《逸篇》说‘:太社内只种松树,东社内只种柏树,南社内只种梓树,西社内只种栗树,北社内只种槐树。’这是第六个证明。”这又是太社以及四方的社中种树有区别的证明。再看各家画的《礼图》,社稷图中都画有树,惟有诫社和诫稷中没有树,这又是第七个证明。

  “虽然辨清了社稷中有树木的依据,但是,还没有弄清楚栽种的是什么树木。据《论语》中说:‘夏后氏种的松树,殷人种的柏树,周人种的栗树。’可见各代都不相同。而《尚书》《逸篇》中却说‘:太社内种的只有松树。’这样看来,同一朝内建立的社也各不相同啊。我认为应该栽种松树,为什么这样说?《逸书》上说:‘太社内只种植松树。’现在种植松树,不考虑会违背成礼。惟有祭祀谷神的稷中种什么树找不到现成的依据。稷是社的分支,大概也不能离开松树吧。”

  宣武帝听从了刘芳的意见。

  刘芳沉毅静雅,端方正直,节操高洁,对于经典及阐释经典的著作大部分都很精通,孝文帝对他尤为器重,动辄向他询问。太子元恂住在东宫,孝文帝想为他聘纳刘芳的女儿,刘芳以女儿的年龄相貌都不相宜而拒绝,孝文帝叹服他的谦虚谨慎。孝文帝让刘芳举荐他们宗室的女儿,刘芳举荐他的同族兄弟之子刘长文的女儿,孝文帝为元恂聘定了她,与郑懿的女儿为左右两位王妃。

  崔光与刘芳有中表亲戚的关系,每遇到事情都向刘芳征询请教。刘芳编撰郑玄所注释的《周官·礼仪音》、干宝所注的《周官音》、王肃所注的《尚书音》、何休所注的《公羊音》、范宁所注的《谷梁音》、韦昭所注的《国语音》、范晔的《后汉书音》各一卷,《辩类》三卷,《徐州人地录》二十卷,《急就篇续注音义证》三卷,《毛诗笺音义证》十卷,《礼记义证》十卷,《周官仪、礼义证》各五卷。崔光上表请求将中书监的职务让给刘芳,宣武帝不允许。

  去世后,赠为镇东将军、徐州刺史,谥号文贞侯。