# -*- coding: utf-8 -*-
"""导出：16位数学家人物小传 + 四线剧本大纲 → Word 文档"""
from docx import Document
from docx.shared import Pt, Inches, Cm, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.oxml.ns import qn
import os

doc = Document()

# ── 全局样式 ──
style = doc.styles['Normal']
font = style.font
font.name = '微软雅黑'
font.size = Pt(11)
style.element.rPr.rFonts.set(qn('w:eastAsia'), '微软雅黑')

for level in [1,2,3]:
    hs = doc.styles[f'Heading {level}']
    hs.font.color.rgb = RGBColor(0x1E, 0x29, 0x3B)
    hs.element.rPr.rFonts.set(qn('w:eastAsia'), '微软雅黑')

def h1(text): doc.add_heading(text, level=1)
def h2(text): doc.add_heading(text, level=2)
def h3(text): doc.add_heading(text, level=3)
def p(text, bold=False):
    par = doc.add_paragraph()
    run = par.add_run(text)
    run.bold = bold
    run.font.size = Pt(11)
    run.font.name = '微软雅黑'
    run._element.rPr.rFonts.set(qn('w:eastAsia'), '微软雅黑')
    return par

def bio(name, years, desc):
    h3(f'{name}（{years}）')
    p(desc)

def divider():
    doc.add_paragraph('─' * 40)

# ========================
# 封面
# ========================
doc.add_paragraph()
title = doc.add_paragraph()
title.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = title.add_run('万理之城 · 设定圣经')
run.font.size = Pt(26)
run.bold = True
run.font.color.rgb = RGBColor(0x5B, 0x6A, 0xF0)
run.font.name = '微软雅黑'
run._element.rPr.rFonts.set(qn('w:eastAsia'), '微软雅黑')

sub = doc.add_paragraph()
sub.alignment = WD_ALIGN_PARAGRAPH.CENTER
run2 = sub.add_run('数学脑 · MathBTI 文游剧本\n16 位数学家人物小传 & 四条线剧本大纲\n\n2026.07')
run2.font.size = Pt(13)
run2.font.color.rgb = RGBColor(0x64, 0x74, 0x8B)
run2.font.name = '微软雅黑'
run2._element.rPr.rFonts.set(qn('w:eastAsia'), '微软雅黑')

doc.add_page_break()

# ========================
# 目录
# ========================
h1('目录')
p('第一部分：世界观概述')
p('第二部分：四族谱系总览')
p('第三部分：16 位数学家人物小传')
p('  · 精算师族（祖冲之 / 欧拉 / 高斯 / 诺特）')
p('  · 传播者族（斐波那契 / 华罗庚 / 伽罗瓦 / Ada Lovelace）')
p('  · 应用者族（秦九韶 / 牛顿 / 图灵 / 冯·诺依曼）')
p('  · 直觉者族（希帕提娅 / 赵爽 / 庞加莱 / 凯瑟琳·约翰逊）')
p('第四部分：四条线剧本大纲')
doc.add_page_break()

# ========================
# 第一部分：世界观概述
# ========================
h1('第一部分：世界观概述')
h2('一、核心高概念')
p('每当人类世界有人证明了足够重要的数学真理，TA 就会在一座由真理构筑的城中醒来。而每当人类开始遗忘"人为什么要学数学"，城就开始崩塌。')
p('万理之城 = 数学脑 App 的元世界观。MathBTI 测试 = 召唤仪式。玩家做完测试，分入四条线之一——每条线由四位跨越时代的数学家陪伴，共同面对"裂缝"：AI 时代下"数学已死"的论断，正在吞噬这座城。')

h2('二、世界规则')
p('• 以真理建城：每条被证明的定理在城中对应一栋建筑、一条街或一座桥。勾股定理是广场，微积分是贯穿全城的高架，π 是覆盖全城的星光。')
p('• 以记忆续命：当人类世界持续使用某个定理，它在城中的建筑就屹立不倒；当最后一个人类遗忘某个定理，对应建筑崩塌，居民消散。')
p('• 未证明的猜想是城外迷雾中的荒野——那是城市永远在向外生长的方向。')
p('• 城民以最好的年纪复活，保留生前全部记忆与执念。')

h2('三、裂缝：共同危机')
p('裂缝 = 人间正在蔓延的一句论断："AI 都能做数学了，人还学数学干什么？"每多一个人类相信这句话，万理之城就崩塌一块。裂缝按概念吞噬：先吞"直觉"，再吞"耐心"，再吞"想象"，最后逼近"记忆"。')
p('四位数学家对裂缝的四种回应，就是你对"AI 时代人为什么仍要学数学"的四种论证。')

h2('四、主角设定')
p('你是一名大一新生。高数课听不懂，期中考试挂科，刷到"AI 要取代数学家"的新闻——你开始怀疑：学数学到底有什么用？某天你做了 MathBTI 测试，当晚入睡后，你来到了万理之城。')
p('双线结构：白天是大学现实线（宿舍/教室/图书馆/社团），夜晚是梦境线（万理之城）。现实中你遇到的困境 → 当晚在城中得到映照 → 次日醒来，你改变了现实中的某个选择。')

h2('五、图灵：隐藏层')
p('图灵是万理之城的"地基裂缝"——他1936年证明了"存在不可计算的函数"，这个定理本身就在城的根基里开了一道口子。他不作为个人线主角，而是真相线的核心NPC：四线通关后，玩家发现，裂缝的存在，正是从他证明了"不可计算性"那一刻就注定的。')

doc.add_page_break()

# ========================
# 第二部分：四族谱系
# ========================
h1('第二部分：四族谱系总览')

clans = [
    ('精算师族（信仰者）', '严谨 + 推演 = 为数学而数学', '祖冲之 / 欧拉 / 高斯 / 诺特',
     '"这个定理有用吗？" → 数学本身就是目的，不为名不为利，只为真理本身。', '#4A90D9'),
    ('传播者族（传播者）', '严谨 + 算账 = 把数学讲出去', '斐波那契 / 华罗庚 / 伽罗瓦 / Ada Lovelace',
     '"我讲的没人懂" → 数学是语言，要翻译给不懂数学的世界。', '#D4A574'),
    ('应用者族（应用者）', '直觉 + 算账 = 用数学改变世界', '秦九韶 / 牛顿 / 图灵 / 冯·诺依曼',
     '"我可以用数学做恶吗？" → 数学是力量，选择怎么用是你的责任。', '#3A6B8C'),
    ('直觉者族（直觉者）', '直觉 + 推演 = 看见别人看不见的东西', '希帕提娅 / 赵爽 / 庞加莱 / 凯瑟琳·约翰逊',
     '"你怎么证明直觉是对的？" → 直觉不是天赋，是看了很多之后自然长出来的。', '#7C5CBF'),
]

for name, formula, members, theme, color in clans:
    h2(name)
    p(f'气质公式：{formula}', bold=True)
    p(f'成员：{members}')
    p(f'核心困境：{theme}')

p('')
p('国籍分布：中国 5 人（祖冲之、华罗庚、秦九韶、赵爽、凯瑟琳为华裔？——更正：凯瑟琳为美国非裔），外国 11 人。')
p('时代跨度：公元 3 世纪（赵爽）至 2020 年（凯瑟琳），约 1700 年。')
p('性别分布：诺特、Ada Lovelace、希帕提娅、凯瑟琳·约翰逊 4 位女性，占 25%。')

doc.add_page_break()

# ========================
# 第三部分：16位小传
# ========================
h1('第三部分：16 位数学家人物小传')

# ── 精算师族 ──
h2('一、精算师族（严谨 + 推演）——"数学本身就是目的"')
p('族群画像：他们学数学不是因为"有用"，而是因为"美"。他们愿意花一辈子去证明一个可能永远没人用的定理，因为那个定理本身就是真理的一部分。他们是数学系里"为数学而数学"的人——不关心就业，不关心竞赛，只关心那个定理是不是真的、是不是美的。')

bio('祖冲之', '429—500 · 南朝 · 中国',
    '他用算筹在乱世里算 π 算到第七位——不是为了名（生前无人理解），不是为了利（《缀术》失传），就是觉得"这个数字必须算到最准"。他造《大明历》，第一次把"岁差"引入历法，测得回归年365.2428天，与现代值只差46秒。权臣戴法兴当庭发难，他写下《驳议》逐条回敬——那是中国科学史上最硬气的一场辩论。他还造指南车、水碓磨、日行百里的千里船。所著《缀术》被列为唐代国子监最高级算学教材，可惜后世失传。儿子祖暅承其衣钵，父子两代人把一件事磨到了极境。他的气质：不呐喊、不好斗，一生只磨一件事——在一个人人速朽的乱世里，他用最慢的方式赢得了最长的时间。')

bio('欧拉', '1707—1783 · 瑞士 / 圣彼得堡 / 柏林',
    '他是史上最高产的数学家：886篇论著，全集出齐要80多卷。今天每个学生写的f(x)、e、i、π、Σ，都是他定下的语言。他解了柯尼斯堡七桥，顺手发明了图论。1735年右眼失明，他自嘲："从此干扰少了，我能更专心。"1771年左眼也失明，同年圣彼得堡大火，失明的老人被仆人从火场背出，手稿化为灰烬。他拍拍灰说："我们重新开始。"此后17年，他全凭心算口述，由子女和学生笔录——产量反而翻倍。1783年9月18日下午，他陪孙女喝茶，计算了天王星的轨道，晚间笔落，说一句"我要死了"，应声而逝。他的气质：温厚、坚韧、永远在给予。失明的设定在视觉小说里有天然的演出张力——画面渐黑，而推导声不停。')

bio('高斯', '1777—1855 · 德国 · 哥廷根',
    '他是"数学王子"：3岁纠正父亲的工资计算，10岁一秒算出1到100的和。19岁那年，他证明了正十七边形可以用尺规作图——这是自欧几里得以来两千年间几何学的最大突破。24岁出版《算术研究》，奠定现代数论。但他给自己立了一条铁律：不成熟、不完美、不发表。他发现了非欧几何，锁在抽屉里五十年；他算了无数公式，只在确信"已被压缩到最简"时才付印。他一生节俭、沉默、严厉。1855年他在哥廷根去世，墓碑上只有一个正十七边形——那是他19岁的骄傲，也是他一生"完美主义"的起点与终点。他的气质：严苛、孤傲、追求绝对完美。别人写十篇，他写一篇，但这一篇能压死人。')

bio('诺特', '1882—1935 · 德国 · 哥廷根',
    '她是埃尔朗根的数学家之女，23岁偏了航，决定学数学。彼时德国大学不许女生正式注册，她以旁听生身份蹭完全部课程，硬是拿下博士学位。1915年，希尔伯特把她请到哥廷根。她一到，就为广义相对论补上了最关键的基石——诺特定理：每一种连续对称都对应一条守恒律。但因为性别，她连无薪讲师的资格都拿不到，希尔伯特在评议会上拍桌："这里是大学，不是澡堂！"此后十几年，她免费开课，亲手开创了"抽象代数"，弟子遍布世界。1933年纳粹上台，犹太血统的她被逐出大学，流亡美国。1935年因手术并发症去世，年仅53岁。爱因斯坦在讣告里写道："自女性开始接受高等教育以来，她是迄今最杰出的数学天才。"她的气质：温和外表下的钢铁——一生被时代拒绝了三次，每一次她都用数学回应。')

doc.add_page_break()

# ── 传播者族 ──
h2('二、传播者族（严谨 + 算账）——"数学是讲出去的"')
p('族群画像：他们学数学不是为了"自己懂"，而是为了"让别人也懂"。他们相信数学不属于象牙塔，属于每一个人。他们是数学系里"最会说话"的那群人——以后可能成为科普作家、数学老师、教育博主。')

bio('斐波那契', '1170—1250 · 意大利 · 比萨',
    '他是比萨商人之子，少年时随父亲到北非经商，在那里第一次见到了阿拉伯数字。他花了十几年游历地中海，1202年写成《算盘书》——向欧洲介绍了0、分数、负数、利息计算，还有"兔子繁殖问题"。这本书改变了欧洲商业史：银行家开始用它记账，商人用它算利润，意大利成为欧洲金融中心。但他生前并未因此暴富——他只是个"会算数的商人"，晚年才得到一笔象征性年金。他的气质：务实、耐心、跨越文化的桥梁。他不追求纯数学的荣耀，只在乎"让所有人都能算"。')

bio('华罗庚', '1910—1985 · 中国',
    '他是金坛杂货铺的三子，初中毕业就辍学，左腿因小儿麻痹终身不愈。他蹲在柜台后算代数，被退稿无数。1930年一篇短文被清华算学系主任熊庆来识出天才，他被蛮横地拽进了中国最高学府。哈代问他要不要读博，他答："我来是为学问，不是为学位。"解放后，他做了一件任何数学家都没做过的事：揣着粉笔走下大学讲台，走遍23个省市的工厂、矿山、田间——给工人农民演示"优选法"和"统筹法"。1985年他在东京大学做完学术报告，心脏病发，倒在讲台上。他说的最后一句话是："我要工作到生命的最后一刻。"他的气质：泥土里的星辰——他不属于殿堂，他属于人间。')

bio('伽罗瓦', '1811—1832 · 法国 · 巴黎',
    '他是巴黎郊区的天才少年，论文两次被柯西和傅里叶弄丢，两次报考巴黎综合理工学院落榜。他转向政治，加入共和派秘密组织，两次入狱。1832年5月29日，决斗前夜——他知道自己必死。他通宵写信给友人，在信纸边缘疯狂写道"我没有时间了"，把毕生关于方程可解性的想法倾泻而出：这就是群论的雏形。次日在决斗中腹部中弹，5月31日去世，年仅20岁。那封信被弟弟保存了14年，直到1846年被刘维尔发现——数学界震惊了。今天，"伽罗瓦理论"是每个数学系研究生的必修课。他的气质：浪漫、激烈、视死如归。他是四人中唯一"死于数学之外"的人——但他用数学战胜了死亡：他死了，群论活了。')

bio('Ada Lovelace', '1815—1852 · 英国 · 伦敦',
    '她是拜伦勋爵之女，出生5周后父母离异。母亲痛恨拜伦的"疯狂诗人基因"，强迫她从小学习数学和逻辑。17岁她遇见巴贝奇，后者正在设计"分析机"——人类第一台通用计算机的图纸。1843年，她翻译了一篇关于分析机的论文，并加上了自己写的三万字注释。在注释里，她写下了人类历史上第一个算法——计算伯努利数的程序。更重要的是她写道："这台机器不止能算数——它能织出花纹、能谱写乐曲、能处理任何可以用符号表达的东西。"她预见了通用计算机的全部潜力，比图灵早了一百年。1852年她死于宫颈癌，年仅36岁——和拜伦死时同岁。一百年后人们称她为"世界上第一位程序员"。她的气质：理性与浪漫的混血——她用数学驯服拜伦留给她的"疯狂"，最终在数学里找到了比诗歌更狂野的想象。')

doc.add_page_break()

# ── 应用者族 ──
h2('三、应用者族（直觉 + 算账）——"数学是力量"')
p('族群画像：他们学数学不是为了"美"，也不是为了"传播"，而是为了"用"。他们相信数学的价值在于解决真实世界的问题。他们是数学系里"搞竞赛搞科研"的那群人——以后可能成为算法工程师、量化分析师、AI研究员。')

bio('秦九韶', '1208—1268 · 南宋 · 中国',
    '他是南宋全才——精音律、善诗文、懂建筑、会带兵。1247年写成《数书九章》，提出大衍求一术（中国剩余定理），比高斯早五百多年；还发明了高次方程数值解法（秦九韶算法），至今是计算机数值计算的标准算法。但此人绝非书斋学者——史载其"性机巧、好奢侈"，曾毒杀亲信，数学是他权力的延伸。正史对他的评价分裂得惊人：数学家说他空前绝后，史官说他品行不端。晚年被贬到广东梅州，1268年死于任上。他的气质：天才枭雄——数学是他的刀，他用这把刀平叛，也用这把刀杀人。你无法原谅他的手，但你无法否认他的天才。')

bio('牛顿', '1643—1727 · 英国 · 林肯郡 / 剑桥',
    '他是遗腹子，三岁被母亲丢下改嫁——孤独是他的第一门语言。1665年剑桥因瘟疫封校，他回乡18个月，史称"奇迹年"：微积分、光的色散、万有引力，三大发现全在乡下农舍桌上发芽。1687年《自然哲学的数学原理》出版，人类第一次用三条定律统一了天与地。但他的一生同样写满争斗：与胡克交恶，那句"站在巨人的肩膀上"是暗讽胡克驼背矮小；与莱布尼茨争微积分优先权，他幕后操纵皇家学会"调查"自己，判自己胜诉。晚年担任造币厂厂长，以数学家的缜密追剿假币犯，把数十人送上绞架；夜深人静时沉迷炼金术与末日预言。他终身未娶，几乎无友。84岁葬于威斯敏斯特。他的气质：神性与兽性同体一具肉身——他证明了宇宙的统一，却统一不了自己。')

bio('图灵', '1912—1954 · 英国 · 剑桥 / 布莱切利园',
    '他是剑桥国王学院的天才，24岁发表《论可计算数》，定义了"计算"本身。二战爆发，他进入布莱切利园，领衔破解德军Enigma密码机，日破密电三千条，让欧洲战场提前两年结束，拯救上千万生命——这一切作为国家机密封存了三十年。战后他设计ACE计算机；1950年发表《计算机器与智能》，提出"机器能思考吗"，为AI时代写下序言。他还是马拉松好手，最好成绩距奥运选拔线仅11分钟。1952年因同性恋身份被控"严重猥亵"，被迫接受化学阉割。1954年6月死于寓所，床头一只咬过的氰化物苹果，年仅41岁。2013年英国女王颁布皇家赦免；2021年，他的头像登上了50英镑纸币。他的气质：纯粹、木讷、不善言辞——脑中只有问题本身。他拯救了世界，世界把他碾碎。')

bio('冯·诺依曼', '1903—1957 · 匈牙利 / 美国',
    '他是布达佩斯的银行家之子，8岁掌握微积分，12岁读懂博雷尔的《函数论》。22岁拿下博士学位，1930年移居普林斯顿。他的贡献横跨七个领域：量子力学的数学基础、算子代数、博弈论（《博弈论与经济行为》是冷战的战略圣经）、计算机架构（冯·诺依曼结构，今天所有电脑都按他的图纸造）、原子弹（曼哈顿计划的内爆透镜计算）、蒙特卡洛方法、细胞自动机。但私下里，他是派对的灵魂——讲黄色笑话、开快车（车祸无数）、打牌必赢（因为他真的在算概率）。1957年死于骨癌，年仅53岁。临终前对神父说："我算了一辈子，但我算不出我自己的死期。"他的气质：全才、痞气、冷酷与幽默并存——数学对他不是信仰，是工具；世界对他不是谜题，是棋盘。')

doc.add_page_break()

# ── 直觉者族 ──
h2('四、直觉者族（直觉 + 推演）——"数学是看见别人看不见的东西"')
p('族群画像：他们学数学不靠"算"，靠"看"。他们在数学系里是最容易被误解的一群人：考试不一定最高分，但总能提出别人想不到的问题。他们做题不靠步骤，靠"感觉"。他们最擅长把不同领域的东西连在一起——用几何理解代数、用物理直觉理解方程。')

bio('希帕提娅', '约355—415 · 埃及 · 亚历山大港',
    '她是历史上第一位有记载的女数学家，父亲塞翁是最后一位大数学家。她从小接受最好的教育——数学、哲学、天文学、修辞学。成年后她成为亚历山大博物院的教师，学生从地中海各地涌来，包括后来的叙利亚大主教。她注释了《圆锥曲线论》《算术》《天文学大成》，改进了星盘和比重计。但她生在一个危险的时代：罗马帝国基督教化，异教学术被视为威胁。415年3月，一群基督徒暴民在主教西里尔默许下，把她从马车上拖下来，用牡蛎壳把她的肉一片片割下，然后焚烧尸体。她的死标志着古典希腊数学的终结——此后一千年，欧洲进入黑暗时代。她的气质：优雅、坚定、殉道者。她不死于数学，死于"数学代表的那个世界"。')

bio('赵爽', '约3世纪 · 三国 · 吴国',
    '他是三国时期吴国的数学家，生平几乎无记载——他只留下一部《周髀算经注》。但这部注释里有一张图，改变了中国数学史：弦图。这张图用一个正方形和四个直角三角形，直观地"看见"了勾股定理——不需要推导，看一眼就懂。这是中国数学史上最早的无字证明。他在注释里写道："按弦图，又可以勾股相乘为朱实二，倍之为朱实四，以勾股之差自相乘为中黄实，加差实，亦成弦实。"他用颜色和形状替代了符号和逻辑。他可能是个小官，可能是个民间学者——但他的弦图流传了一千八百年，2002年国际数学家大会的会徽就是这张图。他的气质：简约、直观、无名者。他是四人中最不起眼的一个——但他的一张图，比别人的十本书都长寿。')

bio('庞加莱', '1854—1912 · 法国 · 南锡 / 巴黎',
    '他是法国南锡的富家子弟，从小体弱多病、视力极差，但记忆力惊人——据说能记住整本书的页码。1881年他27岁，在诺曼底度假时踏上公交车踏板的一瞬间，突然"看见"了富克斯函数的变换性质——他后来写道："我一踩上车，答案就来了，仿佛有人在我耳边低语。"这次顿悟开创了自守函数理论。此后三十年他横扫数学的每一个领域：拓扑学（他发明了这门学科）、微分方程、天体力学（三体问题的定性分析，混沌理论的先声）。他写下500多篇论文、30多部专著，被称为"最后一位通晓当时所有数学分支的人"。1904年他提出庞加莱猜想——这个猜想困扰了数学家整整一百年，直到2003年才被佩雷尔曼证明。1912年因前列腺癌手术并发症去世，年仅58岁。他的气质：全才、直觉、优雅——他是理性时代的最后贵族，在他之后，再也没有人能"通晓一切"。')

bio('凯瑟琳·约翰逊', '1918—2020 · 美国 · 西弗吉尼亚 / NASA',
    '她是西弗吉尼亚的黑人女孩，10岁上高中，18岁以最高荣誉拿下数学学位。但种族隔离的年代，没有实验室会聘用黑人女数学家。她当了十年教师，直到1953年进入NASA兰利研究中心的"西区计算组"——一屋子黑人女性用纸笔手算弹道，门上贴着"有色人种专用"。她假装没看见，埋头算数据，直到被借调进飞行研究部——全白人男性的那间屋，她是走进去的第一个女人。1962年，宇航员约翰·格伦临发射前点名："让那个女孩核对数字——她说行，我就飞。"凯瑟琳算了一整天，格伦绕地球三圈活着回来。1969年阿波罗11号登月的轨道，核心计算出自她的手。她在NASA工作了33年，参与26次太空任务。2015年98岁的她接过总统自由勋章；2020年101岁辞世。从"有色人种计算员"到登月轨道计算者，她的一生恰好是计算从纸笔走向AI的整个世纪。她的气质：最安静的斗士——她不砸墙，只把门推开一条缝，直到整面墙自己倒掉。')

doc.add_page_break()

# ========================
# 第四部分：剧本大纲
# ========================
h1('第四部分：四条线剧本大纲')

h2('总体框架')
p('主角：大一新生，数学迷茫期，做完MathBTI后被分入某条线')
p('结构：四幕 × 双线（现实线 / 梦境线）')
p('核心机制：现实中的困境 → 梦境中得到映照 → 次日现实中改变选择')

h2('共通序章（所有线共享）')
p('现实线：你是数学系大一新生。高数期中58分。室友说"数学系是给天才读的，咱们趁早转专业"。你刷到新闻"AI要取代数学家"。晚上你在宿舍做MathBTI——16种人格，你会是哪一个？')
p('梦境线：做完测试当晚，你在梦里来到了万理之城。四位坊主在城门口等你。你的测试结果决定了你首先敲开哪一扇门。')

doc.add_page_break()

# ── 线一 ──
h2('线一：精算师路线（严谨 + 推演）——"数学本身就是目的"')
h3('第一幕：迷茫（现实：高数挂科）')
p('现实：期中高数58分。室友建议转专业。你在图书馆刷题，一道极限题算了三遍三个答案。')
p('梦境：祖冲之在城门口等你，手里握着算筹。他带你走城墙——每天黎明他都要绕一圈，用算筹复核π的刻度，九百年从未间断。"π小数点后第七位是多少？""不知道。""我知道——因为我算了一辈子。"')
p('抉择：祖冲之问："你觉得数学是算出来的，还是背出来的？"')

h3('第二幕：探索（现实：图书馆苦修）')
p('现实：你决定再试一次，每天去图书馆刷题。进度缓慢。新闻推送"AI一秒解出高考数学压轴题"，你动摇。')
p('梦境：祖冲之带你去见欧拉——双目失明，但口述论文语速比书记员还快。"我失明了反而算得更快。"高斯路过："他写太多了，十篇只有一篇是完美的。"欧拉笑："但那十篇藏着一百个灵感。"')
p('抉择：欧拉问："你想写十篇普通论文，还是一篇完美论文？"')

h3('第三幕：危机（现实：AI冲击）')
p('现实：新闻"AI证明了一个新的数学定理"，评论区"数学家要失业了"。你怀疑人还能比AI算得快吗。')
p('梦境：裂缝出现——先吞"直觉"，再吞"耐心"。祖冲之的π刻度开始错位，欧拉的手稿模糊。诺特说："裂缝不是因为AI太快，是因为你们开始相信'快就是一切'。"')
p('抉择：诺特问："你学数学，是为了比AI快，还是为了比昨天的自己更准？"')

h3('第四幕：觉醒（现实：找到节奏）')
p('现实：你不再追求刷题速度，每题算到"我确信这个答案是对的"才翻页。期末考试82分，不是全班最高，但每一题你都"算透了"。')
p('梦境：裂缝暂时稳定——因为人间多了一个"愿意慢慢算"的人。祖冲之把算筹递给你："记住——数学是算出来的，不是背出来的。"你醒来，枕边纸条写着：π=3.1415926……')
p('真谛：数学之用，在于"精确"本身——AI可以比你快，但只有你能决定"算到什么程度才算对"。这是人的尊严，也是数学的尊严。')

doc.add_page_break()

# ── 线二 ──
h2('线二：传播者路线（严谨 + 算账）——"数学是讲出去的"')
h3('第一幕：迷茫（现实：社团选择）')
p('现实：你是"数学系最会说话的人"。纠结加入数学建模协会还是科普社。')
p('梦境：华罗庚在勾股广场摆摊拉你演示优选法："0.618法——烤烟叶、炼钢、找对象都能用！"他带你走街串巷，城里每个居民都认识他。"数学不是给天才的，是给所有人的。"')
p('抉择：华罗庚问："你觉得数学是用来自己爽的，还是用来帮别人的？"')

h3('第二幕：探索（现实：科普社试讲）')
p('现实：第一次给初中生讲"斐波那契数列"，台下睡倒一片。你怀疑：是不是我讲得太烂？')
p('梦境：华罗庚带你去见斐波那契。"我花了二十年才让欧洲人从罗马数字换成阿拉伯数字——你讲一节课就想让所有人听懂？"伽罗瓦冷笑："我讲了一辈子，没人听懂。决斗前夜写了一封信，十四年后才被读懂。"Ada温柔地说："我把数学讲给机器听，等了一百年，机器才听懂。"')
p('抉择：伽罗瓦问："你想讲给现在的人听，还是讲给未来的人听？"')

h3('第三幕：危机（现实：AI视频冲击）')
p('现实：科普社面临解散，"现在中学生都看AI讲数学的视频"。你刷到AI的"三分钟讲完微积分"，播放量百万。')
p('梦境：裂缝出现——华罗庚的摊位没人来了。Ada说："裂缝不是因为AI讲得快，是因为你们开始相信'快就是好'。"')
p('抉择：Ada问："你讲数学，是为了让人听懂，还是为了让人记住？"')

h3('第四幕：觉醒（现实：找到方式）')
p('现实：你改变策略——不讲"三分钟速成"，而讲"一个数学家的故事"。你讲了伽罗瓦决斗前夜写群论的故事，台下鸦雀无声。讲座结束，一个初中生跑来问："姐姐，我也想学数学，还来得及吗？""来得及——伽罗瓦20岁才写群论。"科普社活了。')
p('梦境：华罗庚把粉笔递给你："数学是讲出去的，不是藏在论文里的。"你醒来，手机推送"讲座视频播放量破万"。')
p('真谛：数学之用，在于"传承"本身——AI可以比你快，但只有你能决定"讲给谁听、讲到什么程度"。这是人的温度，也是数学的温度。')

doc.add_page_break()

# ── 线三 ──
h2('线三：应用者路线（直觉 + 算账）——"数学是力量"')
h3('第一幕：迷茫（现实：竞赛选拔）')
p('现实：你高数成绩顶尖，室友说你"太卷了"。纠结全国数学竞赛还是数学建模竞赛。')
p('梦境：冯·诺依曼在酒馆打牌，每把必赢："我不是运气好，我在算概率。"他带你去见秦九韶——正在用算筹排兵布阵："数学是刀，我用它平过叛乱。"牛顿在高塔上冷冷看着你："你想赢？那你准备好付出代价了吗？"')
p('抉择：秦九韶问："你觉得数学是用来赢的，还是用来对的？"')

h3('第二幕：探索（现实：竞赛备战）')
p('现实：你同时参加两个竞赛，刷题到凌晨。建模竞赛组队时和队友吵翻——你想用"最优解"，队友想用"可行解"。')
p('梦境：图灵正在布莱切利园破译Enigma密码。"我每破一条密电就救一千条命——但没人知道是我破的，这是国家机密。"冯·诺依曼："我帮美国算原子弹、帮五角大楼算冷战策略——我从不隐藏我在用数学赢。"')
p('抉择：图灵问："你赢了之后，是想被记住，还是想被忘记？"')

h3('第三幕：危机（现实：AI竞赛冲击）')
p('现实：数学竞赛省二等奖，建模竞赛因队内矛盾没拿到奖。新闻"AI组队参加数学建模竞赛拿了特等奖"。')
p('梦境：裂缝出现——冯·诺依曼的牌局开始输，图灵的Bombe机卡壳。牛顿从高塔下来："裂缝不是因为AI算得快，是因为你们开始相信'赢就是一切'。"')
p('抉择：牛顿问："你学数学，是为了赢别人，还是为了赢自己？"')

h3('第四幕：觉醒（现实：重新定义"赢"）')
p('现实：你不再为拿奖而竞赛，而是为了"解决问题"。和队友和解重新组队，方案被一家物流公司采用——每年省了十万块。你写日记："数学不是为了赢别人，是为了赢问题。"')
p('梦境：裂缝暂时稳定。冯·诺依曼把牌递给你："数学是力量，但力量不是为了赢，是为了保护你想保护的东西。"你醒来，消息推送"你们的建模方案被企业采纳"。')
p('真谛：数学之用，在于"解决问题"本身——AI可以比你快，但只有你能决定"用数学解决什么问题"。这是人的选择，也是数学的选择。')

doc.add_page_break()

# ── 线四 ──
h2('线四：直觉者路线（直觉 + 推演）——"数学是看见别人看不见的东西"')
h3('第一幕：迷茫（现实：方向选择）')
p('现实：你做题靠刷不靠"顿悟"，总觉得自己不是天才型。纠结纯数学方向还是应用数学方向。')
p('梦境：赵爽在画一张图——正方形、四个直角三角形、中间一个黄色小正方形。他指着图："看，勾股定理。""我看不懂推导。""不需要推导——看就懂了。"希帕提娅路过："我也是这么看数学的——在几何图形里看见永恒。"')
p('抉择：赵爽问："你觉得数学是算出来的，还是看出来的？"')

h3('第二幕：探索（现实：选修课探索）')
p('现实：你选修"数学之美"通识课——庞加莱猜想、费马大定理、黎曼猜想，云里雾里但被深深吸引。你怀疑：非天才能学纯数学吗？')
p('梦境：庞加莱正散步："我最好的想法都是在走路时冒出来的。踏上公交车踏板那一瞬间，看见了富克斯函数。不是算出来的，是看见的。"凯瑟琳说："我不是天才，我只是算了33年，算到直觉成了本能。"')
p('抉择：庞加莱问："你想成为天才，还是想成为专家？"')

h3('第三幕：危机（现实：AI直觉冲击）')
p('现实：新闻"DeepMind的AI用直觉发现了新的数学猜想"，评论区"AI连直觉都有了"。')
p('梦境：裂缝出现——赵爽的弦图开始模糊，庞加莱灵感枯竭。凯瑟琳说："裂缝不是因为AI有直觉，是因为你们开始相信'直觉是天赋不是努力'。"')
p('抉择：凯瑟琳问："你觉得直觉是天生的，还是练出来的？"')

h3('第四幕：觉醒（现实：找到节奏）')
p('现实：你选应用数学方向——不是因为"不够天才"，而是因为"喜欢用数学解决真实问题"。统计课上用赵爽的弦图思维画了数据可视化图，老师说"这是我见过最直观的展示"。你写日记："直觉不是天赋——是看了很多算了很多之后，自然长出来的。"')
p('梦境：裂缝暂时稳定。赵爽把弦图递给你："数学是看见别人看不见的东西——但看见之前，你得先看够一百张图。"你醒来，教推送"你的数据可视化作业被老师推荐参加校赛"。')
p('真谛：数学之用，在于"看见"本身——AI可以比你快，但只有你能决定"看见什么、怎么看"。这是人的想象，也是数学的想象。')

doc.add_page_break()

# ========================
# 附录：四线对照表
# ========================
h1('附录：四线核心抉择对照表')

table = doc.add_table(rows=6, cols=5)
table.style = 'Light Grid Accent 1'

headers = ['线', '第一幕', '第二幕', '第三幕', '第四幕真谛']
for i, h in enumerate(headers):
    cell = table.rows[0].cells[i]
    cell.text = h
    for p in cell.paragraphs:
        for run in p.runs:
            run.bold = True

data = [
    ['精算师', '数学是算出来的还是背出来的？', '写十篇还一篇完美？', '比AI快还是比自己准？', '数学是"精确"的尊严'],
    ['传播者', '数学是自己爽还是帮别人？', '讲给现在的人还是未来？', '让人听懂还是记住？', '数学是"传承"的温度'],
    ['应用者', '数学是用来赢还是用来对？', '赢了被记住还是被忘记？', '赢别人还是赢自己？', '数学是"解决问题"的选择'],
    ['直觉者', '数学是算出来还是看出来？', '成为天才还是专家？', '直觉天生还是练出来的？', '数学是"看见"的想象'],
]

for ri, row_data in enumerate(data):
    for ci, text in enumerate(row_data):
        table.rows[ri+1].cells[ci].text = text

# ── 保存 ──
out = os.path.join(os.path.dirname(__file__), '万理之城_设定圣经.docx')
doc.save(out)
print(f'已生成: {out}')
