Active filters:当前筛选: none — pick a formula, an institution, or a polity to scope the dossier across every view 无 — 选择公式、机构或城邦以联动筛选所有视图

Corpus at a glance语料库概况

Distribution by institution按机构分布

Top formulae by attestation按出现次数排序的公式

Formula frequency over time公式在时间维度的分布

Decree-class inscriptions only (n=). Filter by slot or language; hover a bar segment for exact counts.仅显示法令类铭文(共 件). 可按位置或语言过滤;鼠标悬停可见精确数值.

Provenance map出土地图

Geocoded decree-class inscriptions (n=). Greek (blue), Latin (terracotta), bridge inscriptions (purple). Click a marker for inscription detail.已定位的法令类铭文(共 件). 希腊语(蓝色),拉丁语(赭色),桥接铭文(紫色;指同碑并存希腊拉丁两套公式、连接两个系统的铭文). 点击标记查看详情.

Bridge inscriptions only仅桥接铭文

Institutional hierarchy机构层级

Greek civic (boule + demos / boule / demos by polity) · Roman (senatus consultum / decretum decurionum by era) · Other / unclassified. Click ▶ to expand. Click any node to see its formula bundle, century distribution, and sample inscriptions.希腊市民(boule + demos / boule / demos 按城邦) · 罗马(元老院决议 / 市政决议 按时代) · 其他 / 未分类. 点击 ▶ 展开. 点击任意节点查看其公式集、年代分布和示例铭文.

Tree树状结构

Selected node detail选中节点详情

Click a node in the tree.请在左侧树中点击一个节点.

Diff two nodes对比两个节点

Cross-influence network跨语言转译网络

Force-directed graph of formula relations. Purple thick edges = explicit Greek↔Latin calque pairs. Terracotta edges = co-occurrence in bridge inscriptions (≥2 bridges). Node size reflects total attestations; colour reflects language.公式关系力导向图. 紫色粗线 = 希腊↔拉丁明确转译对. 赭色线 = 桥接铭文共现(≥2件). 节点大小反映出现次数;颜色反映语言.

What distance means: the layout is force-directed and reflects an aesthetic balance, not a literal corpus metric. Linked nodes are pulled together by edge-springs (rest length = 90px for calque / loan-translation edges, 140px for structural-parallel edges); all nodes repel each other (charge −260). Outer-orbit isolates: unconnected nodes (edge degree 0) ride a radial force at 0.46 × min(W,H) from centre with strength 0.55, so they sit on the OUTER ring of the layout — outside the dense connected cluster, never crowding into it. Weakly-linked nodes (degree 1) sit on a mid-ring (0.32 × min(W,H), strength 0.22); well-connected nodes (degree ≥ 2) are free in the centre with only mild centring (strength 0.03). Closer pairs in the centre therefore share a stronger formal-evidence link, but absolute distance remains an aesthetic balance, not a measured similarity. Drag any node to reposition; the simulation will re-balance. Labels: only formulae with ≥ 3 attestations show their name by default; hover any unlabeled node to reveal it. Zoom + pan: wheel zoom, click-drag pan (the chart uses d3-zoom). 距离之意: 此为力导布局,距离反映美学平衡,非语料度量。相连之节点由边之弹簧相牵(calque/借译边静止长度 90 像素,结构平行边 140 像素);所有节点彼此相斥(电荷 −260)。外环之孤者: 无边相连之节点(边数 0)受径向力牵于 0.46 × min(W,H) 处,强度 0.55,故居布局之最外环,出主簇密集区之外,不挤其内。仅一边相连者(边数 1)居中环(0.32 × min(W,H),强度 0.22);多边相连者(边数 ≥ 2)自由居中,仅受微弱归中之力(强度 0.03)。故中区相近者形式证据较强,然绝对距离仍为美学之平衡,非测度之相似度。可拖拽任一节点以重布;模拟将重平衡。标签: 默认仅显示 ≥3 次出现之公式名;悬停未标节点以显示其名。缩放与平移: 滚轮缩放,单击拖动平移(使用 d3-zoom)。

Greek formula
Latin formula
Calque edge
Bridge-inscription co-occurrence

Decree-class inscriptions法令类铭文

Click any row for full text + formula highlights.点击任意行查看完整文本与公式高亮.

Bridge inscriptions only仅桥接铭文
UID Lang语言 Date年代 Place地点 Institution机构 Genre类型 Formulae公式

Evidentiary Profile — HT (historical) × ET (epigraphic) × RT (restoration)证据画像 — HT(历史) × ET(铭文) × RT(修复)

The "Evidentiary Profile" is the umbrella name for the three independent tiers that together describe each inscription's value as evidence: HT (content as evidence), ET (survival as evidence), RT (inferential mediation as evidence). See §16 of the typology plan for the rationale.“证据画像” 是三个独立层级之总称,共同描述每条铭文之证据价值:HT(内容证据), ET(留存证据), RT(推断中介证据). 见 类型学计划 §16.

Three independent tiers per record (M15 redesign)
每条记录三个独立层级(M15 重新设计)

HT — Historical Tier

density of significant terms: named persons + institutional / magisterial markers + date markers + socio-political, cultural, economic, religious concepts.重要术语密度:具名人物 + 机构/官职标记 + 纪年标记 + 社会政治,文化,经济,宗教概念。

High HT → the text is content-rich.HT 高 → 文本内容丰富。

ET — Epigraphic Tier

preservation completeness: long unbroken runs of intact text, low lacuna density, low dotted-letter density.保存完整度:长段无中断文本,低残缺密度,低加点(存疑)字母密度。

High ET → primary-witness reliability.ET 高 → 原始证据可靠。

RT — Restoration Tier

density of editorial restoration: many […] brackets, much scholarly inferential investment.编辑修复密度:多 […] 括号,学者推断投入甚重。

High RT → much hypothesis built into the surviving readings.RT 高 → 现存读法多承编者推断。

The three are independent. A record can be HT5 / ET5 / RT1 (content-rich AND pristine AND minimal restoration — the SC de Bacchanalibus case) or HT2 / ET1 / RT4 (content-thin AND fragmentary AND heavily restored — the Asklepieion decree case). The scatter below plots HT (Y) × ET (X); RT shows in the type label and the distribution table. 三者独立。 一条记录可为 HT5 / ET5 / RT1(内容丰富 + 完整 + 极少修复,如 SC Bacchanalibus)亦可为 HT2 / ET1 / RT4(内容稀薄 + 残缺 + 大量修复,如 Asklepieion 法令)。下方散点图绘 HT(Y) × ET(X); RT 则见类型标签与分布表。

Interactive zoom (Main + pairwise + faceted panels): wheel scrolls toward the cursor (up to 6×); click-drag pans within the zoomed region; double-click resets. Each scatter zooms by shrinking its SVG viewBox, so axes, gridlines, data circles, and the four-quadrant overlay all share one coordinate space — every data point stays exactly aligned with its true axis-tick value at any zoom level, and the quadrant boundaries always cut along HT = 0.5 and ET = 0.5. The Main scatter also offers an "↗ open in new window" button (per-scatter toolbar) for a standalone popup with the same zoom controls. 交互式缩放(主图,两两投影,分面小图皆同): 滚轮按光标方向放大(至 6 倍);单击拖拽于已放大之区域内平移;双击还原。各散点图以收缩其 SVG viewBox 实现缩放,故坐标轴,网格线,数据点,与四象限叠层共处同一坐标系 — 各数据点于任一缩放层级皆与其轴上之真实数值精准对齐,象限分界恒沿 HT = 0.5 与 ET = 0.5 之线划分。主散点图另设 “↗ open in new window” 按钮(各图工具栏内),可于独立窗口中以同等缩放控制查看。

Main HT × ET scatter主散点图 HT × ET

2D view: HT (Y) × ET (X). Tier bins (T1 → T5 in 0.20 steps): T5 ≥ 0.80, T4 ≥ 0.60, T3 ≥ 0.40, T2 ≥ 0.20, T1 < 0.20. 2D 视图:HT(Y) × ET(X). 层级(T1 → T5 按 0.2 步距): T5 ≥ 0.80, T4 ≥ 0.60, T3 ≥ 0.40, T2 ≥ 0.20, T1 < 0.20。

Pairwise projections — three 2D scatters两两投影 — 三张 2D 散点图

Each pair of tiers exposes a different analytic question (M19.2). Use the same sample-size + highlight selectors above; click any record to open its detail modal.每对层级提示不同分析问题(M19.2)。使用以上抽样数量与突出选择器;单击任意记录打开详情。

HT × ET: where do content-rich records cluster — top-right (well-preserved) or bottom-left (damaged)?

HT × ETHT × ET

ET × RT: does well-preserved ↔ less-restored hold? Strong negative correlation predicted.

ET × RTET × RT

RT × HT: are content-rich records restored more? Tests the "scholars restore what matters" hypothesis.

RT × HTRT × HT

Faceted small multiples — HT × ET by RT tier分面小图 — 按 RT 层级之 HT × ET 散点

Five 2D scatters, each filtered to one RT tier. Reading across the panels — from RT1 (≤ 20% restored) to RT5 (> 80% restored) — the third axis (RT) progresses from minimal to maximal restoration. The point cloud should drift from the lower-right (well-preserved, lightly restored) into the upper-left (damaged, heavily restored), giving you the joint 3D distribution without any rotation. Panels are fixed-size (360 px) and reflow into one of three symmetric arrangements depending on viewport width: 3+2 (the most common on a wide screen), 2+2+1 on medium screens, or a single stacked column on narrow ones. Each row stays centred. Each panel zooms independently (wheel = zoom, drag = pan, dblclick = reset), with axes, gridlines, and the quadrant overlay all kept in lock-step with the data via viewBox-based zoom. 五张 2D 散点图,各仅留一个 RT 层级。自 RT1(补字 ≤ 20%)渐至 RT5(补字 > 80%)跨读各面板,第三轴(RT)由极少补字渐至极多补字。点云宜由右下(完好少补)漂往左上(残损多补),即不旋转而呈三维联合分布。面板尺寸固定(360 像素),依视窗宽窄重布为三种对称布局之一: 至宽则 3+2(常态),中宽则 2+2+1,至窄则单列堆叠;各行皆居中以保平衡。各面板独立缩放(滚轮 = 缩放,拖拽 = 平移,双击 = 还原),坐标轴,网格线,与象限叠层皆由 viewBox 缩放与数据同步。

RT1 minimal restoration极少补字

Records with ≤ 20% restored text. Closest to original-state evidence; supplements are minimal.补字 ≤ 20% 之文书。最接原状之证,增补极少。

RT2 light restoration少量补字

Records with 20–40% restored text. Light editorial intervention; main argument still on stone.补字 20–40% 之文书。编者所补尚轻,大义仍存于石。

RT3 moderate restoration中度补字

Records with 40–60% restored text. Moderate restoration; structure recoverable, formulae often supplied.补字 40–60% 之文书。中度补字,结构可复,程式常由编者增益。

RT4 substantial restoration大量补字

Records with 60–80% restored text. Heavy editorial intervention; reading depends heavily on the editor.补字 60–80% 之文书。补字甚重,通读多藉编者之力。

RT5 maximal restoration极多补字

Records with > 80% restored text. Mostly reconstruction; use with caution as primary evidence.补字 > 80% 之文书。多为重构,作主证当慎。

X axis = ET (epigraphic preservation, 0 left → 1 right). Y axis = HT (historical content density, 0 bottom → 1 top). Each panel uses the current sample-size and highlight selectors above. Panels are 360 px wide and reflow to fit the viewport — each row is centred so the layout stays balanced as you resize. X 轴 = ET(铭文留存度,0 左 → 1 右)。Y 轴 = HT(历史内容密度,0 下 → 1 上)。各面板共用上文之抽样数量与突出选择器。面板宽 360 像素,随视窗宽窄重布,各行居中以保布局平衡。

Formula bank (closed vocabulary)公式库(封闭词汇)

Cross-language calques shown with → links.跨语言转译以 → 标识.

UID Label名称 Slot位置 Tier层级 Attestations出现次数 Calque转译 Anchor文献依据
`; const w = window.open('', '_blank', 'width=1400,height=900'); if (!w) { alert('Pop-up blocked. Please allow pop-ups for this site.'); return; } w.document.write(html); w.document.close(); }; /* zoom helper that gets embedded into popup windows */ function zoomHelperBody() { const NS = 'http://www.w3.org/2000/svg'; const svg = document.querySelector('svg'); if (!svg) return; const vbAttr = svg.getAttribute('viewBox') || '0 0 1100 680'; const orig = vbAttr.split(/\s+/).map(Number); const origVb = { x: orig[0], y: orig[1], w: orig[2], h: orig[3] }; function getVB() { const v = svg.getAttribute('viewBox').split(/\s+/).map(Number); return { x:v[0], y:v[1], w:v[2], h:v[3] }; } function setVB(v) { svg.setAttribute('viewBox', v.x+' '+v.y+' '+v.w+' '+v.h); } function ptToSVG(ev) { const pt = svg.createSVGPoint(); pt.x = ev.clientX; pt.y = ev.clientY; const ctm = svg.getScreenCTM(); return pt.matrixTransform(ctm.inverse()); } let panning = false, panStart = null, vbStart = null; svg.addEventListener('wheel', function(ev) { ev.preventDefault(); const vb = getVB(); const c = ptToSVG(ev); const factor = ev.deltaY < 0 ? 0.85 : 1.18; const newW = Math.max(origVb.w / 20, Math.min(origVb.w * 1.2, vb.w * factor)); const newH = newW * (vb.h / vb.w); const cx = (c.x - vb.x) / vb.w, cy = (c.y - vb.y) / vb.h; setVB({ x: c.x - newW * cx, y: c.y - newH * cy, w: newW, h: newH }); }, { passive: false }); svg.addEventListener('mousedown', function(ev) { if (ev.button !== 0) return; panning = true; panStart = { x: ev.clientX, y: ev.clientY }; vbStart = getVB(); svg.style.cursor = 'grabbing'; ev.preventDefault(); }); svg.addEventListener('mousemove', function(ev) { if (!panning) return; const dx = ev.clientX - panStart.x; const dy = ev.clientY - panStart.y; const ctm = svg.getScreenCTM(); if (ctm) { setVB({ x: vbStart.x - dx / ctm.a, y: vbStart.y - dy / ctm.d, w: vbStart.w, h: vbStart.h }); } }); svg.addEventListener('mouseup', function() { panning = false; svg.style.cursor = 'grab'; }); svg.addEventListener('mouseleave', function() { panning = false; svg.style.cursor = 'grab'; }); svg.addEventListener('dblclick', function(ev) { ev.preventDefault(); setVB(origVb); }); } /* Run quadrant injection after each scatter is drawn. Hook into the existing draw functions by polling for SVG content. */ function injectAfterDraw() { ['pres-scatter','pres-scatter-htxet','pres-scatter-etxrt','pres-scatter-rtxht'].forEach(id => { const el = document.getElementById(id); if (el && el.children.length > 0) injectQuadrant(el); }); } /* Run injection periodically (cheap), and immediately after tab activation */ setInterval(injectAfterDraw, 800); document.addEventListener('DOMContentLoaded', () => { setTimeout(injectAfterDraw, 1500); }); })();