Skip to main content

glossary-indexer

扫描 Typst 文件中的标签(如 <def:limit-of-sequence-of-sets>),在 Appendix 的 Glossary 节中生成字母索引。

Zur Installation springen

Quellinformationen

Repository
locusyuri/MathRepo
Letzte Quellaktivität
16. Juni 2026 um 12:56
Erkannte Sprache von SKILL.md
Englisch
Sterne
6
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
glossary-indexer
description
扫描 Typst 文件中的标签(如 <def:limit-of-sequence-of-sets>),在 Appendix 的 Glossary 节中生成字母索引。
user_invocable
true
# Glossary Indexer (索引生成技能) ## Usage ``` /glossary-indexer <subject-initial.typ> ``` ## Workflow Given a Typst file path (e.g. `1.Analyse/Analyse Réelle/chapters/LebesgueIntegration.typ`), perform the following steps: ### Step 1: Scan for Labels Search the file for all labels matching the pattern: ```regex <[a-z]+:[a-z][a-z0-9-]*> ``` Examples: `<def:continuation>`, `<def:limit-of-sequence-of-sets>`, `<thm:open-set-construction>` Use `grep` (POSIX) / `findstr` (Windows) to extract all unique labels. ### Step 2: Parse Each Label Split each label into: - **Prefix**: the part before the first `:` (e.g. `def`, `thm`, `lem`, `cor`, `prop`, `ex`, `note`) - **Name**: the kebab-case part after the `:` (e.g. `limit-of-sequence-of-sets`) - **Display Name**: convert kebab-case to Title Case with spaces - Replace `-` with ` ` - Capitalize first letter of each word - Example: `limit-of-sequence-of-sets` → `Limit of a Sequence of Sets` ### Step 3: Organize Alphabetically Group entries by the **first letter** of the Display Name (uppercase A-Z). For each letter group, sort entries alphabetically. ### Step 4: Generate Glossary Content Generate the following structure at the end of the file: ```typst #part("Appendix") = Glossary == A - *#link(<def:...>)[Display Name]* - *#link(<thm:...>)[Display Name]* == B - ... ``` Rules: - Use `== <Letter>` for each letter heading - Use `- *#link(<tag>)[Display Name]*` for each entry (bullet + link) - Skip letters that have no entries - Delete any existing glossary content between `#part("Appendix")` and the end of file before inserting the new one ### Step 5: Verify Compile the file after insertion: ```bash typst compile "<subject>/initial.typ" "<subject>/initial.pdf" --root . ```
Auf GitHub ansehen