Skip to content

sang-math:1.0.0#5240

Open
sangnhc87 wants to merge 1 commit into
typst:mainfrom
sangnhc87:sang-math-1.0.0
Open

sang-math:1.0.0#5240
sangnhc87 wants to merge 1 commit into
typst:mainfrom
sangnhc87:sang-math-1.0.0

Conversation

@sangnhc87

Copy link
Copy Markdown

Conictypst's comprehensive math macros for Vietnamese High School Mathematics.

@typst-package-check typst-package-check Bot changed the title Add sang-math 1.0.0 sang-math:1.0.0 Jul 3, 2026
@typst-package-check typst-package-check Bot added the new A new package submission. label Jul 3, 2026
@sangnhc87 sangnhc87 mentioned this pull request Jul 4, 2026
2 tasks
@saecki

saecki commented Jul 6, 2026

Copy link
Copy Markdown
Member

Thanks for this package. Usually there is a PR template, could you please fill it in, especially the package name explanation:

<!--
Thanks for submitting a package! Please read and follow the submission guidelines detailed in the repository's README and check the boxes below. Please name your PR as `name:version` of the submitted package.

If you want to make a PR for something other than a package submission, just delete all this and make a plain PR.
-->

I am submitting
- [ ] a new package
- [ ] an update for a package

<!--
Please add a brief description of your package below and explain why you think it is useful to others. If this is an update, please briefly say what changed.
-->

Description: Explain what the package does and why it's useful.

<!--
These things need to be checked for a new submission to be merged. If you're just submitting an update, you can delete the following section.
-->

I have read and followed the submission guidelines and, in particular, I
- [ ] selected a name that isn't the most obvious or canonical name for what the package does
- [ ] added a `typst.toml` file with all required keys
- [ ] added a `README.md` with documentation for my package
- [ ] have chosen a license and added a `LICENSE` file or linked one in my `README.md`
- [ ] tested my package locally on my system and it worked
- [ ] `exclude`d PDFs or README images, if any, but not the LICENSE

<!--
The following box only needs to be checked for **template** submissions. If you're submitting a package that isn't a template, you can delete the following section. See the guidelines section about licenses in the README for more details.
-->
- [ ] ensured that my package is licensed such that users can use and distribute the contents of its template directory without restriction, after modifying them through normal use.

@sangnhc87

Copy link
Copy Markdown
Author

Hi @saecki, sorry for missing the PR template initially! Here is the completely filled PR template with a detailed description of the package's capabilities and the explanation for the package name:

I am submitting

  • a new package
  • an update for a package

Description:
sang-math is a comprehensive toolkit and macro library designed primarily for typesetting high school mathematics (focusing on the Vietnamese educational curriculum - Toán THPT) and general mathematical documents.

It provides not just macros, but a complete suite of document templates that users can invoke out-of-the-box:

  1. Exam Templates (exam-preset): Highly customizable exam paper layouts featuring 18+ beautiful built-in color themes. It supports multiple output profiles from a single source file:
    • profile: "dethi": Standard exam paper for students.
    • profile: "loigiai": Exam paper with integrated step-by-step solutions and an automatically generated Answer Key table at the end.
    • profile: "compact": Two-column layout for saving paper.
    • profile: "draft": Adds a scratch workspace/drafting column next to each question.
    • profile: "beamer": Strips out print headers/footers to seamlessly transition the content into presentation slides.
  2. Advanced Math Macros:
    • bbtv2 / bbbt: Macros for beautifully rendering function variation tables (bảng biến thiên) effortlessly.
    • bxd: Macros for sign charts (bảng xét dấu).
    • Macros for typesetting Multiple-Choice Questions (tn) with customizable option labels (circles, hexagons, solid badges, etc.) and Essay/Short-answer questions (tl).
  3. Geometry: Wrappers around CeTZ for drawing common geometric figures (e.g., standard triangles, cones, spheres).
  4. Math Symbols: Convenient shortcuts for commonly used mathematical notations.

Why it's useful:
It drastically reduces the boilerplate required for teachers, tutors, and content creators to typeset high-quality, professional-looking math exams, books, and study materials. It standardizes the workflow from writing exam drafts to creating final print materials and presentation slides.

Package Name Explanation:
The package name sang-math combines my personal name (sang from Sang Nguyen) and the package's primary domain (math). It avoids generic or canonical names like math-exam, vietnam-math, or high-school-math while remaining clear about its purpose and identity, strictly adhering to the Typst package naming guidelines.

I have read and followed the submission guidelines and, in particular, I

  • selected a name that isn't the most obvious or canonical name for what the package does
  • added a typst.toml file with all required keys
  • added a README.md with documentation for my package
  • have chosen a license and added a LICENSE file or linked one in my README.md
  • tested my package locally on my system and it worked
  • excluded PDFs or README images, if any, but not the LICENSE
  • ensured that my package is licensed such that users can use and distribute the contents of its template directory without restriction, after modifying them through normal use.

@saecki saecki left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

compiler = "0.11.0"
authors = ["Sang Nguyen <sangnhc87@gmail.com>"]
license = "MIT"
description = "Bộ macro Toán THPT – BBT, Bảng xét dấu, Trắc nghiệm, Tự luận, Hình học CeTZ"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you either also add an english description, or replace the current description with an english one?

@@ -0,0 +1,208 @@
# sang-math

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is generally appreciated to have at least an introduction sentence in English, even if the target audience for the template is not native English speakers. This allows the broader Typst community to get an idea of what the package is about and make sure that it isn't of interest to them.

@sangnhc87

Copy link
Copy Markdown
Author

Hi @saecki, sorry for missing the PR template initially! Here is the completely filled PR template with a detailed description of the package's capabilities and the explanation for the package name:

I am submitting

  • a new package
  • an update for a package

Description:
sang-math is a comprehensive toolkit and macro library designed primarily for typesetting high school mathematics (focusing on the Vietnamese educational curriculum - Toán THPT) and general mathematical documents.

It provides not just macros, but a complete suite of document templates that users can invoke out-of-the-box:

  1. Exam Templates (exam-preset): Highly customizable exam paper layouts featuring 18+ beautiful built-in color themes. It supports multiple output profiles from a single source file:
    • profile: "dethi": Standard exam paper for students.
    • profile: "loigiai": Exam paper with integrated step-by-step solutions and an automatically generated Answer Key table at the end.
    • profile: "compact": Two-column layout for saving paper.
    • profile: "draft": Adds a scratch workspace/drafting column next to each question.
    • profile: "beamer": Strips out print headers/footers to seamlessly transition the content into presentation slides.
  2. Advanced Math Macros:
    • bbtv2 / bbbt: Macros for beautifully rendering function variation tables (bảng biến thiên) effortlessly.
    • bxd: Macros for sign charts (bảng xét dấu).
    • Macros for typesetting Multiple-Choice Questions (tn) with customizable option labels (circles, hexagons, solid badges, etc.) and Essay/Short-answer questions (tl).
  3. Geometry: Wrappers around CeTZ for drawing common geometric figures (e.g., standard triangles, cones, spheres).
  4. Math Symbols: Convenient shortcuts for commonly used mathematical notations.

Why it's useful:
It drastically reduces the boilerplate required for teachers, tutors, and content creators to typeset high-quality, professional-looking math exams, books, and study materials. It standardizes the workflow from writing exam drafts to creating final print materials and presentation slides.

Package Name Explanation:
The package name sang-math combines my personal name (sang from Sang Nguyen) and the package's primary domain (math). It avoids generic or canonical names like math-exam, vietnam-math, or high-school-math while remaining clear about its purpose and identity, strictly adhering to the Typst package naming guidelines.

I have read and followed the submission guidelines and, in particular, I

  • selected a name that isn't the most obvious or canonical name for what the package does
  • added a typst.toml file with all required keys
  • added a README.md with documentation for my package
  • have chosen a license and added a LICENSE file or linked one in my README.md
  • tested my package locally on my system and it worked
  • excluded PDFs or README images, if any, but not the LICENSE
  • ensured that my package is licensed such that users can use and distribute the contents of its template directory without restriction, after modifying them through normal use.

@sangnhc87

Copy link
Copy Markdown
Author

Done. I updated the package description in English and added an English introduction to the README. Thanks for the review!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new A new package submission.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants