mcpField
F
formula-normalizer

formula-normalizer

github.com/mercatorprojドキュメント855 回インストール3 週間前に更新
リポジトリ

formula-normalizer について

Formula Normalizerは、数式の書式統一と記号の一貫性確認を行うスキルです。論文執筆者向けに、意味を保った書式整理と、構造化されたアルゴリズム比較文の作成を支援します。

主な機能

  1. 01インライン数式と独立数式の整形
  2. 02LaTeX構文の確認
  3. 03記号の一貫性チェック
  4. 04数式スタイルの選択
  5. 05論文向けアルゴリズム比較文の作成
  6. 06変更・一貫性レポートの出力

活用シーン

  1. 01Markdown文書の数式書式の統一
  2. 02論文全体の数式記号の統一
  3. 03LaTeX表現の誤り確認
  4. 04数値手法の比較文の作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mercatorproj/vibe-thesis-skills --skill formula-normalizer

インストール後、Claude Code で/formula-normalizerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE
README.md
references/
algorithm-template.md
formula-rules.md
symbol-consistency.md

詳細

数式の正規化

概要

本技能は、2つの主要な機能を提供します。(1)数式の書式の標準化と記号の一貫性チェック、(2)学位論文における古典的アルゴリズムの比較記述用テンプレートの生成です。体系的な正規化プロセスと構造化テンプレートにより、学術文書における数学的表現の専門性と一貫性を確保します。

ワークフロー決定木

用户请求处理
    ↓
识别请求类型(公式规范化 / 算法对比描述)
    ↓
┌─────────────────┴─────────────────┐
│                                   │
公式规范化                          算法对比描述
│                                   │
↓                                   ↓
分析文档中公式                      收集算法信息
↓                                   ↓
询问风格偏好                        生成结构化描述
↓                                   ↓
应用规范化规则                      输出学术级对比
↓                                   ↓
检查符号一致性                      质量检验
↓                                   ↓
返回规范化结果                      返回对比描述
└─────────────────┬─────────────────┘
                  ↓
            输出最终结果

パート1:数式の書式の標準化

適用シーン
  • Markdown文書内の数式の書式の正規化
  • 学位論文における数式書式の統一
  • LaTeX構文エラーのチェックと修正
  • 文書全体の数学記号の一貫性チェック
基本ルール
1. 独立表示数式の標準化

書式要件:

  • 独立して表示されるすべての数式(単独の行にあり、中央揃えで表示されるもの)は、二重ドル記号で囲む必要があります
  • 書式:$$ ... $$
  • 数式の前後には適切な空行を入れる必要があります

禁止される書式:

  • \[ ... \] - LaTeXのディスプレイ数式
  • $$...$$(空白なし)- 不適切な書式
  • \begin{equation}...\end{equation} - LaTeXのequation環境
  • その他の標準外LaTeX環境

正しい例:

牛顿迭代法的迭代公式为:

$$
x_{k+1} = x_k - \frac{f(x_k)}{f'(x_k)} \tag{2}
$$

其中:$x_k$ 为第 $k$ 次迭代的近似解。
2. インライン数式の標準化

書式要件:

  • 段落内のテキストに埋め込まれたすべてのインライン数式は、単一のドル記号で囲む必要があります
  • 書式:$ ... $

正しい例:

函数 $f(x)$ 在区间 $[a, b]$ 上连续。
当 $|x_{k+1} - x_k| < \varepsilon$ 时,算法收敛。
3. LaTeX構文の正確性

要件:

  • 数式内のLaTeX構文は正しく保つ必要があります
  • 上付き文字、下付き文字、分数、ギリシャ文字、演算子などが含まれます

よくある修正:

  • 上付き文字・下付き文字:x^2 → x^{2}, x_i → x_{i}
  • 分数:a/b → \frac{a}{b}
  • ギリシャ文字:\alpha, \beta, \gamma など
  • 演算子:\neq, \leq, \geq, \times など
4. 意味を保持する原則

要件:

  • 原文の意味と内容を変更せずに保つ
  • 書式のみを変更し、テキストを追加・削除しない
  • 文を書き換えたり、数式の意味を変更したりしない
数式スタイルのモード

正規化を実行する前に、ユーザーにスタイルの希望を確認する必要があります。

Professional(専門的なスタイル)

特徴:

  • 完全なLaTeX構文を使用します
  • 必要なすべての括弧と区切り記号を含めます
  • 数式表現は厳密で、標準に準拠しています
  • 正式な学術出版物に適しています

例:

$$
x_{k+1} = x_k - \frac{f(x_k)}{f'(x_k)}
$$
Concise(簡潔なスタイル)

特徴:

  • 数式表現を簡潔にします
  • 冗長な括弧や区切り記号を削除します
  • 数式表現は簡潔で直感的です
  • 技術文書や講義資料に適しています

例:

$$
x_{k+1} = x_k - f(x_k)/f'(x_k)
$$
Standard(標準スタイル)

特徴:

  • 原文のスタイルを維持します
  • 書式の標準化のみを行います
  • 数式の表現方法は変更しません
  • 一般的な文書に適しています
記号の一貫性チェック
チェック項目
  1. 変数名の一貫性

    • 文書全体で変数名を統一します(例:x_i と x_{i})
    • 上付き文字・下付き文字の書式を統一します
    • ベクトル・行列の表記を統一します(例:\mathbf{x} と \vec{x})
  2. 演算子の書式の一貫性

    • 乗算演算子を統一します(\times と *)
    • 除算演算子を統一します(\frac と /)
    • 比較演算子を統一します(\leq と <=)
  3. ギリシャ文字の一貫性

    • LaTeXコマンドを統一して使用します(\alpha と α)
    • 大文字・小文字の書式を統一します
    • 斜体・立体の使用を統一します
  4. 関数名の一貫性

    • 関数の表記を統一します(例:\sin と sin)
    • 独自関数の書式を統一します
    • 略語と正式名称を統一します
処理の流れ
フェーズ1:文書の分析
  1. 数式の識別

    • 独立表示数式をすべて識別します
    • インライン数式をすべて識別します
    • 正しく囲まれていない数式表現を識別します
  2. 書式のチェック

    • 数式の書式が規範に準拠しているか確認します
    • 標準外の書式を識別します
    • LaTeX構文エラーをチェックします
  3. 記号の集計

    • 変数の使用頻度を集計します
    • 演算子の使用状況を集計します
    • ギリシャ文字の使用状況を集計します
フェーズ2:スタイルの確認

ユーザーへの確認:

请问您希望采用哪种公式风格?
1. Professional(专业化)- 使用完整LaTeX语法,适合正式学术出版物
2. Concise(简洁化)- 简化公式表达,适合技术文档
3. Standard(标准)- 保持原文风格,仅进行格式规范化
フェーズ3:正規化の適用
  1. 書式の変換

    • 標準外の書式を標準書式に変換します
    • LaTeX構文エラーを修正します
    • 必要な空行と区切り記号を追加します
  2. 記号の統一

    • 変数名の書式を統一します
    • 演算子の書式を統一します
    • ギリシャ文字の書式を統一します
  3. 一貫性のチェック

    • 文書全体で記号の一貫性を検証します
    • 一貫していない記号の使用を識別します
    • 統一するための提案を提示します
フェーズ4:結果の出力
  1. 正規化済み文書

    • 正規化した文書全体を出力します
    • 原文の意味と内容を維持します
  2. 変更レポート

    • すべての変更内容を一覧表示します
    • 変更前後を比較して表示します
    • 正規化の統計情報を提示します
  3. 一貫性レポート

    • 記号の使用状況を一覧表示します
    • 一貫していない記号を識別します
    • 統一するための提案を提示します
処理例
入力例
函数 f(x) = x^2 在区间 [a,b] 上连续。
牛顿迭代公式为:
\[
x_{k+1} = x_k - f(x_k)/f'(x_k)
\]
其中 x_k 为第 k 次迭代的近似解。
出力例(専門的なスタイル)
函数 $f(x) = x^{2}$ 在区间 $[a,b]$ 上连续。
牛顿迭代公式为:

$$
x_{k+1} = x_k - \frac{f(x_k)}{f'(x_k)}
$$

其中:$x_k$ 为第 $k$ 次迭代的近似解。
出力例(簡潔なスタイル)
函数 $f(x) = x^2$ 在区间 $[a,b]$ 上连续。
牛顿迭代公式为:

$$
x_{k+1} = x_k - f(x_k)/f'(x_k)
$$

其中:$x_k$ 为第 $k$ 次迭代的近似解。

パート2:アルゴリズム比較記述の生成

適用シーン

修士論文・博士論文の以下の章で、2つ以上の基本アルゴリズム・数値手法・求解戦略を、正式かつ構造化された比較可能な形で紹介する必要がある場合:

  • 序論 - 研究の背景と関連手法の紹介
  • 研究背景 - 分野で広く使用されている手法の説明
  • 関連研究 - 既存手法の概説と比較
  • 方法論 - 採用した手法の詳細な説明

応用分野:

  • 計算力学、制御工学、金融数学
  • 地球物理学、生物モデリング、エネルギーシステム
  • 機械学習の基盤となるオプティマイザーなど、数値計算を扱うあらゆる分野

主な特徴:問題指向 + 手法ごとの説明 + 数式による裏付け + 比較のまとめ

入力要素

質の高いアルゴリズム比較記述を生成するため、ユーザーには以下の構造化情報を提供してもらいます。

要素説明例
研究課題解決する具体的な数値・計算上の問題"定常熱伝導偏微分方程式の陰的離散化システムを解く"
変数の性質連続値(実数領域)の求解であることを強調"状態変数 $u \in \mathbb{R}^n$ は連続場量である"
説明する手法の一覧紹介が必要なアルゴリズム名を明示(2~3種類が望ましい)"共役勾配法、ヤコビ反復法" または "二分法、ニュートン法"
数式の要否主要な数式と記号の説明を含めるかどうか"はい。すべての数式に番号を付け、記号の注釈を添える"
構成の希望「原理→数式→手順→比較」の流れを求めるかどうか"手法を1つずつ説明し、最後にまとめて比較する"
出力規範

生成内容は以下の基準を満たす必要があります。

文体
  • 正式で客観的、論理的に厳密であること
  • 中国語の学術論文の規範に従うこと
  • 正確な学術用語を使用すること
全体構成
  1. 導入段落

    • 研究課題の背景を説明する
    • 連続性の特徴を説明する
    • 説明する手法が必要な理由を示す
  2. 手法Aの説明

    • 基本原理と着想の由来を自然な段落で説明する
    • 主要な数式または反復形式を(番号付きで)示す
    • 数式のすぐ下に、記号説明表を記載する
    • 主要な実施手順と停止条件を自然な段落で概説する
  3. 手法Bの説明

    • 手法Aと同じ構成にする
    • 手法Cへ拡張可能
  4. 比較分析の段落

    • 以下の観点から客観的に比較する:
      • 収束性(大域的・局所的、次数)
      • 計算量(各ステップのコスト、メモリ要件)
      • ロバスト性(初期値、パラメーター、ノイズへの感度)
      • 適用条件(滑らかさ、微分可能性、単調性など)
      • 現在の応用分野への適合性
数学的表現
  • LaTeX形式を使用します
  • 変数は初出時に意味を定義します
  • 説明のない略語は避けます(例:「PDE」は初出時に「偏微分方程式(Partial Differential Equation, PDE)」と記載します)
分野との融合
  • 手法の動機と応用シーンを自然に結び付けます
  • 「手法の孤立」を避けます
  • 問題主導の動機を示します
内容構成テンプレート
在[研究领域]中,[具体问题,如"非线性系统的稳态响应计算"]通常归结为对连续变量 [变量符号] ∈ ℝⁿ 的求解任务,其数学形式常表现为[方程类型,如"非线性代数方程组 F(x) = 0"或"变分问题"]。针对此类问题,[方法A]与[方法B]作为两类具有代表性的数值策略,因其[各自优势],被广泛应用于[领域名称]的相关研究中。

[方法A名称]是一种[定性分类,如"基于区间收缩的确定性方法"或"基于梯度信息的一阶优化器"],其核心思想是[自然语言描述原理,可引用数学基础如介值定理、不动点原理、能量最小化等]。该方法特别适用于[说明适用场景,如"函数不可导但连续"或"大规模稀疏系统"]的情形。

[方法A]的关键更新规则/迭代公式如下:

$$
[公式]
\tag{1}
$$

其中:
- [符号₁]:[物理/数学含义];
- [符号₂]:[单位或约束条件];
- ⋯

其实现通常包含以下步骤:(1)[初始化,如设定初始区间或初值];(2)[主循环中的计算操作];(3)[收敛判据,如 ‖rₖ‖ < ε 或 |xₖ₊₁ − xₖ| < δ];(4)[输出结果或失败处理]。该方法具有[收敛性质,如"全局线性收敛"],其主要优势在于[鲁棒性/无需导数等],但[局限性,如"收敛速度慢"]。

相比之下,[方法B名称]则属于[另一类方法,如"基于局部近似的高阶方法"或"利用二阶信息的牛顿型算法"],其设计动机源于[思想来源,如"泰勒展开"、"KKT条件"等]。在[应用场景]中,当[前提条件,如"目标函数二阶可微"或"雅可比矩阵非奇异"]成立时,该方法能够显著提升求解效率。

[方法B]的迭代格式可表示为:

$$
[公式]
\tag{2}
$$

其中:
- [符号₁]:[说明];
- [符号₂]:[说明];
- ⋯

典型实施流程包括:(1)[初值选取策略];(2)[每步所需计算量,如函数值、梯度、Hessian];(3)[更新规则];(4)[收敛性监控]。在满足[理论假设]的前提下,该方法具备[收敛特性,如"局部超线性收敛"],但对[敏感因素,如初值质量、病态性]较为敏感。

综合而言,[方法A]与[方法B]在解决[研究问题]时呈现出明显的互补性。[方法A]以[优点]见长,适合[使用场景];而[方法B]则在[条件满足时]展现出[性能优势],但需承担[风险或成本]。因此,在实际工程或科研实践中,常采用[混合策略,如"外层用A保证收敛,内层用B加速"],以在**稳定性**与**效率**之间取得平衡。
出力例
例:二分法 vs ニュートン法
在数值计算领域,非线性方程求根问题通常归结为对连续变量 $x \in \mathbb{R}$ 的求解任务,其数学形式常表现为非线性代数方程 $f(x) = 0$。针对此类问题,二分法与牛顿迭代法作为两类具有代表性的数值策略,因其各自的优势,被广泛应用于科学计算和工程应用的相关研究中。

二分法是一种基于区间收缩的确定性方法,其核心思想是利用连续函数的介值定理,通过不断缩小包含根的区间来逼近真实解。该方法特别适用于函数不可导但连续的情形,对函数的光滑性要求较低。

二分法的关键更新规则如下:

$$
[a_{k+1}, b_{k+1}] = 
\begin{cases}
[a_k, c_k] & \text{if } f(a_k) \cdot f(c_k) < 0 \\
[c_k, b_k] & \text{if } f(c_k) \cdot f(b_k) < 0
\end{cases}
\tag{1}
$$

其中:
- $[a_k, b_k]$ 为第 $k$ 次迭代的区间,满足 $f(a_k) \cdot f(b_k) < 0$;
- $c_k = \frac{a_k + b_k}{2}$ 为区间中点;
- $f(\cdot)$ 为目标函数。

其实现通常包含以下步骤:(1)选取初始区间 $[a_0, b_0]$,确保函数在区间端点异号;(2)计算区间中点 $c_k$ 及其函数值 $f(c_k)$;(3)根据函数值符号更新区间;(4)判断收敛条件(如 $|b_k - a_k| < \varepsilon$ 或 $|f(c_k)| < \delta$),若满足则终止,否则继续迭代。该方法具有全局线性收敛性,其主要优势在于鲁棒性强、无需导数信息,但收敛速度较慢,每次迭代仅将区间长度减半。

相比之下,牛顿迭代法则是一种基于局部线性化思想的高阶数值方法,适用于函数光滑且导数可计算的情形。其核心在于利用函数在当前近似点处的一阶泰勒展开构造切线,并以切线与横轴的交点作为下一轮迭代的估计值。在车辆动力学中,当涉及如纵向加速度平衡、稳态转向角求解等可导非线性方程时,牛顿法能显著提升收敛效率。

牛顿迭代法的迭代公式为:

$$
x_{k+1} = x_k - \frac{f(x_k)}{f'(x_k)}
\tag{2}
$$

其中:
- $x_k$ 为第 $k$ 次迭代的近似解;
- $f(x_k)$ 为函数在 $x_k$ 处的取值;
- $f'(x_k)$ 为函数在 $x_k$ 处的一阶导数,且要求 $f'(x_k) \neq 0$。

该方法的关键步骤包括:(1)选取初始猜测值 $x_0$,通常基于物理先验知识(如车辆稳态运行工况下的合理参数范围);(2)在每一步迭代中计算函数值 $f(x_k)$ 及其导数 $f'(x_k)$;(3)利用公式 (2) 更新近似解;(4)判断收敛条件(如 $|x_{k+1} - x_k| < \varepsilon$ 或 $|f(x_{k+1})| < \delta$),若满足则终止,否则继续迭代。在函数 $f$ 二阶连续可导且初值 $x_0$ 充分接近真实根的条件下,牛顿法具有局部二次收敛性,即误差平方级衰减,远快于二分法。

综合而言,二分法与牛顿迭代法在解决非线性方程求根问题时呈现出明显的互补性。二分法以全局收敛和鲁棒性见长,适合初值未知或函数性质复杂的场景;而牛顿法则在初值质量良好且函数光滑时展现出超线性收敛优势,但需承担对初值敏感和导数计算成本的风险。因此,在实际工程或科研实践中,常采用混合策略(如外层用二分法保证收敛,内层用牛顿法加速),以在稳定性与效率之间取得平衡。
すばやくカスタマイズするためのキーワード置換表
プレースホルダー置換可能な内容の例
[研究領域]計算流体力学、構造ヘルスモニタリング、クオンツ金融、神経ダイナミクス
[研究課題]非線形方程式の求根、制約なし最適化、線形システムの求解、固有値計算
[変数の性質]連続状態ベクトル、実数値制御パラメーター、時空間場関数
[手法A/B]二分法 / ニュートン法;勾配降下法 / 共役勾配法;陽的オイラー法 / 陰的ルンゲ・クッタ法
[収束性]大域的線形収束、局所的二次収束、Q超線形収束、凸性条件下でのみ収束
注意事项与最佳实践
  • 术语准确性:区分相似概念(如"二分查找"用于离散数组 vs "二分法"用于连续求根)
  • 收敛性表述严谨:明确"全局收敛"需额外条件(如凸性、Lipschitz连续),避免过度承诺
  • 领域贴合技巧:在描述方法动机时,加入一句领域语境,例如:"在电池管理系统中,由于开路电压-荷电状态映射常呈非光滑特性,二分法成为可靠选择"
  • 可扩展性:本模板可轻松扩展至三方法对比,只需复制"方法描述"模块
  • 避免绝对优劣:强调"适用条件决定性能",而非"方法A优于方法B"

Resources

references/

这些参考文件包含详细的实施指南、具体规则和示例,在执行规范化任务时应根据需要查阅。

コメント