# 卷二十八律历八

类型：古籍章节
书名：《宋史》
作者：脱脱等
时代：元
类别：纪传体断代史 · 白话译文
卷目：志
章节：卷二十八律历八

## 本章概览

《宋史·律历八》记载了明天历的完整历法体系，首先详述晷漏推算方法，通过二至极限、消息常数等参数，精确计算每日正午晷影、黄道去极度、昼夜刻分及更点中星，并推广至九服地区。月离推算部分，引入转度母、迟疾差等概念，描述月亮运行在九道上的位置变化，结合日躔盈缩，确定定朔、弦、望的精确时刻与月行宿度。交会术则系统论述日食、月食的预测方法，包括食甚时刻、食分大小、亏初复满时刻与方位、带食出入等，体现了对日月交食机制的深刻理解。五星步法给出木、火、土、金、水五颗行星的终率、见伏常度，以及盈缩定差、留退差的计算方法，用以推算行星的合、见、伏、留、退等运动状态。末尾刘琮评论历代历法优劣，强调检验的重要性。整卷内容展现了宋代天文学家在历法计算上的高度成就，其算法精密，理论完整，是中国古代历法史上的重要文献。

介绍明天历的晷漏、月离、交会、五星推算方法及刘琮对历代历法的评论。

本章详细阐述明天历中晷影、月行、交食、五星运动的计算方法，并附刘琮对历代历法的评论。

## 正文

明天历

晷漏推算方法

二至极限：一百八十一天六十二分。

一象度：九十一度三十一分。

消息常数：一万零六百八十九。

辰法：三千二百五十。

刻法：三百九十。

半辰法：一千六百二十五。

昏明刻分：九百七十五。

昏明：二刻一百九十五分。

冬至岳台晷影常数：一丈二尺八寸五分。

夏至岳台晷影常数：一尺五寸七分。

冬至后初限、夏至后末限：四十五天六十二分。

夏至后初限、冬至后末限：一百三十七天。

求岳台晷影进入二至后的日数：计入二至后的日数，用二至约余减去它，再加半日之分，即为进入二至后日正午积累数及分。

求岳台晷影日正午定数：放置所求日正午积累数，如果在初限以下则为在初；如果已超过，则用二至极限减去它，余数为在末。如果在冬至后初限、夏至后末限，用进入限的日数减去一千九百三十七半，为泛差；再用进入限的日分乘其日的盈缩积，（盈缩积在日度术中。）乘以五除以一百，用减泛差，为定差；然后用进入限的日分自乘，再乘定差，满一百万为一尺，不满为寸、为分及小分，用减冬至常晷，余数为其日正午晷影定数。如果所求在冬至后末限、夏至后初限，则将进入限的日分除以三，减四百八十五少，余数为泛差；再用盈缩差减极数，余数如果在春分后、秋分前，直接除以四，加泛差，为定差；如果在春分前、秋分后，用距离二分日数及分乘之，满六百除以一，用减泛差，余数为定差；然后用进入限的日分自乘，再乘定差，满一百万为一尺，不满为寸、为分及小分，用加夏至常晷，即为其日正午晷影定数。

求每日消息定数：放置所求日中日度分，如果在二至极限以下则为在息；如果以上则去掉它，余数为在消。再看入消息度加一象以下为在初；如果以上，则用二至极限减去它，余数为在末。其初、末度自乘，用一万乘再折半，满消息常数除之，为常数。然后复制一份，用减一千九百五十，余数乘其复制，满八千六百五十除之，所得加常数，为所求消息定数。

求每日黄道去极度及赤道内外度：放置其日消息定数，乘以四，满三百二十五除之为度，不满则退除为分，所得，在春分后加六十七度三十一分，在秋分后减一百一十五度三十一分，即为所求日黄道去极度及分。用黄道去极度与一象度相减，余数为赤道内、外度。如果去极度少，为日在赤道内；如果去极度多，为日在赤道外。

求每日晨昏分及日出入分：以其日消息定数，春分后加六千八百二十五，秋分后减一万零七百二十五，余数为所求日晨分；用减元法，余数为昏分。用昏明分加晨分，为日出分；减昏分，为日入分。

求每日距中距子度及每更差度：放置其日晨分，乘以七百，满七万四千七百四十二除为度，不满则退除为分，命名为距子度；用减半周天，余数为距中度。（如果倍距子度，除以五，即为每更差度及分。如果按司辰星漏历，则倍距子度，减去待旦三十六度五十二分半，余数除以五，即每更差度。）

求每日夜半定漏：放置其日晨分，用刻法除之为刻，不满为分，即所求日夜半定漏。

求每日昼夜刻及日出入辰刻：倍夜半定漏，加五刻，为夜刻。用减一百刻，余数为昼刻。用昏明刻加夜半定漏，满辰数除之为辰数，不满，刻法除之为刻，又不满，为刻分。从子正开始命名辰数，算外，即日出辰刻；用昼刻加它，同样命名，即日入辰刻。（如果用半辰刻加它，则从辰初开始命名。）

求更点辰刻：倍夜半定漏，除以二十五，为点差刻；乘以五，为更差刻。用昏明刻加日入辰刻，即甲夜辰刻；用更点差刻依次加它，满辰刻及分去掉，分别得更点所入辰刻及分。（如果按司辰星漏历，则倍夜半定漏，减去待旦一十刻，余数按方法求之，即同内中更点。）

求昏晓及五更中星：放置距中度，用其日昏后夜半赤道日度加并命名，即其日昏中星所格宿次，昏中星便为初更中星；用每更差度加并命名，即乙夜所格中星；依次累加，得逐更中星所格宿次。又倍距子度，加昏中星并命名，即晓中星所格宿次。（如果按司辰星漏历中星，则倍距子度，减去待旦十刻之度三十六度五十二分半，余数约分为五更，即同内中更点中星。）

求九服距差日：各在所在立表候测，如果地在岳台北，测冬至后与岳台冬至晷影相同者，累冬至后至其日，为距差日；如果地在岳台南，测夏至后与岳台晷影相同者，累夏至后至其日，为距差日。

求九服晷影：如果地在岳台北冬至前后，用冬至前后日数减距差日，为余日；用余日减一千九百三十七半，为泛差；按前法求之，用加岳台冬至晷影常数，为其地其日中晷常数。如果冬至前后日数多于距差日，则减去距差日，余数按前法求之，即得其地其日中晷常数。如果地在岳台南夏至前后，用夏至前后日数减距差日，为余日；然后除以三，减四百八十五少，为泛差；按前法求之，用减岳台夏至晷影常数，即其地其日中晷常数。如果夏至前后日数多于距差日，则减岳台夏至常晷，余数即晷在表南。如果夏至前后日多于距差日，则减去距差日，余数按前法求之，各得其地其日中晷常数。（如果求定数，按立成以求正午晷影定数。）

求九服所在昼夜漏刻：冬、夏二至各在所在下水漏，以确定其地二至夜刻，然后相减，余数为冬、夏至差刻。放置岳台其日消息定数，用其地二至差刻乘之，如岳台二至差刻二十除以一，所得，为其地其日消息定数。然后倍消息定数，满刻法约之为刻，不满为分，然后加减其地二至夜刻，（秋分后、春分前，减冬至夜刻；春分后、秋分前，加夏至夜刻。）为其地其日夜刻；用减一百刻，余数为昼刻。（其日出入辰刻及距中度五更中星，均按前法求之。）

月离推算方法

转度母：八千一百一十二万。

转终分：二百九十八亿八千二百二十四万二千二百五十一。

朔差：二十一亿四千二百八十八万七千。

朔差：二十六度。（余三千三百七十六万七千，约余四千一百六十二半。）

转法：一十亿八千四百四十七万三千。

会周：三百二十亿二千五百一十二万九千二百五十一。

转终：三百六十八度。（余三十八万二千二百五十一，约余三千七百零八。）

转终：二十七天。（余六亿一百四十七万一千二百五十一，约余五千五百四十六。）

中度：一百八十四度。（余一千五百零四万一千一百二十五半，约余一千八百五十四。）

象度：九十二度。（余七百五十二万零五百六十二太，约分九百二十七。）

月平行：十三度。（余二千九百九十一万三千，约分三千六百八十七半。）

望差：一百九十七度。（余三千一百九十二万四千六百二十五半，约分三千九百三十四。）

弦差：九十八度。（余五千六百五十二万二千三百一十二太，约分六千九百六十七。）

日衰：一十八、小分九。

求月行入转度：用朔差乘所求积月，满转终分去掉，不尽为转余。满转度母除为度，不满为余，（其余如果用一万乘，满转度母除，即得约分；如果用转法除转余，即为入转日及余。）即得所求月加时入转度及余。（如果用弦度及余依次加，即得上弦、望、下弦及后朔加时入转度及分；其度如果满转终度及余去掉。）其入转度如果在中度以下为月行在疾历；如果在中度以上，则减去中度及余，为月入迟历。

求月行迟疾差度及定差：放置所求月行入迟速度，如果在象度以下为在初。以上，则减去中度，余数为在末。（其度余用约分百为母。）放置初、末度于上，列出二百零一度九分于下，以上减下，余数以下乘上，为积数；满一千九百七十六除为度，不满则退除为分，命名为迟疾差度。（在疾为减，在迟为加。）用一万乘积数，满六千七百七十三半除，为迟疾定差。（疾加、迟减，如果用立成，则用其度下损益率乘度余，满转度母除以一，所得，随其损益，即得迟疾及定差。其迟疾、初末损益分为二日者，各加其初、末以乘除。）

求朔弦望所直度下月行定分：放置迟疾所入初、末度分，进一位，满七百三十九除，用减一百二十七，余数为衰差。然后用衰差疾初迟末减、迟初疾末加，均加减平行度分，为其度所直月行定分。（其度以百命为分。）

求朔弦望定日：各用日躔盈缩、月行迟疾定差加减经朔、弦、望小余，满或不足，进退大余，从甲子开始命名，算外，各得定日日辰及余。如果定朔干名与后朔干名相同则月大，不同则月小，月内无中气则为闰月。（凡注历，观察定朔小余，秋分后四分之三以上者，进一日；如果春分后，其定朔晨分差如春分之日者，除以三，减四分之三；如果定朔小余及此数以上者，进一日；朔或当交有食，初亏在日入以前者，其朔不进。弦、望定小余不满日出分者，退一日；其望或当交有食，初亏在日出以前，其定望小余虽满日出分者，也退之。又月行九道迟疾，历有三大二小；日行盈缩累增损之，则有四大三小，理数如此。如果循其常，则当观察加时早晚，随其所近而进退之，使月之大小不过连三。旧说，正月朔有交，必须消息前后一两月，移食在晦、二之日。且日食当朔，月食当望，是自然之理。夫日之食，是天垂示告诫，警悟时政，如果道化得中，则变咎为祥。国家务以至公理天下，不可私移晦朔，宜顺天诫。故《春秋传》书日食，乃纠正其朔，不可专移食于晦、二。其正月朔有交，一从近典，不可移避。）

计算定朔、弦、望时的加时日度：将朔、弦、望的中日及约分，用太阳运行盈缩的度数及分数进行盈加缩减，再用元法退除求得迟疾定差，疾加迟减，所得结果即为该朔、弦、望的加时定日。将天正冬至时的加时黄道日度加上并命名，就是所求朔、弦、望的加时定日所在宿次。（朔、望如果有交会，则依照后面的方法计算。）

计算月亮运行的九道：凡是朔日交会，冬天在阴历，夏天在阳历，月亮运行在青道。（冬至、夏至之后，青道的一半交会在春分之宿，位于黄道东方。立夏、立冬之后，青道的一半交会在立春之宿，位于黄道东南；到其所对应的宿位也是如此。）冬天在阳历，夏天在阴历，月亮运行在白道。（冬至、夏至之后，白道的一半交会在秋分之宿，位于黄道西方；立冬、立夏之后，白道的一半交会在立秋之宿，位于黄道西北；到其所对应的宿位也是如此。）春天在阳历，秋天在阴历，月亮运行在朱道。（春分、秋分之后，朱道交会在夏至之宿，位于黄道南方；立春、立秋之后，朱道的一半交会在立夏之宿，位于黄道西南；到其所对应的宿位也是如此。）春天在阴历，秋天在阳历，月亮运行在黑道。（春分、秋分之后，黑道的一半交会在冬至之宿，位于黄道正北。立春、立秋之后，黑道的一半交会在立冬之宿，位于黄道东北；到其所对应的宿位也是如此。）四季分为八节，阴阳交会之处，都与黄道相合，所以月亮运行有九道。分别看月亮所进入的正交积度（看正交九道宿度所进入的节候，就是其道、其节的起始点），满一个象度及分数就减去余数（入交积度及象度都在交会术中）。如果在一半象度以下，则属于初限。如果以上，则减去象度及分数，属于末限。用减去的度数减去一百一十一度三十七分，剩下的数用所进入的初、末限度及分数相乘，退一位，再除以二，满一百为一度，不满为分，所得结果就是月亮运行与黄道的差数。在距离半交之后、正交之前，用差数减去；在距离正交之后、半交之前，用差数加上。（这种加减出入六度，只是与黄道比较的数值，如果与赤道比较，则数值会随情况变化而不固定。）计算到二至以来的度数，乘以黄道上的差数，除以九十，得到月亮运行与黄道的差数。凡是太阳以赤道内为阴，赤道外为阳；月亮以黄道内为阴，黄道外为阳。所以月亮运行的宿度，如果进入春分交会后运行在阴历，秋分交会后运行在阳历，都属于同名；如果进入春分交会后运行在阳历，秋分交会后运行在阴历，都属于异名。在同名的情况下，差数应加的则加，应减的则减；在异名的情况下，差数应加的则减，应减的则加。都将加减应用于黄道宿积度，得到九道宿积度；用前一宿的九道宿积度减去本宿的九道宿积度，余数就是本宿的九道宿度及分数。（其分数就近取约为太、半、少三数。）

计算月亮运行九道的入交度：将本朔的加时定日度，减去本朔的交初度及分数，余数就是本朔加时月亮入交度及余数（余数用一万相乘，再用元法退除，得到约余）。用天正冬至时的加时黄道日度加上并命名，就是正交时月亮所在黄道宿度。

计算正交加时月亮在九道的宿度：将正交度及分数从一百一十一度三十七分中减去，余数用正交度及分数相乘，退一位，再除以二，满一百为一度，不满为分，所得结果称为定差。用定差加上黄道宿度，计算到冬至、夏至以来的度数，乘以定差，除以九十，所得结果按照同异名进行加减，如果不满或有余，则调整度数，按前述方法命名，就是正交加时月亮在九道的宿度及分数。

计算定朔、弦、望加时月亮所在宿度：分别将当日的加时日躔位置，转换为九道位置，依次相加。凡是合朔加时，月亮运行在太阳下方，与太阳同度，这就是加时月亮所在的宿次。（先设置朔、弦、望加时的黄道宿度，减去正交加时的黄道宿度，余数加上正交加时的九道宿度，从正交宿次开始算起，算外，就是朔、弦、望加时所对应的九道宿度。如果合朔加时不是正对近点，那么太阳在黄道、月亮在九道各自进入宿度，虽然多少不同，但考察其离极点的距离，如同符合准绳。所以说月亮运行在太阳下方，与太阳同度。）分别用弦、望的度数及分数加上其所对应的九道宿度，满一个宿次就减去，各自得到加时九道月亮所在的宿次。

计算定朔夜半入转：用所求经朔的小余减去本朔加时入转日的余数（经朔的小余，用二万七千八百七相乘，就是转法的分母），得到经朔夜半入转。如果定朔的大余有进退，也要相应地进退转日，没有进退则保持经朔为定值（其余数用转法退收，得到约分）。

计算下月定朔夜半入转：根据定朔夜半入转，大月加二日，小月加一日，余数及分数都加四千四百五十四，满转终日及约分就减去，得到下月定朔夜半入转；逐日加一，按前述方法去掉满数，各自得到每日夜半入转日及分数。

计算定朔、弦、望夜半月度：分别设置加时小余（如果不是朔、望有交会的情况，则用定朔、弦、望的小余），用该日月行定分相乘，满元法得到一度，不满则退除为分，称为加时度。用加时度减去该日加时月度，就各自得到所求的夜半月度。

计算晨昏月：用晨分乘以该日月行定分，除以元法，得到晨度；用月行定分减去晨度，余数为昏度。分别用晨昏度加上夜半月度，就得到所求的晨昏月所在宿度。

计算朔、弦、望的晨昏定程：分别用本朔的昏定月减去上弦的昏定月，余数为朔后昏定程；用上弦的昏定月减去望的昏定月，余数为上弦后昏定程；用望的晨定月减去下弦的晨定月，余数为望后晨定程；用下弦的晨定月减去次朔的晨定月，余数为下弦后晨定程。

计算转积度：计算四七日的月行定分，用日衰加减，得到逐日的月行定程；然后从所入日计算求得定值，就是该程的转积度分（四七日的月行定分，最初每日迟缓一千二百一十，第七日逐渐加速一千三百四十一，第十四日减速一千四百六十一，第二十一日逐渐减慢一千三百二十八，观察其迟疾的极差进行增减，以一百为分母）。

计算每日晨昏月：用转积度与晨昏定程相减，余数用距离后程的天数除，得到日差（定程多则为加，定程少则为减）。用日差加减每日月行定分，得到每日转定度及分。用每日转定度及分加上朔、弦、望的晨昏月，满九道宿次就减去，得到每日晨、昏月亮所在宿度及分（凡是注历，朔后注昏，望后注晨）。前面的月度，都依据九道推算，以穷尽算术的精微。如果注历需要快速简便的方法，则依照后面的方法来推算黄道月度。

计算天正十一月定朔夜半平行月：用天正经朔小余乘以平行度分，除以元法得到度，不满则退除为分秒，所得结果为经朔加时度。用经朔加时度减去该朔中日，就是经朔晨前夜半平行月积度（如果定朔有进退，用平行度分加减）。得到天正十一月定朔之日晨前夜半平行月积度及分。

计算下月定朔之日夜半平行月：设置天正定朔之日夜半平行月，大月加三十五度八十分六十一秒，小月加二十二度四十三分七十三秒半，满周天度分就减去，得到每月定朔之晨前夜半平行月积度及分秒。

计算定弦、望夜半平行月：计算弦、望距离定朔的天数，乘以平行度及分秒，加上该定朔夜半平行月积度及分秒，得到定弦、望之日夜半平行月积度及分秒（也可以直接求朔望，不再求度，从简）。

计算天正定朔夜半入转度：设置天正经朔小余，用平行月度及分相乘，满元法除为度，不满则退除为分秒，称为加时度；用加时度减去天正十一月经朔加时入转度及约分，余数为天正十一月经朔夜半入转度及分。如果定朔大余有进退，也要相应进退平行度分，得到天正十一月定朔之日晨前夜半入转度及分秒。

计算下月定朔及弦、望夜半入转度：根据天正十一月定朔夜半入转度分，大月加三十二度六十九分一十七秒，小月加十九度三十二分二十九秒半，各自得到下月定朔夜半入转度及分。分别用朔、弦、望相距的天数乘以平行度分并相加，满转终度及秒就减去，如果在中度以下则为疾；如果以上则减去，余数为入迟历，各自得到下次朔、弦、望定日晨前夜半入转度及分（如果用平行月度及分收之，则得到定朔、弦、望入转日）。

计算定朔、弦、望夜半定月：用定朔、弦、望夜半入转度分乘以该度下的损益衰，除以一万得约分，除以一百得约秒，然后加减该度下的迟疾度，得到迟疾定度。然后用迟加、疾减的方式调整夜半平行月，得到朔、弦、望夜半定月积度。用冬至加时黄道日度加上并命名，得到定朔、弦、望夜半月离所在宿次（如果有求晨昏月，用该日晨昏分乘以该日月行定分，除以元法，得到晨昏度；加上该夜半定月，得到朔、弦、望晨昏月度）。

计算朔、弦、望定程：分别用朔、弦、望的定月相减，余数为定程（如果求晨昏定程，则用晨昏定月相减，朔后用昏，望后用晨）。

计算朔、弦、望转积度分：计算四七日的月行定分，用日衰加减，得到逐日月行定分；然后从所入日计算，得到该程的转积度分（四七日的月行定分，最初每日迟缓一千二百一十，第七日逐渐加速一千三百四十一，第十四日减速一千四百六十一，第二十一日逐渐减慢一千三百二十八，观察其迟疾的极差进行增减，分以一百为母）。

计算每日月亮离宿次：分别用该朔、弦、望的定程与转积度相减，余数为程差。用距离后程的天数除，得到日差（定程多为益差，定程少为损差）。用日差加减月行定分，得到每日月行定分；用每日月行定分累加定朔、弦、望夜半月在宿次，命名，得到每日晨前夜半月离宿次（如果求晨昏宿次，则得到每日晨昏月度）。

交会术

交度母：六百二十四万。

周天分：二十二亿七千九百二十万四百四十七。

朔差：九百九十万一千一百五十九。

朔差：一度、余三百六十六万一千一百五十九。

望差：空度、余四百九十五万五百七十九半。

半周天：一百八十二度。（余三百九十二万二百二十三半，约分六千二百八十二。）

日食限：一千四百六十四。

月食限：一千三百三十八。

盈初限缩末限：六十度八十七分半。

缩初限盈末限：一百二十一度七十五分。

求交初度：设置所求的积月，用朔差相乘，满周天分就减去，不尽的数再减去周天分，满交度母除为度，不满为余，得到所求月的交初度及余；用半周天加上，满周天就减去，余数为交中度及余（如果用望差减去，则得到该月望交初度及余；用朔差减去，则得到次月交初度及余；用交度母退除，得到余分。如果用天正黄道日度加上并命名，则各自得到交初、交中所在宿度及分）。

求算日月食甚的小余和加时辰刻：用朔日或望日的月亮运行迟疾定差（疾加迟减）来调整经朔或经望的小余。如果不够减，就退一个大余，加上元法再减；如果加后满元法，只累计其数。用1337乘以这个结果，除以该度数对应的月行定分，得到月行差数。再用太阳运行盈缩定差（盈加缩减）调整，余数就是朔或望的食甚小余。凡是加减如果满或不足，就进退其日。这里的朔望加时是为了推算月亮运行迟疾的数，如果没有交会，直接用经定小余作为定数。把它放在那里，按照前面发敛加时的方法处理，就得到日食或月食食甚所在的晨刻。看食甚小余，如果小于半法，就用半法减去它，余数是午前分；如果大于等于半法，就减去半法，余数是午后分。

求算朔望加时的日、月度数：用朔或望的加时小余与经朔或经望的小余相减，余数按元法退位收整，用来加减其朔或望的中日及约分（经朔望小余少就加，多就减），得到朔或望加时的中日。然后用所入日的升降分乘以所入日的约分，除以一万，所得结果，随其损益该日下的盈缩积，得到盈缩定度。用盈加缩减加时中日，得到朔或望加时的定日。望日还要再加上半周天，得到加时的定月。用天正冬至加时的黄道日度加上并命名，就得到所求朔或望加时的日月所在宿度及分数。

求算朔望日月加时距交点的度数分数：取朔望日月的加时定度与交初、交中度相减，余数是去交度分（就近者相减，度数乘以100化为分）。加时度数多的为后，少的为前，就得到其朔望去交的前后分。交初后、交中前，是月行外道阳历；交中后、交初前，是月行内道阴历。

求算日食四正食差定数：取该朔加时定日，如果小于半周天，则为在盈；如果大于半周天，则减去半周天，余数为在缩。看它，如果在初限以下，则为在初；如果以上，则减去二至限，余数为在末。取初、末限度及分（盈初限、缩末限者加倍），放在上位，下面列出243度半，以上减下，用余数乘以上数，再乘以106，除以3093，得到东西食差泛数。用这个数减508，余数为南北食差泛数。求南北食差定数时，看午前、后分，如果小于四分法之一，则用四分法之一减它，余数乘泛数；如果大于四分法之一，则去掉它，余数乘泛数，都除以9750，得到南北食差定数。盈初缩末限者（食甚在卯酉以南，内减外加；食甚在卯酉以北，内加外减）。缩初盈末限者（食甚在卯酉以南，内加外减；食甚在卯酉以北，内减外加）。求东西食差定数时，看午前、后分，如果小于四分法之一，则乘泛数；如果以上，则用半法减它，余数乘泛数，都除以9750，得到东西食差定数。盈初缩末限者（食甚在子午以东，内减外加；食甚在子午以西，内加外减）。缩初盈末限者（食甚在子午以东，内加外减；食甚在子午以西，内减外加）。就得到其朔四正食差的加减定数。

求算日月食的去交定分：看其朔的四正食差，加减定数，同名相加，异名相消，余数为食差加减总数。用这个数加减去交分，余数为日食的去交定分。如果去交定分不够减，就反过来减食差总数。如果阳历反减入阴历，则进入食限；如果阴历反减入阳历，则不进入食限。凡是加后超过食限以上的，也不进入食限。望食的情况，直接用望的去交分作为其望月食的去交定分。

求算日月食的分数：日食的情况，看去交定分，如果小于食限的三分之一，则加倍，类似阳历食分。如果以上，则用食限减它，余数为阴历食分。都进一位，除以976得到大分，不满则退位为小分，以十为限，就是日食的大、小分。月食的情况，看去交定分，如果小于食限的三分之一，则食既；如果以上，则用食限减它，余数进一位，除以892得到大分，不满则退位为小分，以十为限，就是月食的大、小分。如果食分不满大分，虽然交会但数浅，可能不见食。

求算日食泛用刻分：将阴、阳历食分放在上面，下面列出1952，以上减下，用余数乘以上数，除以271，得到日食泛用刻分。

求算月食泛用刻分：取去交定分，自乘，交初除以459，交中除以540，所得结果，交初用3900减，交中用3315减，余数为月食泛用刻分。

求算日月食定用刻分：取日月食泛用刻分，乘以1337，除以所对应度下的月行定分，得到日月食定用刻分。

求算日月食亏初和复满的时刻：用定用刻分减食甚小余，得到亏初小余；加食甚，得到复满小余。各除以辰法得到辰数，余数除以刻法得到刻数，不满为分。从子正开始计算辰数，算外，就得到亏初、复末的辰、刻及分。如果加上半辰数，就从时初开始命名。

求算日月食初亏复满的方位：日食在阳历的，初食西南，食甚在正南，复于东南；日在阴历的，初食西北，食甚在正北，复于东北。食分超过八分的，都是初食正西，复于正东。月食的情况，月在阴历，初食东南，食甚在正南，复于西南；月在阳历，初食东北，食甚在正北，复于西北。食分八分以上的，都是初食正东，复于正西。这些都是审视食甚所向，根据午正而论，其余方向要观察斜正，则初亏、复满就可以知道了。

求算月食更点定法：将望日的晨分加倍，除以五，得到更法；再除以五，得到点法。如果按照司辰星注历，同内中更点，则加倍晨分，减去待旦十刻的分，余数除以五得到更法；再除以五得到点法。

求算月食入更点：分别取初亏、食甚、复满的小余，如果小于晨分则加晨分，如果大于昏分则减昏分，余数除以更法得到更数，不满则以点法除之得到点数。更数从初更开始，算外，就得到各所入的更、点。

求算月食既内外刻分：取月食去交分，反减食限的三分之一（不够减则为食不既），余数放在上位；下面列出三分之二，以上减下，用余数乘以上数，除以170，所得结果，乘以定用刻分，除以泛用刻分，得到月食既内刻分；用定用刻分减它，余数为既外刻分。

求算日月带食出入所见分数：看食甚小余，如果小于日出分，则为月见食甚、日不见食甚；用日出分减复满小余；如果食甚小余大于日出分，则为日见食甚、月不见食甚；用初亏小余减日出分，各为带食差。如果月食既，用既内刻分减带食差，余数乘所食分，除以既外刻分，如果不够减，则为带食既出入。再乘以所食之分，除以定用刻分，就得到日带食出、月带食入所见之分。凡是亏初小余大于日出分为在昼，复满小余大于日出分为在夜，不带食出入。如果食甚小余小于日入分，则为日见食甚、月不见食甚；用日入分减复满小余；如果食甚小余大于日入分，则为月见食甚、日不见食甚；用初亏小余减日入分，各为带食差。如果月食既，用既内刻分减带食差，余数乘所差分，除以既外刻分，如果不够减，则为带食既出入。再乘以所食之分，除以定用刻分，就得到日带食入、月带食出所见之分。凡是亏初小余大于日入分为在夜，复满小余小于日入分为在昼，都不带食出入。

五星步法

木星终率：15556504。

终日：398日（余34504，约分8847）。

历差：61750。

见伏常度：14度。

火星终率：30417536。

终日：779日（余36536，约分9368）。

历差：61240。

见伏常度：18度。

土星终率：14745446。

终日：378日（余3446，约分883）。

历差：61350。

见伏常度：18.5度。

金星终率：22772196。

终日：583日（余35196，约分9024）。

见伏常度：11度少。

水星终率：4519184（改9194）。

终日：115日（余34184，约分8765）。

见伏常度：18度。

求算五星天正冬至后各段中积和中星：取气积分，分别用其星终率去除，余数反减终率，余数除以元法得到日数，不满退位为分，就是天正冬至后该星平合的中积。重复列出作为中星，以此为前一段的初，用各段的变日、变度累加或累减，就得到各段的中星（变日加减中积，变度加减中星）。

求算木火土三星入历：用其星历差乘积年，除以周天分，余数除以度母得到度数，不满退位为分，称为差度；用它减该星平合中星，得到平合入历度分；用其星该段历度加上，满周天度分则去掉，得到各星各段入历度分（金、水星附日而行，不求历差。木、火、土三星前变是晨，后变是夕。金、水二星前变是夕，后变是晨）。

求算木火土三星各段盈缩定差：木、土二星，取其星其段入历度分，如果小于半周天则为在盈；如果大于半周天，则减去半周天，余数为在缩。取盈缩度分，如果小于一象则为在初限；如果大于，则反减半周天，余数为在末限。将初、末限度及分放在上面，下面列出半周天，以上减下，用下面乘上面（木进一位，土乘九），都除以100得到分，分满100为度，称为盈缩定差。火星，取盈缩度分，如果小于初限则为在初；如果大于，则反减半周天，余数为在末（以45度65.5分为盈初、缩末限度，以136度96.5分为缩初、盈末限度分）。将初、末限度放在上面（盈初、缩末乘以三），下面列出273度93分，以上减下，用余数乘以上数，再乘12，除以100得到度，不满则除以100得到分，称为盈缩定差。如果用立成法，用其度下损益率乘度下约分，满一百则用它损益其度下盈缩差度，得到盈缩定差；若在留退段，则在盈缩泛差。

计算木星、火星、土星留退差：设置后退、后留的盈缩泛差，分别列出各星在盈缩状态下的极度（木星极度八度三十三分；火星极度二十二度五十一分；土星极度七度五十分）。用上方的极度减去下方的极度，余数乘以下方的极度（水星、土星乘以三，火星乘以二），结果除以一百得到度数，称为留退差。（后退初始阶段取一半，后留阶段全部使用。）这个留退差，在盈时增加或减少，在缩时减少或增加该段的盈缩泛差，得到后退、后留的定差。（因为后迟初段的定差，需要各自与前留的定差比较，观察其盈缩情况，以判断降差。）

计算五星各段的定积：分别设置各星各段的中积，用该段的盈缩定差（盈时加、缩时减）调整，得到该星该段的定积及分数；加上天正冬至的大余和约分，满纪法后去掉，余数从甲子开始计数，算外即得日辰。（五星的合见、伏，即作为推算段的定日；之后求见、伏合的定日，即历注中的日期。）

计算五星各段所在的月日：分别设置各段的定积，加上天正闰日和约分，满朔策及分数后去掉，得到月数；余数为入某月以来的日数及分数。月数从天正十一月开始计数，算外即得该星该段入该月经朔的日数及分数。（若定朔有进退，也相应调整日期，以日辰为准。若用气策和约分去掉定积，从冬至开始计数，算外即得该段入气的日数及分数。）

计算五星各段加时定星：分别设置各星各段的中星，用该段的盈缩定差（盈时加、缩时减）调整，即得五星各段的定星。若用天正冬至加时黄道日度加上并命名，即得该段加时定星所在的宿次。（五星皆以前留作为前退初定星，后留作为后顺初定星。）

计算五星各段初日晨前夜半定星：木星、火星、土星，用其星其段的盈缩定差与该次度下的盈缩定差相减，余数作为该度的损益差；乘以该段初行率，除以一百，所得结果用来加减该段初行率（盈时增加或减少，缩时减少或增加），再乘以一百，作为初行积分；再设置一百分，也按同样数加减，用以除初行积分，得到初日定行分。用该数乘以该段初日约分，除以一百，顺行时减、退行时加该段定星，得到该段初日晨前夜半定星；用天正冬至加时黄道日度加上并命名，即得所求。（金星、水星，直接以初行率作为初日定行分。）

计算太阳盈缩度：分别设置各段的定积，若在二至限以下则在盈；以上则去掉二至限，余数在缩。再观察入盈缩度，若在一象以下则在初；以上则用二至限减去余数，余数在末。设置初、末的限度及分数，按前文日度术计算，即得所求。（若用立成表，直接以其度下的损益分乘度余，除以一百，所得结果损益其度下的盈缩差，也得到所求。）

计算各段日度率：用两段日晨相距作为日率，再用两段夜半定星相减，余数作为该段的度率及分数。

计算各段平行分：分别设置各段的度率及分数，用该段日率除之，得到该段平行分。

计算各段泛差：分别用该段平行分与后段平行分相减，余数为泛差；加上前段泛差，乘以四，退一等，作为该段总差。（五星前留前、后留后的一段，皆用六乘平行分，退一等，作为该段总差；水星为半总差。在退行段时，木、火、土用十二乘其段平行分，退一等，作为该段总差。金星退行时，用其段泛差为总差，后变则反过来用初、末。水星退行时，用其段平行分为总差；若在前后顺第一段，则用次段总差的一半作为其段总差。）

计算各段初末日行分：各取其段总差的一半，加减该段平行分，得到该段初、末日行分。（前变加为初、减为末；后变减为初、加为末。在退行段时，前则减为初、加为末；后则加为初、减为末。若前后段行分多少不匹配，则取平均值；或总差不备大分时，也取平均值：皆需比较前后初、末，不可失去其增减趋势。）

计算各段日差：将该段日率减一，用其除该段总差，得到该段日差。（后行分少则为损，后行分多则为益。）

计算每日晨前夜半星行宿次：设置该段初日行分，用日差逐日增减，得到每日行分。用每日行分逐日加减该段初日晨前夜半宿次，命名，即得每日星行宿次。

直接求某日的宿次：设置所求日，减一，乘以日差，再加减初日行分（后少则减，后多则加），得到所求日行分；然后加上初日行分并取半，乘以所求日数，得到直接求得的积度；再加减该段初日宿次，命名，即得直接求得的该日星宿次。

计算五星定合定日：木星、火星、土星，用其段初日行分减去一百分，余数除以其日太阳盈缩余，得到日数，不足则退除为分，称为距合差日及分。用差日及分减去太阳盈缩分，余数为距合差度。用差日、差度在盈时减、缩时加。金星、水星平合时，用一百分减初日行分，余数除以其日太阳盈缩余，得到日数，不足则退除为分，称为距合差日及分。再减去太阳盈缩分，余数为距合差度。用差日、差度在盈时加、缩时减。金星、水星再合时，用初日行分加一百分，除以其日太阳盈缩分，得到日数，不足则退除为分，称为再合差日；再减去太阳盈缩分，余数为再合差度。用差日、差度在盈时加、缩时减（差度则反其加减）。都用来加减定积，得到再合定日。用天正冬至大余和约分加上并命名，即得定合日辰。

计算五星定见伏：木星、火星、土星，各用其段初日行分减去一百分，余数除以其日太阳盈缩分，得到日数，不足则退除为分，在盈时减、缩时加。金星、水星夕见、晨伏时，用一百分减初日行分，余数除以其日太阳盈缩分，得到日数，不足则退除为分，在盈时加、缩时减。其晨见、夕伏时，用一百分加其段初日行分，除以其日太阳盈缩分，得到日数，不足则退除为分，在盈时减、缩时加。都用来加减其段定积，得到见、伏定日。加上冬至大余和约分，满纪法后去掉，从甲子开始计数，算外即得五星见、伏定日日辰。

刘琮又论述历法说：“古今的历法，必定有技术超过前人，且能成为万世法则的，才算优胜。比如一行作《大衍历》，其议论和略例，校正历代历法，以探求历法的强弱，是历家的纲要，得到了中平之数。刘焯领悟到太阳运行有盈缩的差异（旧历推算太阳每日平行一度，至此才悟出太阳运行有盈缩，冬至前后定日八十八日八十九分，夏至前后定日九十三日七十四分，冬至前后太阳每日运行一度有余，夏至前后每日运行不足一度）。李淳风领悟了定朔的方法，并将气朔、闰余统一于同一算法（旧历定朔平注一大一小，至此用太阳盈缩、月亮迟疾来加减朔余，余数为定朔、望加时，以定大小，不超过三数。从此日食在朔，月食在望，不再有晦、二之差。旧历都需用章岁、章月之数，使闰余有差，李淳风造《麟德历》，将气朔、闰余同归一母）。张子信领悟到月亮运行有交道表里，五星有入气加减（北齐学士张子信因葛荣之乱，隐居海岛三十余年，专门用圆仪观测天道，才悟出月亮运行有交道表里，在表为外道阳历，在里为内道阴历。月亮运行在内道，则日食发生；在外道则无食。若月外之人北户向日之地，则反观有食。又旧历五星皆无盈缩，至此才悟出五星皆有盈缩、加减之数）。宋何承天开始领悟用测景来确定气序（景最长时是冬至，最短时是夏至。他立八尺表，连续测量十余年，才知道旧《景初历》冬至常比天象迟三天。于是造《元嘉历》，冬至加时比旧历退减三天）。晋姜岌开始领悟用月食所冲的宿位，作为太阳所在的位置（太阳所在宿度不知，至此用月食所冲之宿，作为太阳所在宿度）。后汉刘洪作《乾象历》，开始领悟到月亮运行有迟疾之数（旧历月亮每日平行十三度十九分度之七，至此才悟出月亮运行有迟疾之差，最迟则每日十二度强，最疾则每日十四度太，迟疾极差五度有余）。宋祖冲之开始领悟岁差（《书·尧典》说：‘日短星昴，以正仲冬；宵中星虚，以殷仲秋。’至今三千余年，中星位置相差三十余度，因此知道每年有渐差之数，造《大明历》以四十五年九月退差一度）。唐徐升作《宣明历》，领悟到日食有气、刻差数（旧历推算日食皆平求食分，多不吻合，至此推算日食，用气刻差数增减，测定日食分数，稍接近天象验证）。《明天历》领悟到日月会合为朔，所立日法、积年有自然之数，以及立法推求晷景，知道气节加时所在（自《元嘉历》后所立日法，以四十九分之二十六为强率、以十七分之九为弱率，并强弱之数为日法、朔余，以后诸历效仿。殊不知日月会合为朔，并朔余虚分为日法，是自然之理。其气节加时，晋、汉以来约略取用，有半日之差，如今立法推求，得以穷尽数理）。后来的造历者，无不遵用这些方法。其中疏谬严重的，是苗守信的《乾元历》、马重绩的《调元历》、郭绍的《五纪历》。大概没有超越这些的了。然而造历者，都必须会合日月运行，以定晦朔之数，验证《春秋》日食，以明强弱。对于气序，则取验于《左传》的南至。其太阳盈缩、月亮迟疾、五星加减、日月食差、日宿月离、中星晷景、立数立法，都本于前人之说。然后检验，上自夏仲康五年九月‘辰弗集于房’，直到现在，其星辰气朔、日月交食等，使三千年间如同符合准绳。而有前有后、有亲有疏的，即为中平之数，才可以施用于后世。其检验则依一行、孙思恭，取数多而不取数少，以得为亲密。检验日月交食，若一分二刻以下为亲，二分四刻以下为近，三分五刻以上为远。若历注有食而天象无食，或天象有食而历注无食，则为失。检验星度，则以差天二度以下为亲，三度以下为近，四度以上为远；检验晷景尺寸，以二分以下为亲，三分以下为近，四分以上为远。若检验古时而得数多，又接近当代，且立法、立数得理而通于根本的，为最上等。”刘琮自称擅长历法，曾说：“世上懂历法的人很少，近世只有孙思恭精妙。”而孙思恭又曾推举刘羲叟为懂历法之人。

## 关键人物

- **刘琮**：论述历法的作者；评论历法
- **一行**：作《大衍历》者；被引用的历法家
- **刘焯**：领悟太阳运行有盈缩的差异者；被引用的历法家
- **李淳风**：领悟了定朔的方法者；被引用的历法家
- **张子信**：领悟到月亮运行有交道表里，五星有入气加减者；被引用的历法家
- **何承天**：开始领悟用测景来确定气序者；被引用的历法家
- **姜岌**：开始领悟用月食所冲的宿位，作为太阳所在的位置者；被引用的历法家
- **刘洪**：作《乾象历》，开始领悟到月亮运行有迟疾之数者；被引用的历法家
- **祖冲之**：开始领悟岁差者；被引用的历法家
- **孙思恭**：被刘琮推举为精妙历法者；被刘琮提及的历法家

## 时间线

- **本章前段**：介绍明天历的晷漏推算方法
- **本章前段**：介绍月离推算方法
- **本章中段**：介绍交会术
- **本章中段**：介绍五星步法
- **本章后段**：刘琮论述历法，评论历代历法家

## 地点

- **岳台**：晷影常数测量地点
- **九服**：不同地区

## 为什么值得读

《明天历》领悟到日月会合为朔，所立日法、积年有自然之数，以及立法推求晷景，知道气节加时所在，在历法史上有重要地位。

## 标签

- 明天历
- 晷漏
- 月离
- 交会
- 五星
- 黄道
- 赤道
- 九道
- 日食
- 岳台

原始页面：https://shishuguan.com/books/songshi-baihuawen-full/volume-2/chapter-75
