<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Math on OHTLY Blog</title>
    <link>https://blog.ohtly.com/tags/math/</link>
    <description>Recent content in Math on OHTLY Blog</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Wed, 08 Jul 2026 19:21:01 +0800</lastBuildDate>
    <atom:link href="https://blog.ohtly.com/tags/math/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>给 Hugo 博客加上数学公式渲染</title>
      <link>https://blog.ohtly.com/posts/2026-07-08-hugo-katex/</link>
      <pubDate>Wed, 08 Jul 2026 19:17:00 +0800</pubDate>
      <guid>https://blog.ohtly.com/posts/2026-07-08-hugo-katex/</guid>
      <description>&lt;h2 id=&#34;问题&#34;&gt;&#xA;  问题&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e9%97%ae%e9%a2%98&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://blog.ohtly.com/posts/2026-07-08-markdown-math-to-pdf/&#34; &gt;macOS 下 Markdown 数学公式正确转 PDF&lt;/a&gt;讲了怎么把 Markdown 导出为带公式的 PDF。但博客本身也要能显示公式，不能让读者看到一坨 &lt;code&gt;$$...$$&lt;/code&gt; 原始代码。&lt;/p&gt;&#xA;&lt;h2 id=&#34;hugo-coder-主题已内置-katex&#34;&gt;&#xA;  Hugo Coder 主题已内置 KaTeX&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#hugo-coder-%e4%b8%bb%e9%a2%98%e5%b7%b2%e5%86%85%e7%bd%ae-katex&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;主题目录下已有 &lt;code&gt;layouts/_partials/posts/math.html&lt;/code&gt;，加载 KaTeX v0.16.4（CSS + JS + auto-render），支持四种定界符：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;定界符&lt;/th&gt;&#xA;          &lt;th&gt;类型&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;$$...$$&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;块级公式&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;$...$&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;行内公式&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;\(...\)&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;行内公式&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;\[...\]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;块级公式&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;激活方式&#34;&gt;&#xA;  激活方式&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e6%bf%80%e6%b4%bb%e6%96%b9%e5%bc%8f&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;方式一文章级启用推荐&#34;&gt;&#xA;  方式一：文章级启用（推荐）&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e6%96%b9%e5%bc%8f%e4%b8%80%e6%96%87%e7%ab%a0%e7%ba%a7%e5%90%af%e7%94%a8%e6%8e%a8%e8%8d%90&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;在文章 frontmatter 中加一行：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;math&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;当前文章的公式就是通过这种方式渲染的。只对单篇文章生效，不拖慢其他页面。&lt;/p&gt;&#xA;&lt;h3 id=&#34;方式二站点级启用&#34;&gt;&#xA;  方式二：站点级启用&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e6%96%b9%e5%bc%8f%e4%ba%8c%e7%ab%99%e7%82%b9%e7%ba%a7%e5%90%af%e7%94%a8&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;在 &lt;code&gt;hugo.toml&lt;/code&gt; 的 &lt;code&gt;[params]&lt;/code&gt; 中添加：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;params&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;math&lt;/span&gt; = &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;所有页面都会加载 KaTeX，方便但会增加不必要的请求。&lt;/p&gt;</description>
    </item>
    <item>
      <title>macOS 下 Markdown 数学公式正确转 PDF</title>
      <link>https://blog.ohtly.com/posts/2026-07-08-markdown-math-to-pdf/</link>
      <pubDate>Wed, 08 Jul 2026 18:48:00 +0800</pubDate>
      <guid>https://blog.ohtly.com/posts/2026-07-08-markdown-math-to-pdf/</guid>
      <description>&lt;h2 id=&#34;问题&#34;&gt;&#xA;  问题&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e9%97%ae%e9%a2%98&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Markdown 里用 &lt;code&gt;$$&lt;/code&gt; 写好的 LaTeX 数学公式：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-latex&#34; data-lang=&#34;latex&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;$$&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;\nabla \cdot \mathbf{E} &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; \frac{\rho}{\varepsilon_&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;$$&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;期望渲染效果：&lt;/p&gt;&#xA;&lt;p&gt;$$&#xA;\nabla \cdot \mathbf{E} = \frac{\rho}{\varepsilon_0}&#xA;$$&lt;/p&gt;&#xA;&lt;p&gt;但转 PDF 时，要么公式显示为原始代码，要么中文字体缺失乱码。本文记录 macOS 下的可行方案。&lt;/p&gt;&#xA;&lt;h2 id=&#34;方案一pandoc--xelatex不推荐&#34;&gt;&#xA;  方案一：Pandoc + XeLaTeX（不推荐）&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e6%96%b9%e6%a1%88%e4%b8%80pandoc--xelatex%e4%b8%8d%e6%8e%a8%e8%8d%90&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;brew install basictex&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pandoc file.md -o file.pdf --pdf-engine&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;xelatex -V mainfont&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;PingFang SC&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;公式渲染效果没问题，但输出风格偏 TeX 传统——标题字体、表格样式、公式间距都与现代文档有明显差异，不够美观。&lt;/p&gt;&#xA;&lt;h2 id=&#34;推荐方案pandoc--mathjax--puppeteer&#34;&gt;&#xA;  推荐方案：Pandoc + MathJax + Puppeteer&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e6%8e%a8%e8%8d%90%e6%96%b9%e6%a1%88pandoc--mathjax--puppeteer&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;核心思路：用 Pandoc 生成带 MathJax CDN 的 HTML，再用 Puppeteer（Headless Chrome）渲染出 PDF。输出样式完全由 CSS 控制。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
