Repository navigation
Releases
NeoSetzer 86
v86 — 2026-10-29
主要改进
-
新增「减弱动画」偏好开关:偏好设置 → 外观新增「动画 / 减弱动画」(默认关闭,保持既有观感)。开启后关掉侧栏与预览栏的滑入滑出、各处淡入淡出与列表展开、侧栏目录跳转的滚动动画,以及 SyncTeX 双向跳转的高亮淡出。窗口与对话框自身的打开/关闭动画不受影响——
Adw.OverlaySplitView没有过渡时长属性,只能在同步的显隐调用期间临时关掉gtk-enable-animations并在返回后立即还原。 -
修复开关侧栏时的卡顿、行号慢一拍与行号短暂消失:开侧栏走 inline 动画,每帧改编辑器列宽;开着自动换行时整篇文档重排。行号滞后源于 gutter 覆盖层自身分配不变、GTK4 直接复用上一帧的 render node;行号消失源于整块重建的 surface 在绘制前就入缓存,以及重排期间按未验证的估计顶 y 平移把 surface 推出可视区。改为尺寸观察者驱动,gutter 缓存加几何指纹、覆盖守卫与「画完才发布」。顺带修掉一个静默失效的坑:GTK4 的
GtkWidget没有width/height属性,connect('notify::width', ...)不报错但永不触发,sticky scroll 与多光标原本挂的就是这样两条死连接。 -
消除输入/预览/侧栏热路径上的冗余重算与重绘:拼写检查改为按块增量重扫;预览淡出只在高亮矩形变化时标脏;页面尺寸加缓存、渲染结果改由回调投递以消除轮询唤醒;文档结构页订阅收窄到当前与根文档;侧栏统计在面板隐藏时挂起定时刷新;用户片段库按 mtime 缓存并让 revision 纳入补全缓存键;预览悬停移动不再连带重绘整页。
-
新增状态栏构建结果指示:右下角以纯文字显示根文档最近一次构建结果(如「构建成功」/「2 个错误,3 个警告」),点击打开构建日志弹窗;尚未构建过时隐藏,关闭文档时断开信号连接避免阻碍 GC。
-
补齐积压翻译:
{n} error(s)/{n} warning(s)及 v84/v85 新功能、改写后的 latexdb 宏包描述共 160 余条,在 7 种语言中全部补译;各语言未译条目降至 44 条,即语言选择器中按设计保持原语言的语言名。POTFILES 此前陈旧,顺带补进 81 个从未提取的字符串。 -
Windows 便携包构建环境迁移到 MSYS2 UCRT64:MSYS2 自 2026-10 起逐步撤下 leaf 包的 MINGW64 构建,gtk4、libadwaita、gtksourceview5 等已无 mingw64 版本,构建因此切到官方建议的 UCRT64。便携包顶层目录随之由
mingw64变为ucrt64,启动方式变为ucrt64\bin\setzer.bat,README 与打包文档同步更新。 -
测试:新增 20 余个无界面回归测试模块/用例覆盖上述动画偏好、gutter 缓存、滚动节流与热路径调度,并加入源码扫描守卫防止
notify::width死连接写法回流。
Improvements
- feat: Add a "Reduce animations" preference (Preferences → Appearance, off by default). It turns off sidebar and preview sliding, crossfades, revealer expands, the sidebar list-scroll jump animation and the SyncTeX highlight fades. Window and dialog open/close animations are untouched —
Adw.OverlaySplitViewexposes no transition duration, sogtk-enable-animationsis only flipped for the duration of the synchronous show/hide call and restored immediately. - fix: Sidebar toggle no longer stutters, and gutter line numbers no longer lag one frame behind the text or briefly disappear. The gutter overlay was being served a stale render node, its surface cache could publish a half-drawn block, and mid-reflow offsets were estimated. Also fixes silently dead
notify::width/::heightconnections (GTK4 widgets have no such properties) that kept sticky scroll and multi-cursor overlays from ever recomputing. - perf: Removed redundant recomputation and repainting on typing/scrolling hot paths — incremental per-block spellchecking, preview fade only redraws on change, page-size caching with callback delivery instead of polling, narrowed structure-page and stats refresh scope, mtime-cached user snippets.
- feat: Status bar now shows the last build result of the root document as plain text and opens the build log on click.
- i18n: Translated 160+ backlog entries across all seven languages; untranslated count per language is now 44 (the language-picker autonyms, untranslated by design). POTFILES was stale and had never extracted 81 strings.
- Windows portable build moved to MSYS2 UCRT64: MSYS2 has been dropping MINGW64 builds of leaf packages since 2026-10, and gtk4, libadwaita and gtksourceview5 no longer ship a mingw64 variant, so the build now uses the recommended UCRT64 environment. The portable package's top-level directory changes from
mingw64toucrt64; the launcher is nowucrt64\bin\setzer.bat. README and packaging docs updated accordingly. - test: Added headless regression coverage for the animation preference, gutter cache, scroll throttling and hot-path scheduling, plus a source-scan guard against the dead
notify::widthpattern.
NeoSetzer 85
v85 — 2026-10-02
主要改进
-
修复多处运行时崩溃:本批崩溃均由新引入的静态检查流程发现,属单元测试覆盖不到的 GTK 运行路径——偏好设置快捷键捕获按下任意键即崩(缺 Gdk 导入);构建日志行右键菜单弹出即崩(
GdkRectangle不是 PyGObject 暴露的名字,应为Gdk.Rectangle);取消「保存构建日志」对话框即崩(except GLib.Error未导入 GLib);AI 修复发送后执行阶段崩(agent_runner为函数局部导入不跨方法共享,提升为模块级导入)。 -
修复解释器缺失弹窗无法操作:latexmk 缺失时弹窗没有任何按钮也无法可靠关闭;现两个分支共用「取消 / 前往偏好设置」响应组。
-
修复预览分段控件全灭态判断:
Adw.ToggleGroup未选中时get_active()返回G_MAXUINT而非负数,原来的active < 0兜底永不成立;改为按档位数判界,恒有一档亮着。 -
恢复失焦时关闭 undo 分组:document controller 中
_on_focus_leave被后置的空占位实现静默覆盖,删除占位后「切走再切回时 Ctrl+Z 不再作用于上一段连续输入」的行为恢复生效。 -
代码清理:93 个文件清理未使用导入与未用局部变量;测试中行内
open()改 with 语句消除 ResourceWarning,文档字符串加 r 前缀消除 SyntaxWarning;全仓库通过ruff check零告警。
Improvements
- fix: Preference shortcut capture no longer crashes on any keypress (missing
Gdkimport). - fix: Build log crashes fixed — row context menu popup (
GdkRectangle→Gdk.Rectangle), cancelling "Save log" (unimportedGLib.Error), and the AI-fix execute step (agent_runnerhoisted to a module-level import). - fix: Interpreter-missing dialog shares its Cancel / Go-to-Preferences responses across both branches; the latexmk branch previously produced a buttonless dialog that could not reliably be closed.
- fix: Preview segmented control now handles the "no active toggle" state (
G_MAXUINT, not negative) by falling back per toggle count. - fix: Focus-leave closes the undo group again (an empty stub overriding the real implementation was removed).
- refactor: Removed unused imports and locals across 93 files; tests use with-open and raw docstrings (no more ResourceWarning/SyntaxWarning); the repo passes
ruff checkwith zero warnings.
NeoSetzer 84
v84 — 2026-09-28
主要改进
-
新增 TikZ 片段实时预览:预览面板新增「片段预览」模式,实时渲染选中的 TikZ 代码;整篇 PDF 预览与片段预览通过工具栏分段控件一键切换。
-
新增数学公式悬停预览:在编辑器中悬停数学公式即可看到渲染预览,并修复了悬停时的闪烁、改用同心圆角并以 2 倍清晰度显示。
-
新增 chktex 实时 lint 集成:编辑时实时检查 LaTeX 常见语法与排版问题,即时提示。
-
新增智能引号与上下标自动花括号:输入引号、上下标时自动补全/包裹花括号,减少手误。
-
新增固定/取消固定文档标签页:可固定常用文档标签页,便于在多文档间切换时保持常用文件常驻。
-
新增标签页未使用/重复 label 检查:侧栏可检测文档中未引用或重复的
\label,帮助清理。 -
预览与侧栏面板切换统一为分段控件:预览/帮助两工具栏与侧栏 Document Structure / Symbols 面板切换,全面改用 libadwaita
Adw.ToggleGroup图标档位(当前档高亮、单击直达),移除原先「图标显示目标面板」的互斥单按钮;默认侧栏面板改为 Document Structure。 -
Fit to Width 按钮按下态:预览 fit_to_width 模式下该按钮显示按下态,状态更直观。
-
修复点击 PDF 目录跳到下一页:修正 PDF 目录跳转目标偏移一页的问题。
-
修复行号列顶部细亮条:消除行号列顶部未绘制的细亮条瑕疵。
-
构建系统回退提示:latexmk 缺失时自动回退构建并给出针对性提示,便于排查环境。
-
图标与资源精简:替换多处按钮图标、精简 SVG 资源并调整渐变透明度。
-
翻译与 About 完善:include-bibtex 样式选择改用分段控件(样式名明确不翻译);About 页面补全贡献者署名并修复 po 数据损坏。
Improvements
- feat: TikZ snippet live preview in the preview panel, switchable with full-PDF preview via a segmented control.
- feat: Math formula hover preview in the editor (flicker-free, concentric rounded corners, 2× display).
- feat: Real-time chktex lint integration while editing.
- feat: Smart quotes and automatic braces around sub/superscripts.
- feat: Pin/unpin document tabs.
- feat: Detect unused or duplicate
\labelentries in the sidebar. - refactor: Unified preview/help and sidebar panel switching onto libadwaita
Adw.ToggleGroupsegmented controls (active state highlighted, one-click navigation), replacing the old mutually-exclusive single button; default sidebar page is now Document Structure. - feat: Fit to Width button shows a pressed state in fit_to_width mode.
- fix: PDF table-of-contents links jumping to the next page.
- fix: Thin bright line at the top of the line-number gutter.
- fix: Build system falls back gracefully with a targeted hint when latexmk is missing.
- style: Replaced several button icons, trimmed SVG assets, adjusted gradient opacity.
- i18n: Include-BibTeX style selection moved to a segmented control (style names explicitly untranslated); About page contributor credits completed and corrupted po data fixed.
NeoSetzer 83
v83 — 2026-09-18
主要改进
-
全语言翻译补全至事实上的 100%:zh_CN(43 条)、zh_TW 与 de/es/fr/it/pt_BR(各 57 条)补全 v82 引入却遗漏翻译的字符串,覆盖 appdata 元数据与 fork 更新日志(23 条)、LaTeX 宏包描述(
general.xml片段如 amsfonts/braket/geometry,19 条)、AI 报错与设置文案以及整应用缩放(14 条)三类;\url{..}的双反斜杠变体一并补译。各语言用词跟随该语言 po 既有术语风格(如 zh_TW 的「偏好設定/建置/重設」、pt_BR 的 Preferências、it 的 Impostazioni),44 条语言名 autonym 按设计保持原语言不译。 -
应用图标书页边缘接缝修复:修正
data/org.cvfosammmm.Setzer.svg中书页边缘出现的浅色接缝,图标在小尺寸与深色背景下过渡更平滑。
Improvements
-
i18n: Filled in the strings introduced by v82 that had been left untranslated — zh_CN gained 43 entries and zh_TW plus de/es/fr/it/pt_BR 57 each — covering appdata metadata and the fork changelog (23), LaTeX package descriptions from
general.xmlsuch as amsfonts/braket/geometry (19), and AI error/settings text along with app-level zoom strings (14). The double-backslash\url{..}variant was translated as well. Wording follows each language's existing po terminology (e.g. zh_TW's 偏好設定/建置/重設, pt_BR's Preferências, it's Impostazioni); the 44 language-name autonyms stay untranslated by design, so all 7 languages are now effectively at 100%. -
fix: Removed the light seam along the page edges of the application icon (
data/org.cvfosammmm.Setzer.svg), so it blends cleanly at small sizes and on dark backgrounds.
NeoSetzer 82
v82 — 2026-09-17
主要改进
-
应用级界面缩放(Ctrl+加/减/0):三个快捷键由「仅缩放编辑器字号」升级为整个应用界面缩放,走
gtk-xft-dpi(与 GNOME 文本缩放同源机制),菜单、标签、按钮、编辑器等全部文字随动,跨重启持久化;新增离散阶梯纯逻辑模块(1.1^k,约 51%–236%,in/out 索引互逆,杜绝浮点漂移)与恰好 100% 时不触碰系统设置的接管语义。图标与编辑器字号同步随动:新增helpers/zoom_css.py按倍率生成镜像样式表(穷举 libadwaita/libgtk 全部-gtk-icon-size字面值,运行时自动抽取自研样式),帮助页 WebKit 注入样式同步乘入倍率;编辑器字号缩放保留给 Ctrl+滚轮,与应用缩放两轴正交可叠加。另为UIZoomManager增加惰性自举机制,修复入口脚本陈旧时缩放功能静默失效。 -
全新应用图标与符号图标体系:应用图标更换为更贴合应用定位的书籍造型新设计(整体缩放到 93% 并保持 128×128 画布尺寸);新增按 HIG 自主图标提炼的 16×16
org.cvfosammmm.Setzer-symbolic.svg(圆盘 + 菱形镂空 + 后方方块,支持主题着色),欢迎页空状态图标随之更换。 -
SyncTeX 反向同步跳转对齐视口居中:按住 Ctrl 从 PDF 点回源码时,目标行由「最小可见化滚动」改为垂直居中对齐,跳转位置更醒目(文档首尾由 Gtk 自动夹紧)。
-
稳定性与内存优化:修复文档统计侧栏空闲时持续刷新的循环;构建完成后延迟 3 秒调用
malloc_trim归还 glibc 空闲页,解决构建后 RSS 居高不下;预览侧栏动画期间保留旧纹理作占位、新尺寸渲染完成后再替换,消除白屏;子进程输出解码改为 UTF-8 → 系统 preferred encoding →errors='replace'三级容错,修复中文 Windows 上 SyncTeX 出错走 cp936 代码页导致的后台线程崩溃。 -
AI Fix 错误提示与工具选择修复:拆分「未配置 executable」与「系统上不可用」两类错误提示并分别指引去 Preferences 配置或检查 PATH;新增
resolve_tool_config共享工具选择逻辑(优先 active tool,不可用时自动挑选首个可探测工具),修复第一个工具不可用时仍被选中、组装完 prompt 才报错的问题,标题栏终端按钮与 Build Log 入口同步受益。 -
翻译质量与语言切换修复:新增
po/sync-po.sh同步脚本(--no-fuzzy-matching杜绝 fuzzy 错配、--check模式接入 CI 校验),es/it 补译至 100%,修正 zh_CN 存量 fuzzy 错配与未译条目,全部 7 种语言达 100% 翻译率、零 fuzzy、零 obsolete;修复开发模式下界面语言切换不生效(locale 查找路径改为指向构建目录po/,无需先meson install)。
Improvements
-
feat/fix: App-level UI zoom on Ctrl+Plus/Minus/0 via
gtk-xft-dpi(same mechanism as GNOME text scaling): all text — menus, tabs, buttons, editor — scales together and persists across restarts. New discrete 1.1^k ladder (~51%–236%) with invertible in/out indices to eliminate float drift, and takeover semantics that leave system settings untouched at exactly 100%. Icons and editor font now follow the zoom via a generated mirror stylesheet (helpers/zoom_css.py, exhaustively covering libadwaita/libgtk-gtk-icon-sizeliterals and auto-mirroring custom styles); the WebKit help panel multiplies the factor into its injected style sheet. Editor font zoom moves to Ctrl+wheel and stays orthogonal to app zoom. A lazy bootstrap inUIZoomManagerfixes zoom silently failing with a stale entry script. -
feat/style: Brand-new book-style application icon (scaled to 93% within the 128×128 canvas) plus a new HIG-derived 16×16 symbolic app icon (disc + diamond cutout + backing square, theme-tintable); the welcome screen's empty state now uses it.
-
feat: SyncTeX reverse sync (PDF → source) now centers the target line in the editor viewport instead of minimally scrolling it into view.
-
fix/perf: Stop the idle refresh loop of the document-stats sidebar; call
malloc_trimafter builds (3 s delay) so glibc returns free pages, keeping RSS down after long compile sessions; keep the previous preview texture during sidebar resize animations to eliminate white frames; and decode build/sync subprocess output with a three-tier fallback (UTF-8 → preferred encoding →errors='replace'), fixing a background-thread crash on Chinese Windows where synctex errors arrive in cp936/GBK. -
fix: AI Fix now distinguishes "no executable configured" from "not available on this system" with targeted guidance for each, and a shared
resolve_tool_confighelper picks the first available agent tool instead of blindly defaulting totools[0]. -
i18n/fix: New
po/sync-po.shworkflow (no-fuzzy merging, stable ordering,--checkmode wired into CI) brings all 7 languages to 100% translation with zero fuzzy/obsolete entries — es and it filled in manually, zh_CN mismatched fuzzy translations corrected; dev-mode language switching now works by pointing gettext at the build directory's compiled.mofiles, no install step required.
NeoSetzer 81
v81 — 2026-08-31
主要改进
-
预览面板文字选择与放大镜工具栏:预览画布新增文字拖选高亮(光标变 I-beam,拖选自动归整到 glyph 边界,复用 GTK 文本复制流程),并在画布浮层基于浮点字形框精修消除与文字的错位;工具栏新增放大镜开关(Gtk.Fixed 定位修复画布 margin 溢出,画布侧支持打开后跟随真实 PDF、编译期间保持显示上一次编译结果)。预览渲染管线同步引入 draft 低分辨率兜底:单个耗时 > 200 ms 或有更高优先级构建在飞时自动降级到 draft,单帧端到端耗时 ~1650 ms → ~120 ms。
-
多光标编辑转正与列选拖动体验收紧:多光标编辑从实验性开关移除,改用分级门控(列选拖动阈值收紧、补齐 drag-end 抖动点击兜底,回归测试覆盖取消/拖出窗口/未触发修饰键三条边界),并修复多光标模式下的快捷键与交互残留问题。
-
AI 设置整合与「在终端中打开 Agent」快速入口:AI 相关设置从独立页迁移到 General 页并更名为 AI Settings(含重排各页设置分组顺序、修复重置取消路径 NameError、阻止 ComboRow 重建冲掉用户保存的 active agent tool)。主窗口标题栏新增「在终端中打开 Agent」快速入口(裸启动 AI Fix 配置的 Agent CLI,不预填 prompt,工作目录 = 活动 LaTeX 文档所在目录),welcome 模式下隐藏避免空文档误操作。
-
Git 集成:行级 diff 标记与侧栏面板(cvfosammmm#216 cvfosammmm#443):编辑器 gutter 实时显示当前文件的增删行标记,Git 侧栏面板提供仓库状态浏览,配合已有的提交流程形成完整回路;偏好页 Git 面板 subtitle 裸
&改为 Pango 实体&,翻译文件同步更新(git 信任对话框 msgstr 结尾换行对齐)。 -
标签页 / 工作区关闭协议回归与编辑器稳定性收尾:关闭协议增加视图成员检测与 TabView
page_belongs_to_this_view契约修复,幽灵标签页与Adwaita-CRITICAL警告消除;未保存标签页的 Cancel/Esc 不会再误关;标题栏预览按钮跟随面板真实状态;旧 worker 被新构建取代后不再继续执行残留任务;搜索 Replace 按钮判定统一由_current_match提供并适配GtkSourceSearchContext 四元组返回值;预览期间避免文字选择高亮与文字错位。
Improvements
-
feat: Preview canvas gains native text selection (I-beam cursor, drag-to-select snapped to glyph rectangles, GTK copy on highlight) and the canvas overlay is repositioned via
Gtk.Fixedto stop margin overflow. The preview toolbar now has a magnifier toggle; the canvas keeps showing the previous build while a new compile is running. The render pipeline adds a draft low-resolution fallback — frames slower than 200 ms or with a higher-priority build in flight automatically downgrade to draft, taking end-to-end per-frame from ~1650 ms down to ~120 ms. -
feat/refactor: Multi-cursor editing is promoted out of the experimental gate into a tiered-gating default. The column-select drag threshold is tightened, a drag-end jitter-click fallback is added, and regression coverage now includes cancel / drag-out-of-window / missing-modifier edge cases. Latent shortcut and interaction glitches in multi-cursor mode are fixed.
-
feat/refactor/fix: AI settings move from a dedicated page into General under the new name "AI Settings"; preference group order is rebalanced across all pages, the reset-cancel
NameErroris fixed, andComboRowrebuilds no longer wipe the user's saved active agent tool. A new "Open AI agent in terminal" entry appears in the main headerbar (bare-launch of the AI-Fix-configured agent CLI with no pre-filled prompt, working directory = active LaTeX document), and is hidden on the welcome page so an empty document can't trigger it. -
feat/fix/i18n: Git integration adds per-line diff markers in the editor gutter and a sidebar repository panel, completing the loop with the existing commit flow alongside cvfosammmm#216 / cvfosammmm#443. The Git preferences panel's subtitle now escapes a bare
&as Pango entity&; the trust-dialog msgstr trailing newlines are aligned, and translation files are refreshed. -
fix: The tab-close protocol grows view-membership detection plus the
page_belongs_to_this_viewTabView contract fix, killing ghost tabs and theAdwaita-CRITICALwarnings. Cancel/Esc on unsaved tabs no longer accidentally dismisses them; the headerbar preview button now follows the panel's real state; superseded build workers stop running leftover tasks. The search Replace button is sourced from_current_matchand adapted toGtkSource's 4-tupleSearchContextreturn; text-selection overlays in the preview no longer drift off the glyphs.
NeoSetzer 80
v80 — 2026-08-27
主要改进
- 对话框全面改用 libadwaita 原生组件:Include BibTeX 文件、文献编辑器、项目构建设置、AI 修复预览、构建日志过滤与命令面板等统一使用标准原生控件,界面与系统风格一致
- 汉堡菜单新增 Preamble Assistant 入口:可直接打开前置助手
- 修复多处对话框问题:修复未配置项目时打开构建设置对话框崩溃、Include BibTeX 样式预览图丢失、文献字段编辑误删字符及无选区崩溃
Improvements
- refactor: Migrate dialogs to standard libadwaita components — Include BibTeX file, bibliography editor, project build configuration, AI fix preview, build log filter, and command palette
- feat: Add a Preamble Assistant entry to the hamburger menu
- fix: Fix a crash when opening the build settings dialog without a project configuration, restore lost style previews in the Include BibTeX dialog, and fix character loss / selection crash in bibliography field editing
NeoSetzer v79
v79 — 2026-08-26
主要改进
- 新增多文档标签页(cvfosammmm#231):以原生标签页展示打开的文档,支持拖拽排序、关闭标签,并新增显示/隐藏标签栏的偏好设置
- PDF 预览新增放大镜(cvfosammmm#398):按住左键即可放大查看预览内容
- 新增文献格式化(cvfosammmm#229):一键整理格式化参考文献
- 新增项目级构建配置:可为每个项目保存命名构建配置与可复用任务序列
- 增强文献编辑:支持多选引用插入、带花括号可选参数的引用补全、@string 宏管理及字段文本转换
- 支持从用户模板创建文档(cvfosammmm#279):新建文档时可直接使用 Templates 目录中的模板
- 扩展构建设置:新增输出链(PDF / PDF via PostScript)、SyncTeX 开关与 TEXMFHOME 支持
- 完善信件模板(cvfosammmm#170):新增 scrlttr2 信头样式、数字日期、地址、传真等选项
- 新增法语本地化
Improvements
- feat: Add native multi-document tabs with Adw.TabView (cvfosammmm#231) — drag reorder, close buttons, and a "show tab bar" preference
- feat: Press the left mouse button to magnify the PDF preview (cvfosammmm#398)
- feat: Add one-click bibliography formatting (cvfosammmm#229)
- feat: Add per-project named build profiles with reusable task sequences
- feat: Enhance bibliography editing — multi-select citation insertion, cite autocomplete with optional bracketed arguments, @string macro management, and right-click text conversion
- feat: Create new documents from templates in the user Templates directory (cvfosammmm#279)
- feat: Add output chain (PDF / PDF via PostScript), SyncTeX toggle, and TEXMFHOME build options (cvfosammmm#223)
- feat: Add scrlttr2 letter details — heading lines, numerical date, place, fax, back address, and page style (cvfosammmm#170)
- feat: Add French localization
NeoSetzer v78
v78 — 2026-08-24
主要改进
- 新增矩阵创建对话框(cvfosammmm#152):仿照插入表格对话框实现,提供 pmatrix、bmatrix、Bmatrix、vmatrix、Vmatrix、matrix、matrix* 共 7 种 amsmath/mathtools 矩阵环境;支持自定义行数/列数(1–20)、matrix* 对齐方式(居中/左/右);空单元格渲染为编辑器占位符,插入后可通过 Tab 键依次填写。所需 amsmath / mathtools 包会自动添加到文档中。入口包括对象菜单、命令面板和可配置快捷键。
- 新增原生命令面板:基于 GTK4 构建,支持 Ctrl+Period 快捷键唤起;可搜索全部菜单命令、显示最近使用和可用快捷键;通过键盘选择结果并直接执行。
- 新增 LaTeX 实时拼写检查与词表管理:支持防抖式实时检查、拼写错误波浪线提示、替换建议、会话忽略和用户词典持久化;能够识别 LaTeX 命令、数学环境、引用与路径,避免误报。
- 新增原生 LaTeX 表格生成器:提供完整的表格对话框,支持多行多列网格编辑、单元格合并与拆分、表格样式(Plain rules / Booktabs)、长表格(longtable)跨页支持、导入/粘贴 TSV/CSV 数据;插入后可自动添加所需宏包。
- 新增用户自定义 LaTeX 代码片段:允许用户创建、编辑和删除自定义的 LaTeX 片段,在命令面板和符号面板中可搜索并插入。
- 新增文献管理器:支持创建和管理
.bib文件,提供条目类型选择、字段编辑和导入/导出功能。 - 新增插入图片对话框:支持从文件或剪贴板插入图片,保存常用设置,并为关键控件补充工具提示;未保存文档会先提示保存以获取目标目录。
- 增强文档向导:改进文档类型页面布局与模板选择器;新增 scrlttr2 信头字段、KOMA 信函模板选项(cvfosammmm#170)和 Beamer 主题搜索功能;支持窄窗口自适应布局;新增用户自定义文档模板;在文档创建前显示待确认信息。
- 增强文档大纲:显示章节编号,支持附录和计数器,新增 Beamer 帧导航;修复嵌套章节标题解析和短文档块保护。
- 增强导航与粘性滚动:为诊断信息目标(标签、引用、待办)保留上下文并居中显示;修复粘性滚动标题下方的上下文保留和阅读边距。
- 优化编辑器滚动、行号栏与粘性滚动:以 FrameClock 驱动惯性滚动;改进行号栏离屏缓存、HiDPI/分数缩放下的文字与图标清晰度,以及粘性滚动的行高和绘制一致性。
- 新增直接打印功能:替换打印对话框为直接调用 Gtk.PrintJob 打印,简化打印流程。
- 新增预览 PDF 外部监控:当 PDF 文件在外部被修改时自动检测并更新预览。
- 支持 TeX 魔术注释:允许通过魔术注释指定编译引擎和命令。
- 刷新首次运行教程:重新设计初次运行引导界面,提供更好的入门体验。
- 新增交互式示例项目:提供可写的示例项目副本和高级功能导图,方便新用户快速了解编辑器功能。
- 继续列表项输入:按 Enter 时自动插入新
\item,无需手动输入。 - 改善常用交互与界面细节:打开文件时默认定位到当前活动文档目录;优化自动补全背景、预览菜单、搜索展开图标和光标滚动行为。
- 修复构建、同步与文档处理稳定性问题:修复正向/反向同步与构建中止冲突、非 LaTeX 文档导致的属性错误和构建挂起,以及文本编辑后的迭代器失效问题。
- 修复预览面板样式:调整预览卡片宽度、圆角和间距以保持视觉一致性。
- 修复自动保存恢复:在恢复的文件名中转义 Markup 字符,防止 XML 解析错误。
- 修复编辑器折叠:调整折叠符号居中逻辑和图标尺寸。
- 修复命令面板样式:使用扁平列表样式并修复空状态显示。
- 修复自动补全:修复 preamble 过滤未生效问题并预计算命令基础名;修复补全弹窗背景透明问题。
- 修复插入图片对话框:在粘贴图片前先提示保存未保存文档。
- 修复 LaTeX 数据库崩溃:修复未初始化文件的解析崩溃。
- 建立跨平台打包与发布支持:新增 Debian、Windows x64 和 macOS Apple Silicon 自动打包;Windows 与 macOS 包内置 Adwaita symbolic 图标主题,保证非 GNOME 平台上的图标一致性;同时加入持续集成测试。
- 重构偏好设置:将 LaTeX 代码片段折叠到编辑器页面;将实验性功能设置移至编辑器页面。
- 重构构建日志对话框:替换 GLib 排序为 Python 内置排序,添加错误/警告/badbox 类型过滤器,优化行激活跳转逻辑。
Improvements
- feat: Add Insert Matrix dialog (cvfosammmm#152) — 7 amsmath/mathtools matrix environments (pmatrix, bmatrix, Bmatrix, vmatrix, Vmatrix, matrix, matrix*), adjustable rows/columns (1–20), column alignment for matrix*. Empty cells render as • placeholder for Tab navigation. Required packages added automatically.
- feat: Add native GTK4 command palette — Ctrl+Period to invoke, searchable across all menu commands, shows recently used and available shortcuts, keyboard-selectable results.
- feat: Add real-time LaTeX-aware spellchecking with debounced diagnostics, replacement suggestions, session ignore, persistent user dictionaries, and exclusions for commands, math, citations, and file paths.
- feat: Add native LaTeX table generator dialog — full grid editing, cell merges, plain/booktabs styles, longtable support, TSV/CSV import/paste.
- feat: Add user-defined LaTeX snippets — create, edit, and delete custom snippets searchable in the command palette and symbols panel.
- feat: Add bibliography manager for creating and managing .bib files with entry type selection, field editing, and import/export.
- feat: Add insert-image dialog with file and clipboard support, saved defaults, and improved control tooltips; prompt to save unsaved documents before pasting images.
- feat: Improve document wizard — better document-class page layout and template choosers, scrlttr2 letterhead fields, KOMA letter template options (cvfosammmm#170), Beamer theme search, narrow-window adaptation, user document templates, and pending document creation confirmation.
- feat: Improve document outline — show section numbers, support appendices and counters, add Beamer frame navigation; fix nested section title parsing and guard against short blocks.
- feat: Improve navigation and sticky scrolling — preserve context for label, reference, and todo jumps with centering; fix sticky scroll reading margin and context below sticky headers.
- perf: Drive inertial scrolling with FrameClock; improve gutter off-screen caching, HiDPI/fractional-scaling text and icon rendering, and sticky-scroll line-height and drawing consistency.
- feat: Replace print dialog with direct Gtk.PrintJob printing.
- feat: Monitor externally changed PDFs for automatic preview updates.
- feat: Support TeX magic comments for specifying compile engine and command.
- feat: Refresh first-run tutorial with improved onboarding.
- feat: Add interactive example project with writable copies and advanced feature map.
- feat: Auto-continue LaTeX list items on Enter.
- improvements: Open the file chooser in the active document directory; refine autocomplete backgrounds, preview context menus, search disclosure icons, and cursor scrolling behavior.
- fix: Resolve forward/backward SyncTeX and build-cancellation conflicts, non-LaTeX document property errors and build hangs, and invalid iterators after text-buffer edits.
- fix: Match preview card width, rounded corners, and spacing.
- fix: Escape markup in autosave recovery file names.
- fix: Adjust gutter fold symbol centering and icon size; fix HiDPI/fractional-scaling line number and icon blurriness; fix gutter off-screen cache blank on upward scroll.
- fix: Use flat list style and fix empty state in command palette.
- fix: Fix preamble filtering not applying and precompute command base names in autocomplete; fix autocomplete popup background transparency.
- fix: Prompt to save unsaved documents before pasting images.
- fix: Fix LaTeX database parse crash on uninitialized files.
- ci: Add automated Debian, Windows x64, and macOS Apple Silicon packaging with continuous tests; bundle Adwaita symbolic icon theme for non-GNOME platforms.
- refactor: Fold LaTeX snippets into Editor page; move experimental feature settings into Editor page.
- refactor: Replace GLib sorting with Python built-in sorting in build log dialog; add error/warning/badbox type filter checkboxes; optimize row activation jump logic.
NeoSetzer v77
v77 — 2026-08-21
主要改进
- 新增 LaTeX 实时拼写检查与词表管理:支持防抖式实时检查、拼写错误波浪线提示、替换建议、会话忽略和用户词典持久化;能够识别 LaTeX 命令、数学环境、引用与路径,避免误报。
- 新增插入图片对话框:支持从文件或剪贴板插入图片,保存常用设置,并为关键控件补充工具提示。
- 优化编辑器滚动、行号栏与粘性滚动:以 FrameClock 驱动惯性滚动;改进行号栏离屏缓存、HiDPI/分数缩放下的文字与图标清晰度,以及粘性滚动的行高和绘制一致性。
- 修复构建、同步与文档处理稳定性问题:修复正向/反向同步与构建中止冲突、非 LaTeX 文档导致的属性错误和构建挂起,以及文本编辑后的迭代器失效问题。
- 改善常用交互与界面细节:打开文件时默认定位到当前活动文档目录;优化自动补全背景、预览菜单、搜索展开图标和光标滚动行为。
- 建立跨平台打包与发布支持:新增 Debian、Windows x64 和 macOS Apple Silicon 自动打包;Windows 与 macOS 包内置 Adwaita symbolic 图标主题,保证非 GNOME 平台上的图标一致性;同时加入持续集成测试。
Improvements
- feat: Add real-time LaTeX-aware spellchecking with debounced diagnostics, replacement suggestions, session ignore, persistent user dictionaries, and exclusions for commands, math, citations, and file paths.
- feat: Add an insert-image dialog with file and clipboard support, saved defaults, and improved control tooltips.
- perf: Drive inertial scrolling with FrameClock; improve gutter off-screen caching, HiDPI/fractional-scaling text and icon rendering, and sticky-scroll line-height and drawing consistency.
- fix: Resolve forward/backward SyncTeX and build-cancellation conflicts, non-LaTeX document property errors and build hangs, and invalid iterators after text-buffer edits.
- improvements: Open the file chooser in the active document directory; refine autocomplete backgrounds, preview context menus, search disclosure icons, and cursor scrolling behavior.
- ci: Add automated Debian, Windows x64, and macOS Apple Silicon packaging with continuous tests; bundle the Adwaita symbolic icon theme in Windows and macOS packages for consistent non-GNOME icon rendering.